Resolución de sistemas lineales
• lsolve(M, v): Permite devolver la solución x para el sistema lineal de ecuaciones M·x = v, mediante la factorización LU.
Argumentos
• M es una matriz real o compleja. Si la matriz es cuadrada, debe ser no singular.
• v es un vector o matriz real o complejo con el mismo número de filas que M.
Información adicional
• Una matriz es singular si el determinante es 0. Es casi singular si tiene un número de condición alto. Estas condiciones hacen difícil calcular la matriz inversa utilizada para resolver el problema. La función lsolve puede fallar o puede producir resultados sin sentido en estos casos. Es posible que desee utilizar otras descomposiciones para las matrices casi singulares.
• La función lsolve se basa en una rutina del libro Press, W. H., et. al., Numerical Recipes in C: The Art of Scientific Computing, segunda edición, Cambridge University Press, Cambridge, 1992. Para la factorización LU se utilizan las bibliotecas BLAS/LAPACK de Intel.
• Para comprobar si un sistema tiene una única solución, verifique si rank(M) = cols(M), es decir, si todas las columnas de M son independientes linealmente.
• Se puede utilizar la inversión de matrices directamente para resolver este tipo de sistema, pero lsolve es más rápido y, en algunos casos, más preciso. Para resolver un sistema lineal de ecuaciones de notación natural, se puede utilizar un bloque de resolución.
• En el caso de un sistema incoherente de ecuaciones, lsolve devuelve la solución de mínimos cuadrados, también obtenida con geninv(M)·v.
• En el caso de los valores de matriz de v, lsolve(M, v<i>) devuelve la columna i de geninv(M)·v.