CMSIS-DSP  
CMSIS DSP Software Library
Cholesky and LDLT decompositions

Functions

arm_status arm_mat_cholesky_f16 (const arm_matrix_instance_f16 *pSrc, arm_matrix_instance_f16 *pDst)
 Floating-point Cholesky decomposition of positive-definite matrix. More...
 
arm_status arm_mat_cholesky_f32 (const arm_matrix_instance_f32 *pSrc, arm_matrix_instance_f32 *pDst)
 Floating-point Cholesky decomposition of positive-definite matrix. More...
 
arm_status arm_mat_cholesky_f64 (const arm_matrix_instance_f64 *pSrc, arm_matrix_instance_f64 *pDst)
 Floating-point Cholesky decomposition of positive-definite matrix. More...
 
arm_status arm_mat_ldlt_f32 (const arm_matrix_instance_f32 *pSrc, arm_matrix_instance_f32 *pl, arm_matrix_instance_f32 *pd, uint16_t *pp)
 Floating-point LDL^t decomposition of positive semi-definite matrix. More...
 
arm_status arm_mat_ldlt_f64 (const arm_matrix_instance_f64 *pSrc, arm_matrix_instance_f64 *pl, arm_matrix_instance_f64 *pd, uint16_t *pp)
 Floating-point LDL^t decomposition of positive semi-definite matrix. More...
 

Description

Computes the Cholesky or LL^t decomposition of a matrix.

If the input matrix does not have a decomposition, then the algorithm terminates and returns error status ARM_MATH_DECOMPOSITION_FAILURE.

Function Documentation

◆ arm_mat_cholesky_f16()

arm_status arm_mat_cholesky_f16 ( const arm_matrix_instance_f16 pSrc,
arm_matrix_instance_f16 pDst 
)

Floating-point Cholesky decomposition of Symmetric Positive Definite Matrix.

Parameters
[in]pSrcpoints to the instance of the input floating-point matrix structure.
[out]pDstpoints to the instance of the output floating-point matrix structure.
Returns
The function returns ARM_MATH_SIZE_MISMATCH, if the dimensions do not match.
execution status
If the matrix is ill conditioned or only semi-definite, then it is better using the LDL^t decomposition. The decomposition of A is returning a lower triangular matrix U such that A = L L^t

◆ arm_mat_cholesky_f32()

arm_status arm_mat_cholesky_f32 ( const arm_matrix_instance_f32 pSrc,
arm_matrix_instance_f32 pDst 
)

Floating-point Cholesky decomposition of Symmetric Positive Definite Matrix.

Parameters
[in]pSrcpoints to the instance of the input floating-point matrix structure.
[out]pDstpoints to the instance of the output floating-point matrix structure.
Returns
The function returns ARM_MATH_SIZE_MISMATCH, if the dimensions do not match.
execution status
If the matrix is ill conditioned or only semi-definite, then it is better using the LDL^t decomposition. The decomposition of A is returning a lower triangular matrix L such that A = L L^t

◆ arm_mat_cholesky_f64()

arm_status arm_mat_cholesky_f64 ( const arm_matrix_instance_f64 pSrc,
arm_matrix_instance_f64 pDst 
)

Floating-point Cholesky decomposition of Symmetric Positive Definite Matrix.

Parameters
[in]pSrcpoints to the instance of the input floating-point matrix structure.
[out]pDstpoints to the instance of the output floating-point matrix structure.
Returns
The function returns ARM_MATH_SIZE_MISMATCH, if the dimensions do not match.
execution status
If the matrix is ill conditioned or only semi-definite, then it is better using the LDL^t decomposition. The decomposition of A is returning a lower triangular matrix L such that A = L L^t

◆ arm_mat_ldlt_f32()

arm_status arm_mat_ldlt_f32 ( const arm_matrix_instance_f32 pSrc,
arm_matrix_instance_f32 pl,
arm_matrix_instance_f32 pd,
uint16_t *  pp 
)

Floating-point LDL decomposition of Symmetric Positive Semi-Definite Matrix.

Parameters
[in]pSrcpoints to the instance of the input floating-point matrix structure.
[out]plpoints to the instance of the output floating-point triangular matrix structure.
[out]pdpoints to the instance of the output floating-point diagonal matrix structure.
[out]pppoints to the instance of the output floating-point permutation vector.
Returns
The function returns ARM_MATH_SIZE_MISMATCH, if the dimensions do not match.
execution status
Computes the LDL^t decomposition of a matrix A such that P A P^t = L D L^t.

◆ arm_mat_ldlt_f64()

arm_status arm_mat_ldlt_f64 ( const arm_matrix_instance_f64 pSrc,
arm_matrix_instance_f64 pl,
arm_matrix_instance_f64 pd,
uint16_t *  pp 
)

Floating-point LDL decomposition of Symmetric Positive Semi-Definite Matrix.

Parameters
[in]pSrcpoints to the instance of the input floating-point matrix structure.
[out]plpoints to the instance of the output floating-point triangular matrix structure.
[out]pdpoints to the instance of the output floating-point diagonal matrix structure.
[out]pppoints to the instance of the output floating-point permutation vector.
Returns
The function returns ARM_MATH_SIZE_MISMATCH, if the dimensions do not match.
execution status
Computes the LDL^t decomposition of a matrix A such that P A P^t = L D L^t.