Click or drag to resize

LUT Class

A class which encapsulates the functionality of an LU factorization.

For a matrix A, the LU factorization is a pair of lower triangular matrix L and upper triangular matrix U so that A = L*U.

In the Math.NET implementation we also store a set of pivot elements for increased numerical stability. The pivot elements encode a permutation matrix P such that P*A = L*U.

Inheritance Hierarchy
SystemObject
  Altaxo.Calc.LinearAlgebra.FactorizationLUT

Namespace: Altaxo.Calc.LinearAlgebra.Factorization
Assembly: AltaxoCore (in AltaxoCore.dll) Version: 4.8.3179.0 (4.8.3179.0)
Syntax
C#
public abstract class LU<T> : ISolver<T>
where T : struct, new(), IEquatable<T>, IFormattable

Type Parameters

T
Supported data types are double, single, Altaxo.Calc.LinearAlgebra.Complex, and Altaxo.Calc.LinearAlgebra.Complex32.

The LUT type exposes the following members.

Constructors
 NameDescription
Protected methodLUTInitializes a new instance of the LUT class
Top
Properties
 NameDescription
Public propertyDeterminant Gets the determinant of the matrix for which the LU factorization was computed.
Public propertyL Gets the lower triangular factor.
Public propertyP Gets the permutation applied to LU factorization.
Public propertyU Gets the upper triangular factor.
Top
Methods
 NameDescription
Public methodEqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object)
Public methodGetHashCodeServes as the default hash function.
(Inherited from Object)
Public methodGetTypeGets the Type of the current instance.
(Inherited from Object)
Public methodInverse Returns the inverse of this matrix. The inverse is calculated using LU decomposition.
Protected methodMemberwiseCloneCreates a shallow copy of the current Object.
(Inherited from Object)
Public methodSolve(MatrixT) Solves a system of linear equations, AX = B, with A LU factorized.
Public methodSolve(VectorT) Solves a system of linear equations, Ax = b, with A LU factorized.
Public methodSolve(MatrixT, MatrixT) Solves a system of linear equations, AX = B, with A LU factorized.
Public methodSolve(VectorT, VectorT) Solves a system of linear equations, Ax = b, with A LU factorized.
Public methodToStringReturns a string that represents the current object.
(Inherited from Object)
Top
Fields
 NameDescription
Protected fieldFactors 
Protected fieldPivots 
Top
Remarks
The computation of the LU factorization is done at construction time.
See Also