Represents a matrix decomposition.

Namespace: Extreme.Mathematics.LinearAlgebra
Assembly: Extreme.Numerics (Extreme.Numerics)

Syntax

Visual Basic (Declaration)
Public MustInherit Class Decomposition _
	Inherits LinearTransformation
C#
public abstract class Decomposition : LinearTransformation
C++
public ref class Decomposition abstract : public LinearTransformation

Methods

IconTypeDescription
Decompose()
Performs the actual decomposition.
Equals(Object)
Determines whether the specified Object is equal to the current Object.
EstimateConditionNumber()
Calculates an estimate for the condition number of a matrix.
Finalize()
Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection.
GetDeterminant()
Calculates the determinant of a matrix.
GetHashCode()
Serves as a hash function for a particular type.
GetInverse()
Calculates the inverse matrix..
GetObjectData(SerializationInfo, StreamingContext)
Populates a SerializationInfo with the data needed to serialize the target object.
GetType()
Gets the Type of the current instance.
IsSingular()
Gets a value indicating whether the BaseMatrix of this decomposition is singular.
MemberwiseClone()
Creates a shallow copy of the current Object.
Rank()
Returns the numerical rank of a matrix.
Rank(Double)
Returns the numerical rank of a matrix using the specified tolerance.
SetSingularFlag()
Sets a flag that indicates the underlying matrix of this decomposition is singular.
Solve(Vector)
Solves the system of linear equations for the specified right-hand side Vector.
Solve(GeneralVector, Boolean)
Solves the system of linear equations for the specified right-hand side GeneralVector and optionally overwrites the right-hand side with the solution.
Solve(Matrix)
Solves the system of linear equations for the specified right-hand side Matrix.
Solve(GeneralMatrix, Boolean)
Solves the system of linear equations for the specified right-hand side GeneralMatrix and optionally overwrites the right-hand side with the solution.
ToString()
Returns a String that represents the current Object.

Constructors

IconTypeDescription
DecompositionNew(Matrix)
Constructs a new Decomposition object.,
DecompositionNew(Matrix, Boolean)
Constructs a new Decomposition object.

Properties

IconTypeDescription
BaseMatrix
Gets the underlying matrix of the decomposition.
Done
Gets or sets a value that indicates whether the decomposition has been performed.
Overwrite
Gets or sets a value indicating whether the BaseMatrix should be overwritten by its decomposition.

Remarks

The Decomposition class represents a decomposition of a matrix into a product of matrices with specific properties.

The Decomposition class defines methods and properties that are shared by all decomposition classes. This includes methods related to solving systems of simultaneous linear equations defined by the LinearTransformation abstract base class.

The Decomposition class is an abstract base class and cannot be instantiated directly. Instead, use one of its derived classes. These are:
ClassDescription
LUDecompositionRepresents a decomposition into a lower and an upper-triangular matrix.
QRDecompositionRepresents a decomposition into an orthogonal and an upper triangular matrix.
CholeskyDecompositionRepresents the decomposition of a SymmetricMatrix into the product of a lower-triangular matrix and its transpose.

Notes to inheritors: When you inherit from Decomposition, you must override the following members: EstimateConditionNumber(), GetDeterminant(), GetInverse(), Rank(Double), Solve(GeneralMatrix, Boolean), Solve(GeneralVector, Boolean).

Inheritance Hierarchy

System.Object
  Extreme.Mathematics.LinearAlgebra.LinearTransformation
    Extreme.Mathematics.LinearAlgebra.Decomposition

See Also