v 为与 M 行数相同的实数或复数的矢量或矩阵。
如果矩阵的行列式为 0,则该矩阵为奇异矩阵。如果矩阵具有很大的条件数,则为近似奇异矩阵。因为存在这些条件,所以计算用于求解问题的逆矩阵会很困难。这种情况下, lsolve 函数可能会失效,或者产生无效结果。这时可对近似奇异矩阵使用其他分解法。
lsolve 函数是基于来自以下书籍的例程: Press, W. H., et. al., Numerical Recipes in C: The Art of Scientific Computing, second ed., Cambridge University Press, Cambridge, 1992 。Intel 的 BLAS/LAPACK 库可用于 LU 因式分解。
您可以检查方程组是否具有唯一解,方法为检查 rank(M) = cols(M) 是否成立,即检查 M 的所有列是否线性无关。
可直接使用矩阵求逆来求解此类方程组,但是使用 lsolve 会更快,并且在某些情况下,会获得更为准确的结果。要求解用自然符号表示的线性方程组,可使用求解命令块。
如果方程组存在不一致,则 lsolve geninv(M)·v 都会返回最小二乘解。
对于 v 的矩阵值, lsolve(M, v <i> ) 返回 geninv(M)·v 的第 i 列。