back substitution on a matrix
backsub(U, b, v)
row reduced matrix
vector or matrix
Important: The linalg package has been deprecated. Use the superseding packages, LinearAlgebra and VectorCalculus, instead.
- For information on migrating linalg code to the new packages, see examples/LinearAlgebraMigration.
backsub generates a solution vector x to the equation U⁢x=b.
If b is omitted, or b is 'false' then U is assumed to be an augmented matrix and the last column of U is used in place of b.
If b is a matrix, then x (the solution) will also be a matrix with the same number of columns.
If U is the result of applying forward Gaussian elimination to the augmented matrix of a system of linear equations, as might be obtained from gausselim or gaussjord, backsub completes the solution by back substitution. If a solution exists, it is returned as a vector. If no solution exists, an error will be generated.
If the solution is not unique, it will be parameterized in terms of the symbols v, v, ..., etc. or v[1,k],v[2,k], ... as in the case where b is a matrix. If the third argument v is not specified, the global variable _t will be used.
The input matrix must be in row-echelon form with all zero rows grouped at bottom. Such a matrix is produced by applying gausselim or gaussjord to the augmented matrix of a system of linear equations or by obtaining the LU decomposition.
The command with(linalg,backsub) allows the use of the abbreviated form of this command.
A ≔ randmatrix⁡3,4:
F ≔ gausselim⁡A
H ≔ 1232131−10:
v ≔ 121:
A ≔ augment⁡H,v
F ≔ gaussjord⁡A
u ≔ LUdecomp⁡H,L='l'
e ≔ forwardsub⁡l,v
f ≔ backsub⁡u,e,'s'
evalm⁡l &* u &* f−v
Download Help Document