Namespace:
Imsl.Math
Assembly:
ImslCS (in ImslCS.dll) Version: 6.5.0.0
Syntax
C# |
---|
[SerializableAttribute] public class LU |
Visual Basic (Declaration) |
---|
<SerializableAttribute> _ Public Class LU |
Visual C++ |
---|
[SerializableAttribute] public ref class LU |
Remarks
LU performs an LU factorization of a real general
coefficient matrix. The Condition method estimates the reciprocal
of 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 condition number of the matrix A is
defined to be
. Since
it is expensive to compute
, 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 (where
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.