DSPF_sp_cholesky_cmplx
[Matrix]

Collaboration diagram for DSPF_sp_cholesky_cmplx:


Detailed Description


Modules

 DSPF_sp_cholesky_in_place_cmplx
int DSPF_sp_cholesky_cmplx (const int enable_test, const int Nrows, float *restrict A, float *restrict L)
int DSPF_sp_cholesky_in_place_cmplx (const int enable_test, const int Nrows, float *restrict A)
int DSPF_sp_cholesky_solver_cmplx (const int Nrows, float *restrict L, float *restrict y, float *restrict b, float *restrict x)


Function Documentation

int DSPF_sp_cholesky_cmplx ( const int  enable_test,
const int  Nrows,
float *restrict  A,
float *restrict  L 
)

This function tests the square complex matrix A for a symmetric positive definite and decomposes the matrix A into a lower triangular matrix L where A=L*U and U=Hermitian 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
Nrows = Nrows of square matrix A
A = pointer to square matrix A[Nrows*2*Nrows]
L = pointer to lower triangular matrix L[Nrows*2*Nrows]
Algorithm:
DSPF_sp_cholesky_cmplx_cn.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:
1 .The arrays A and L are stored in distinct arrays. In-place processing is not allowed.
2. The arrays consist of complex number entries with alternating real and imaginary parts: real0,imag0,real1,imag1,...
Implementation Notes:
Interruptibility : The code is interruptible.
Endian support : supports both Little and Big endian modes.

int DSPF_sp_cholesky_in_place_cmplx ( const int  enable_test,
const int  Nrows,
float *restrict  A 
)

This function tests the square matrix A for a symmetric positive definite and decomposes the square 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 float 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
Nrows = Nrows of square matrix A
A = pointer to input square matrix A[Nrows*2*Nrows] and output matrix L[Nrows*2*Nrows]
Algorithm:
DSPF_sp_cholesky_cmplx_cn.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:
1. In-place processing is done on the matrix A.
2. The arrays consist of complex number entries with alternating real and imaginary parts: real0,imag0,real1,imag1,...
Implementation Notes:
Interruptibility : The code is interruptible.
Endian support : supports both Little and Big endian modes.

int DSPF_sp_cholesky_solver_cmplx ( const int  Nrows,
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 float 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:
Nrows = Nrows of square matrix A
L = pointer to input square matrix A[Nrows*2*Nrows]
y = pointer to intermediate vector y[2*Nrows]
b = pointer to input vector b[2*Nrows]
x = pointer to output vector x[2*Nrows]
Algorithm:
DSPF_sp_cholesky_cmplx_cn.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:
1. The decomposed lower triangular matrix L is available as input.
2. The arrays consist of complex number entries with alternating real and imaginary parts: real0,imag0,real1,imag1,...
Implementation Notes:
Interruptibility : The code is interruptible.
Endian support : supports both Little and Big endian modes.


Copyright 2014, Texas Instruments Incorporated