DSPF_sp_cholesky
[Matrix]

Collaboration diagram for DSPF_sp_cholesky:


Detailed Description


Modules

 DSPF_sp_cholesky_in_place
int DSPF_sp_cholesky (const int enable_test, const int order, float *restrict A, float *restrict L)
int DSPF_sp_cholesky_in_place (const int enable_test, const int order, float *restrict A)
int DSPF_sp_cholesky_solver (const int order, float *restrict L, float *restrict y, float *restrict b, float *restrict x)


Function Documentation

int DSPF_sp_cholesky ( const int  enable_test,
const int  order,
float *restrict  A,
float *restrict  L 
)

This function tests the matrix A for a symmetric positive definite and decomposes the matrix A into a lower triangular matrix L where A=L*U and U=transpose of L. The values stored in the matrices are assumed to be single precision floating-point values. This code is suitable for dense matrices. No optimizations are made for sparse matrices.

Parameters:
enable_test = enables test for symmetric positive definite matrix
order = order of matrix A
A = pointer to matrix A
L = pointer to lower triangular matrix L
Algorithm:
DSPF_sp_cholesky.c is the natural C equivalent of the optimized intrinsic C code without restrictions. Note that the intrinsic C code is optimized and restrictions may apply.
Assumptions:
The arrays A and L are stored in distinct arrays. In-place processing is not allowed.
Implementation Notes:
Interruptibility : The code is interruptible.
Endian support : supports both Little and Big endian modes.

int DSPF_sp_cholesky_in_place ( const int  enable_test,
const int  order,
float *restrict  A 
)

This function tests the matrix A for a symmetric positive definite and decomposes the matrix A into a lower triangular matrix L where A=L*U and U=transpose of L. The processing is done in place of the matrix A. The values stored in the matrices are assumed to be single precision floating point values. This code is suitable for dense matrices. No optimizations are made for sparse matrices.

Parameters:
enable_test = enables test for symmetric positive definite matrix
order = order of matrix A
A = pointer to input matrix A and output matrix L
Algorithm:
DSPF_sp_cholesky_in_place.c is the natural C equivalent of the optimized intrinsic C code without restrictions. Note that the intrinsic C code is optimized and restrictions may apply.
Assumptions:
In-place processing is done on the matrix A.
Implementation Notes:
Interruptibility : The code is interruptible.
Endian support : supports both Little and Big endian modes.

int DSPF_sp_cholesky_solver ( const int  order,
float *restrict  L,
float *restrict  y,
float *restrict  b,
float *restrict  x 
)

This function solves A*x=b for x using forward and backward substitution using the decomposed lower triangular matrix L as shown in the following steps. The values stored in the matrices are assumed to be single precision floating point values. 1. A*x = L*U*b = L*L_transpose*x = b 2. y = inverse(L)*b - done using forward substitution 3. x = inverse(L_transpose)*y - done using backward substitution

Parameters:
order = order of matrix A
L = pointer to input matrix
y = pointer to intermediate vector
b = pointer to input vector
x = pointer to output vector
Algorithm:
DSPF_sp_solver.c is the natural C equivalent of the optimized intrinsic C code without restrictions. Note that the intrinsic C code is optimized and restrictions may apply.
Assumptions:
The decomposed lower triangular matrix L is available as input.
Implementation Notes:
Interruptibility : The code is interruptible.
Endian support : supports both Little and Big endian modes.


Copyright 2014, Texas Instruments Incorporated