# DSPF_dp_lud_solver_cmplx [Matrix]

Collaboration diagram for DSPF_dp_lud_solver_cmplx:

## Detailed Description

 int DSPF_dp_lud_solver_cmplx (const int order, unsigned short *restrict P, double *restrict L, double *restrict U, double *restrict b, double *restrict b_mod, double *restrict y, double *restrict x)

## Function Documentation

 int DSPF_dp_lud_solver_cmplx ( const int order, unsigned short *restrict P, double *restrict L, double *restrict U, double *restrict b, double *restrict b_mod, double *restrict y, double *restrict x )

This function solves the system of linear equations A*x=b for x using the inputs produced by DSPF_dp_lud where A*x=transpose(P)*L*U*x=b. The following procedure is performed.

1. Modify b using permutation matrix: b_mod = L*U*x = P*b
2. Use forward substitution to solve for y: y = U*x = inv(L)*b_mod
3. Use backward substitution for solve for x: x = inv(U)*y

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:
 Nrows = number of rows in square complex matrix A P = pointer to permutation matrix P[Nrows*Nrows] L = pointer to lower triangular matrix complex L[2*Nrows*Nrows] U = pointer to upper triangular matrix complex U[2*Nrows*Nrows] b = pointer to complex vector b[2*Nrows] b_mod = pointer to modified complex vector b_mod[2*Nrows] y = pointer to temporary complex vector y[2*Nrows] x = pointer to final solver output complex vector x[2*Nrows]
Algorithm:
DSPF_dp_lud_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:
1. The arrays P, L, U, and inv_A are stored in distinct arrays. In-place processing is not done.
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