LinearSolve[m, b] finds an x which solves the matrix equation m.x==b.
LinearSolve[m] generates a LinearSolveFunction[... ] which can be applied repeatedly to different b.
LinearSolve works on both numerical and symbolic matrices, as well as SparseArray objects.
The argument b can be either a vector or a matrix.
The matrix m can be square or rectangular.
LinearSolve[m] and LinearSolveFunction[... ] provide an efficient way to solve the same approximate numerical linear system many times.
LinearSolve[m, b] is equivalent to LinearSolve[m][b].
For underdetermined systems, LinearSolve will return one of the possible solutions; Solve will return a general solution.
LinearSolve[m, b, Modulus -> n] takes the matrix equation to be modulo n.
LinearSolve[m, b, ZeroTest -> test] evaluates test[ m[[i, j]] ] to determine whether matrix elements are zero. The default setting is ZeroTest -> (# == 0 &).
A Method option can also be given. Settings for exact and symbolic matrices include "CofactorExpansion", "DivisionFreeRowReduction" and "OneStepRowReduction". Settings for approximate numerical matrices include "Cholesky", and for sparse arrays "Multifrontal" and "Krylov". The default setting of Automatic switches between these methods depending on the matrix given.
See Section 3.7.8.
Implementation Notes: see Section A.9.4, Section A.9.4 and Section A.9.4.
See also: Inverse, PseudoInverse, Solve, NullSpace, CoefficientArrays, CholeskyDecomposition.
New in Version 1; modified in 5.0.