Decomposition<T> Class
Definition
Assembly: Extreme.Numerics (in Extreme.Numerics.dll) Version: 8.1.23
public abstract class Decomposition<T> : LinearOperator<T>
- Inheritance
- Object → LinearOperator<T> → Decomposition<T>
- Derived
Type Parameters
- T
Remarks
The Decomposition<T> class represents a decomposition of a matrix into a product of matrices with specific properties.
The Decomposition<T> 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 LinearOperator<T> abstract base class.
The Decomposition<T> class is an abstract base class and cannot be instantiated directly. Instead, use one of its derived classes. These are:
Class | Description |
---|---|
LUDecomposition<T> | Represents a decomposition into a lower and an upper-triangular matrix. |
QRDecomposition<T> | Represents a decomposition into an orthogonal and an upper triangular matrix. |
Cholesky | Represents the decomposition of a SymmetricMatrix<T> into the product of a lower-triangular matrix and its transpose. |
Notes to inheritors: When you inherit from Decomposition<T>, you must override the following members: EstimateConditionNumber(), GetDeterminant(), GetInverse(), Rank(T), Solve(Vector<T>).
Constructors
Decomposition<T> | Constructs a new Decomposition<T> object. |
Properties
Base | Gets the underlying matrix of the decomposition. |
Column |
Gets the number of columns in the matrix.
(Inherited from LinearOperator<T>) |
Column |
Gets or sets the index of labels for the columns of the matrix.
(Inherited from LinearOperator<T>) Preliminary |
Done | Gets or sets a value that indicates whether the decomposition has been performed. |
Element |
Gets the element type of the matrix.
(Inherited from LinearOperator<T>) |
Factors | Gets a collection of the matrix factors that make up the decomposition. |
Overwrite | Gets or sets a value indicating whether the BaseMatrix should be overwritten by its decomposition. |
Row |
Gets the number of rows in the matrix.
(Inherited from LinearOperator<T>) |
Row |
Gets or sets the index of labels for the rows of the matrix.
(Inherited from LinearOperator<T>) Preliminary |
Methods
Add |
Multiplies a Vector<T> by this instance
and stores the result in a second vector of type DenseVector<T>.
(Inherited from LinearOperator<T>) Obsolete. |
Decompose | Performs the actual decomposition. |
Equals | Determines whether the specified object is equal to the current object. (Inherited from Object) |
Estimate |
Calculates an estimate for the condition number of a matrix.
(Inherited from LinearOperator<T>) |
Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object) |
Get |
Calculates the determinant of a matrix.
(Inherited from LinearOperator<T>) |
Get | Serves as the default hash function. (Inherited from Object) |
Get |
Calculates the inverse matrix..
(Inherited from LinearOperator<T>) |
Get |
Calculates the inverse of the factorized
matrix.
(Inherited from LinearOperator<T>) |
Get |
Populates a SerializationInfo with the data
needed to serialize the target object.
(Inherited from LinearOperator<T>) |
Get | Gets the Type of the current instance. (Inherited from Object) |
IsSingular |
Gets a value indicating whether the BaseMatrix of this decomposition
is singular.
(Overrides LinearOperator<T>.IsSingular()) |
Least |
Solves the system of linear equations for the specified
right-hand side matrix in the least squares sense.
(Inherited from LinearOperator<T>) |
Least |
Solves the system of linear equations for the specified
right-hand side vector.
(Inherited from LinearOperator<T>) |
Least |
Solves the system of linear equations for the specified
right-hand side dense matrix in the least squares sense and optionally overwrites the
right-hand side with the solution.
(Inherited from LinearOperator<T>) |
Least |
Solves the system of linear equations for the specified
right-hand side dense vector in the least squares sense and optionally
overwrites the right-hand side with the solution.
(Inherited from LinearOperator<T>) |
Least |
Solves a system of equations defined by the matrix and multiple right-hand sides in the least squares sense.
(Inherited from LinearOperator<T>) |
Least |
Solves a system of equations defined by the matrix and the specified right-hand side in the least squares sense.
(Overrides LinearOperator<T>.LeastSquaresSolveInto(Vector<T>, Vector<T>)) |
Memberwise | Creates a shallow copy of the current Object. (Inherited from Object) |
Multiply( | Applies the linear operator to a matrix. (Inherited from LinearOperator<T>) |
Multiply( | Applies the linear operator to a vector. (Inherited from LinearOperator<T>) |
Multiply( |
Multiplies a matrix on the left by this matrix.
(Inherited from LinearOperator<T>) Obsolete. |
Multiply( |
Multiplies a vector on the left by this vector.
(Inherited from LinearOperator<T>) Obsolete. |
Multiply |
Multiplies the matrix with a vector, adds the scaled result to another scaled
vector, and returns the result.
(Overrides LinearOperator<T>.MultiplyAndAddAsLeftFactorCore(T, Vector<T>, T, TransposeOperation, Vector<T>, Vector<T>)) |
Multiply |
Multiplies a matrix by the linear operator and returns the result.
(Overrides LinearOperator<T>.MultiplyAsLeftCore(TransposeOperation, Matrix<T>, Matrix<T>)) |
Multiply |
Multiplies a vector by the linear operator and returns the result.
(Overrides LinearOperator<T>.MultiplyAsLeftCore(TransposeOperation, Vector<T>, Vector<T>)) |
Multiply | Applies the transpose of the linear operator to a matrix. (Inherited from LinearOperator<T>) |
Multiply | Applies the (conjugate) transpose of the linear operator to a vector. (Inherited from LinearOperator<T>) |
Rank() |
Returns the numerical rank of a matrix.
(Inherited from LinearOperator<T>) |
Rank( |
Returns the numerical rank of a matrix using the specified tolerance.
(Inherited from LinearOperator<T>) |
Set | Sets a flag that indicates the underlying matrix of this decomposition is singular. |
Solve( |
Solves the system of linear equations for the specified
right-hand side matrix.
(Inherited from LinearOperator<T>) |
Solve( |
Solves the system of linear equations for the specified
right-hand side vector.
(Inherited from LinearOperator<T>) |
Solve( |
Solves the system of linear equations for the specified
right-hand side dense matrix and optionally overwrites the
right-hand side with the solution.
(Inherited from LinearOperator<T>) |
Solve( |
Solves the system of linear equations for the specified
right-hand side dense vector and optionally
overwrites the right-hand side with the solution.
(Inherited from LinearOperator<T>) |
Solve |
Solves a system of equations defined by the matrix and multiple right-hand sides.
(Inherited from LinearOperator<T>) |
Solve |
Solves a system of equations defined by the matrix and the specified right-hand side.
(Inherited from LinearOperator<T>) |
Solve |
Solves a system of equations defined by the matrix and multiple right-hand sides.
(Inherited from LinearOperator<T>) |
Solve |
Solves a system of equations defined by the matrix and the specified right-hand side.
(Inherited from LinearOperator<T>) |
Solve |
Solves the transposed system of linear equations for the specified
right-hand side matrix.
(Inherited from LinearOperator<T>) |
Solve |
Solves the system of linear equations for the specified
right-hand side vector.
(Inherited from LinearOperator<T>) |
Solve |
Solves the transposed system of linear equations for the specified
right-hand side dense matrix and optionally overwrites the
right-hand side with the solution.
(Inherited from LinearOperator<T>) |
Solve |
Solves the transposed system of linear equations for the specified
right-hand side dense vector and optionally
overwrites the right-hand side with the solution.
(Inherited from LinearOperator<T>) |
Solve |
Solves a system of equations defined by the matrix and multiple right-hand sides.
(Inherited from LinearOperator<T>) |
Solve |
Solves a system of equations defined by the matrix and the specified right-hand side.
(Inherited from LinearOperator<T>) |
ToString | Returns a string that represents the current object. (Inherited from Object) |