Accelerating the pace of engineering and science

# Cholesky Solver

Solve SX=B for X when S is square Hermitian positive definite matrix

## Library

Math Functions / Matrices and Linear Algebra / Linear System Solvers

dspsolvers

## Description

The Cholesky Solver block solves the linear system SX=B by applying Cholesky factorization to input matrix at the S port, which must be square (M-by-M) and Hermitian positive definite. Only the diagonal and upper triangle of the matrix are used, and any imaginary component of the diagonal entries is disregarded. The input to the B port is the right side M-by-N matrix, B. The M-by-N output matrix X is the unique solution of the equations.

A length-M vector input for right side B is treated as an M-by-1 matrix.

### Response to Nonpositive Definite Input

When the input is not positive definite, the block reacts with the behavior specified by the Non-positive definite input parameter. The following options are available:

• Ignore — Proceed with the computation and do not issue an alert. The output is not a valid solution.

• Warning — Proceed with the computation and display a warning message in the MATLAB® Command Window. The output is not a valid solution.

• Error — Display an error dialog box and terminate the simulation.

 Note   The Non-positive definite input parameter is a diagnostic parameter. Like all diagnostic parameters on the Configuration Parameters dialog box, it is set to Ignore in the code generated for this block by Simulink® Coder™ code generation software.

## Algorithm

Cholesky factorization uniquely factors the Hermitian positive definite input matrix S as

$S=L{L}^{\ast }$

where L is a lower triangular square matrix with positive diagonal elements.

The equation SX=B then becomes

$L{L}^{\ast }X=B$

which is solved for X by making the substitution $Y={L}^{\ast }X$, and solving the following two triangular systems by forward and backward substitution, respectively.

$LY=B$

${L}^{\ast }X=Y$

## Dialog Box

Non-positive definite input

Response to nonpositive definite matrix inputs: Ignore, Warning, or Error. See Response to Nonpositive Definite Input.

## Supported Data Types

• Double-precision floating point

• Single-precision floating point