Admin Production ni-theme
Current Publication

CxLU

LabWindows/CVI

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