Funzioni > Soluzione e ottimizzazione > Risolutori di radici e sistemi lineari > Soluzione di sistemi lineari
  
Soluzione di sistemi lineari
lsolve(M, v) - Restituisce la soluzione x per il sistema lineare di equazioni M·x = v utilizzando la fattorizzazione LU.
Argomenti
M è una matrice reale o complessa. Se la matrice è quadrata, deve essere non singolare.
v è un vettore o una matrice reale o complessa con lo stesso numero di righe di M.
Ulteriori informazioni
Una matrice è singolare se il determinante è 0. È quasi singolare se ha un numero di condizioni elevato. Queste condizioni rendono difficile calcolare la matrice inversa utilizzata per risolvere il problema. In questi casi, la funzione lsolve può non riuscire o può produrre risultati privi di senso. Per le matrici quasi singolari è consigliabile utilizzare altre scomposizioni.
La funzione lsolve è basata su una routine illustrata nel testo di Press, W. H., et. al., Numerical Recipes in C: The Art of Scientific Computing, second ed., Cambridge University Press, Cambridge, 1992. Per la fattorizzazione LU vengono utilizzate le librerie BLAS/LAPACK di Intel.
Per stabilire se un sistema ha una soluzione univoca è possibile verificare se rank(M) = cols(M), ovvero se tutte le colonne di M sono linearmente indipendenti.
Per risolvere questo tipo di sistema è possibile utilizzare direttamente l'inversione della matrice, ma la funzione lsolve è più rapida e, in alcuni casi, più accurata. Per risolvere un sistema lineare di equazioni in notazione naturale, è possibile utilizzare un blocco di soluzione.
Se il sistema di equazioni è incoerente, lsolve restituisce la soluzione dei minimi quadrati, data anche da geninv(M)·v.
Se la matrice ha valore v, lsolve(M, v<i>) restituisce l'i-esima colonna di geninv(M)·v.