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
| Icon | Type | Description |
|---|---|---|
| Decompose() |
Performs the actual decomposition.
| |
| Equals(Object) | ||
| EstimateConditionNumber() |
Calculates an estimate for the condition number of a matrix.
| |
| Finalize() | ||
| 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() |
Constructors
| Icon | Type | Description |
|---|---|---|
| DecompositionNew(Matrix) |
Constructs a new Decomposition object.,
| |
| DecompositionNew(Matrix, Boolean) |
Constructs a new Decomposition object.
|
Properties
| Icon | Type | Description |
|---|---|---|
| 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:
| Class | Description |
|---|---|
| LUDecomposition | Represents a decomposition into a lower and an upper-triangular matrix. |
| QRDecomposition | Represents a decomposition into an orthogonal and an upper triangular matrix. |
| CholeskyDecomposition | Represents 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
Extreme.Mathematics.LinearAlgebra.LinearTransformation
Extreme.Mathematics.LinearAlgebra.Decomposition