LU factorization of a matrix of type Complex.

Namespace: Imsl.Math
Assembly: ImslCS (in ImslCS.dll) Version: 6.5.0.0

Syntax

C#
[SerializableAttribute]
public class ComplexLU
Visual Basic (Declaration)
<SerializableAttribute> _
Public Class ComplexLU
Visual C++
[SerializableAttribute]
public ref class ComplexLU

Remarks

ComplexLU performs an LU factorization of a complex general coefficient matrix. ComplexLU's method Condition estimates the condition number of the matrix. The LU factorization is done using scaled partial pivoting. Scaled partial pivoting differs from partial pivoting in that the pivoting strategy is the same as if each row were scaled to have the same infinity norm.

The L_1 condition number of the matrix A is defined to be \kappa \left( A \right) = \left\| A \right\|_1
            \left\| {A ^{-1}} \right\|_1. Since it is expensive to compute \left\| {A^{-1}} \right\|_1, the condition number is only estimated. The estimation algorithm is the same as used by LINPACK and is described by Cline et al. (1979).

Note that A is not retained for use by other methods of this class, only the factorization of A is retained. Thus, A is a required parameter to the condition method.

An estimated condition number greater than 1/\epsilon (where \epsilon is machine precision) indicates that very small changes in A can cause very large changes in the solution x. Iterative refinement can sometimes find the solution to such a system.

ComplexLU fails if U, the upper triangular part of the factorization, has a zero diagonal element. This can occur only if A either is singular or is very close to a singular matrix.

The Solve method can be used to solve systems of equations. The method Determinant can be called to compute the determinant of the coefficient matrix.

ComplexLU is based on the LINPACK routine CGECO; see Dongarra et al. (1979). CGECO uses unscaled partial pivoting.

Inheritance Hierarchy

System..::.Object
Imsl.Math..::.ComplexLU

See Also