Linear Algebra and Least Squares
Linear Algebra Blocks
The Matrices and Linear Algebra library provides three large sublibraries containing blocks for linear algebra; Linear System Solvers, Matrix Factorizations, and Matrix Inverses. A fourth library, Matrix Operations, provides other essential blocks for working with matrices.
Linear System Solvers
The Linear System Solvers library provides the following blocks for solving the system of linear equations AX = B:
Some of the blocks offer particular strengths for certain classes of problems. For example, the Cholesky Solver block is adapted for a square Hermitian positive definite matrix A, whereas the Backward Substitution block is suited for an upper triangular matrix A.
Solve AX=B Using the LU Solver Block
ex_lusolver_tut model. The LU Solver block solves the equation Ax = b, where
and finds x to be the vector [-2 0 1]'.
You can verify the solution by using the Matrix Multiply block to perform the multiplication Ax, as shown in the following
The Matrix Factorizations library provides the following blocks for factoring various kinds of matrices:
Some of the blocks offer particular strengths for certain classes of problems. For example, the Cholesky Factorization block is suited to factoring a Hermitian positive definite matrix into triangular components, whereas the QR Factorization is suited to factoring a rectangular matrix into unitary and upper triangular components.
Factor a Matrix into Upper and Lower Submatrices Using the LU Factorization Block
ex_lufactorization_tut model. The LU Factorization block factors a matrix Ap into upper and lower triangular submatrices U and L, where Ap is row equivalent to input matrix A, where
The lower output of the LU Factorization P is the permutation index vector, which indicates that the factored matrix Ap is generated from A by interchanging the first and second rows.
The upper output of the LU Factorization LU is a composite matrix containing the two submatrix factors U and L whose product LU is equal to Ap.
You can check that LU = Ap with the Matrix Multiply block, as shown in the following
The Matrix Inverses library provides the following blocks for inverting various kinds of matrices:
Find the Inverse of a Matrix Using the LU Inverse Block
ex_luinverse_tut model. The LU Inverse block computes the inverse of input matrix A, where
and then forms the product inv(A)*A, which yields the identity matrix of order 3, as expected.
As shown above, the computed inverse is