Click or drag to resize
LU Class
LU factorization of a matrix of type double.
Inheritance Hierarchy
SystemObject
  Imsl.MathLU

Namespace: Imsl.Math
Assembly: ImslCS (in ImslCS.dll) Version: 6.5.2.0
Syntax
[SerializableAttribute]
public class LU

The LU type exposes the following members.

Constructors
  NameDescription
Public methodLU
Creates the LU factorization of a square matrix of type double.
Top
Methods
  NameDescription
Public methodCondition
Return an estimate of the reciprocal of the L_1 condition number of a matrix.
Public methodDeterminant
Return the determinant of the matrix used to construct this instance.
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodGetHashCode
Serves as a hash function for a particular type.
(Inherited from Object.)
Public methodGetL
Returns the lower triangular portion of the LU factorization of A.
Public methodGetPermutationMatrix
Returns the permutation matrix which results from the LU factorization of A.
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodGetU
Returns the unit upper triangular portion of the LU factorization of A.
Public methodInverse
Returns the inverse of the matrix used to construct this instance.
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodSolve(Double)
Solve Ax = b for x using the LU factorization of A, where A is the input matrix a.
Public methodStatic memberSolve(Double, Double)
Solve Ax = b for x using the LU factorization of A.
Public methodSolveTranspose
Return the solution x of the linear system A^T = b.
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Top
Properties
  NameDescription
Public propertyNumberOfProcessors
Perform the parallel calculations with the maximum possible number of processors set to NumberOfProcessors.
Top
Remarks

LU performs an LU factorization of a real general coefficient matrix. The Condition method estimates the reciprocal of the L_1 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(A)=||A||_1 ||A^{-1}||_1. Since it is expensive to compute ||A^{-1}||_1, the condition number is only estimated. The estimation algorithm is the same as used by LINPACK and is described in a paper 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. If there is conern about the input matrix being ill-conditioned, the user of this class should check the condition number of the input matrix using the condition method before using one of the other class methods.

LU 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.

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

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

See Also

Reference

Other Resources