Accelerating the pace of engineering and science

# Documentation

## 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 particularly adapted for a square Hermitian positive definite matrix A, whereas the Backward Substitution block is particularly suited for an upper triangular matrix A.

#### Solve AX=B Using the LU Solver Block

In the following ex_lusolver_tutex_lusolver_tut model, the LU Solver block solves the equation Ax = b, where

$A=\left[\begin{array}{ccc}1& -2& 3\\ 4& 0& 6\\ 2& -1& 3\end{array}\right]\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}b=\left[\begin{array}{c}1\\ -2\\ -1\end{array}\right]$

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 ex_matrixmultiply_tut1ex_matrixmultiply_tut1 model.

### Matrix Factorizations

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 particularly suited to factoring a Hermitian positive definite matrix into triangular components, whereas the QR Factorization is particularly 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

In the following ex_lufactorization_tutex_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.

${A}_{p}=\left[\begin{array}{ccc}4& 0& 6\\ 1& -2& 3\\ 2& -1& 3\end{array}\right]$

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.

$U=\left[\begin{array}{ccc}4& 0& 6\\ 0& -2& 1.5\\ 0& 0& -0.75\end{array}\right]\text{​}\text{​}\text{​}\text{​}\text{​}\text{​}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}L=\left[\begin{array}{ccc}1& 0& 0\\ 0.25& 1& 0\\ 0.5& 0.5& 1\end{array}\right]$

You can check that LU = Ap with the Matrix Multiply block, as shown in the following ex_matrixmultiply_tut2ex_matrixmultiply_tut2 model.

### Matrix Inverses

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

In the following ex_luinverse_tutex_luinverse_tut model, the LU Inverse block computes the inverse of input matrix A, where

$A=\left[\begin{array}{ccc}1& -2& 3\\ 4& 0& 6\\ 2& -1& 3\end{array}\right]$

and then forms the product A-1A, which yields the identity matrix of order 3, as expected.

As shown above, the computed inverse is

${A}^{-1}=\left[\begin{array}{ccc}-1& -0.5& 2\\ 0& 0.5& -1\\ 0.6667& 0.5& -1.333\end{array}\right]$