DSPF_dp_lud
[Matrix]

Collaboration diagram for DSPF_dp_lud:


Detailed Description

int DSPF_dp_lud (const int order, double *restrict A, double *restrict L, double *restrict U, unsigned short *restrict P)


Function Documentation

int DSPF_dp_lud ( const int  order,
double *restrict  A,
double *restrict  L,
double *restrict  U,
unsigned short *restrict  P 
)

This function decomposes the square matrix A into a lower triangular matrix L, upper triangular matrix U, and a permutation matrix P where A=transpose(P)*L*U. The band Gaussian elimination outer product algorithm is used. The permutation matrix P keeps track of the reordering of rows in the A matrix such that the first element of the permuted matrix is maximum and nonzero. The values stored in the matrices are assumed to be double precision floating point values. This code is suitable for dense matrices. No optimizations are made for sparse matrices.

Parameters:
order = order of matrix A
A = pointer to matrix A[order*order]
L = pointer to lower triangular matrix L[order*order]
U = pointer to upper triangular matrix U[order*order]
P = pointer to permutation matrix P[order*order]
Algorithm:
DSPF_dp_lud_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:
The arrays A, L, U, and P 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.


Copyright 2014, Texas Instruments Incorporated