CxLU
Advanced Analysis Library Only
AnalysisLibErrType CxLU (void *matrix, ssize_t matrixSize, ssize_t permutationVector[], int *sign);
Purpose
Performs an LU decomposition on the complex, square matrix A:
PA = LU
where | L is a matrixSize-by-matrixSize lower triangular matrix with all diagonal elements equal to one |
U is an upper triangular matrix | |
permutationVector is an identity matrix with some rows exchanged based on the information in the permutation vector |
On output, the U matrix occupies the upper triangular part of the input matrix, including the diagonal elements, and the L matrix occupies the lower part.
Parameters
Input | ||
Name | Type | Description |
matrixSize | ssize_t | The number of rows and columns in the square input matrix and the number of elements in the permutation vector. |
Output | ||
Name | Type | Description |
matrix | void * | On input, the square matrix to factorize. On output, the LU factorized matrix. matrix must be an array of ComplexNum. The following C typedef statement defines the ComplexNum structure: typedef struct { double real; double imaginary; } ComplexNum; |
permutationVector | ssize_t [] | The row permutation information: row i of A was interchanged with row p[i] of A. |
sign | int | Row exchange indicator. sign = 0 indicates that there is no such exchange or that there is an even number of such exchanges. sign = 1 indicates that there is an odd number of such exchanges. |
Return Value
Name | Type | Description |
status | AnalysisLibErrType | A value that specifies the type of error that occurred. Refer to analysis.h for definitions of these constants. |
Additional Information
Library: Advanced Analysis Library
Include file: analysis.h
LabWindows/CVI compatibility: LabWindows/CVI 5.0 and later