Real Eigenvalue Decomposition<T> Class
Definition
Assembly: Numerics.NET (in Numerics.NET.dll) Version: 9.0.3
public abstract class RealEigenvalueDecomposition<T> : EigenvalueDecomposition<T>
- Inheritance
- Object → LinearOperator<T> → Decomposition<T> → EigenvalueDecomposition<T> → RealEigenvalueDecomposition<T>
Type Parameters
- T
Remarks
Use the RealEigenvalueDecomposition<T> class to get access to properties specific to the eigenvalue decomposition of a real, square matrix.
The eigenvalue decomposition of a real square general matrix A rewrites the matrix in the form A = XLX-1, where X is a matrix and L is a diagonal matrix. The diagonal elements of L are the eigenvalues. The columns of X are the corresponding eigenvectors.
The eigenvalues are either real or come in complex conjugate pairs. The eigenvectors corresponding to real eigenvalues are also real. The eigenvectors corresponding to pairs of complex conjugate eigenvalues are themselves complex conjugates. The Eigenvalues and Eigenvectors properties return only the real eigenvalues and eigenvectors. The ComplexEigenvalues and ComplexEigenvectors properties return the full set of eigenvalues and eigenvectors. The RawEigenvectors property returns the real and imaginary parts of all eigenvectors.
The eigenvalues of a real symmetric matrix are always real, and its eigenvectors are real and orthogonal. Its eigenvalue decomposition can be calculated more easily, and there is no need to allow for complex eigenvectors and eigenvalues.
EigenvalueDecomposition<T> inherits from LinearOperator<T>. However, unlike the other decompositions, the non-symmetric eigenvalue decomposition does not offer a speed advantage when performing calculations most calculations. For example, solving an equation using the eigen decomposition itself requires the solution of a system of equations. For this reason, the Solve(Vector<T>), GetInverse(Boolean) and EstimateConditionNumber() methods simply call the corresponding method on the base matrix.
Constructors
Real | Constructs a new EigenvalueDecomposition<T> object. |
Properties
Base |
Gets the underlying matrix of the decomposition.
(Inherited from Decomposition<T>) |
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 |
Complex |
Gets the eigenvalues of the matrix as a complex vector.
(Inherited from EigenvalueDecomposition<T>) |
Complex |
Gets the eigenvectors of the matrix as a complex matrix.
(Inherited from EigenvalueDecomposition<T>) |
Done |
Gets or sets a value that indicates whether the decomposition
has been performed.
(Inherited from Decomposition<T>) |
Eigenvalues |
Gets the eigenvalues of the matrix.
(Inherited from EigenvalueDecomposition<T>) |
Eigenvectors |
Gets the eigenvectors of the matrix.
(Inherited from EigenvalueDecomposition<T>) |
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.
(Inherited from EigenvalueDecomposition<T>) |
Has |
Indicates whether the matrix has complex eigenvalue.
(Inherited from EigenvalueDecomposition<T>) |
Overwrite |
Gets or sets whether the
BaseMatrix should be overwritten by
its decomposition.
(Inherited from Decomposition<T>) |
Raw |
Gets the eigenvectors of the matrix.
(Inherited from EigenvalueDecomposition<T>) |
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
Decompose |
Performs the actual decomposition.
(Inherited from Decomposition<T>) |
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 the decomposed
matrix.
(Overrides EigenvalueDecomposition<T>.GetDeterminant()) |
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 EigenvalueDecomposition<T>) |
Get |
Populates a SerializationInfo with the data
needed to serialize the target object.
(Inherited from LinearOperator<T>) Obsolete. |
Get | Gets the Type of the current instance. (Inherited from Object) |
IsSingular |
Gets whether the BaseMatrix of this decomposition
is singular.
(Inherited from Decomposition<T>) |
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.
(Inherited from Decomposition<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 the matrix with a vector, adds the scaled result to another scaled
vector, and returns the result.
(Inherited from Decomposition<T>) |
Multiply |
Multiplies a matrix by the linear operator and returns the result.
(Inherited from Decomposition<T>) |
Multiply |
Multiplies a vector by the linear operator and returns the result.
(Inherited from Decomposition<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.
(Overrides EigenvalueDecomposition<T>.Rank(T)) |
Set |
Sets a flag that indicates the underlying matrix of this
decomposition is singular.
(Inherited from Decomposition<T>) |
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 EigenvalueDecomposition<T>) |
Solve |
Solves a system of equations defined by the matrix and the specified right-hand side.
(Inherited from EigenvalueDecomposition<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) |
Extension Methods
Estimate |
Calculates an estimate for the condition
number of the matrix.
(Defined by MatrixExtensions) |