Represents the eigenvalue decomposition of a
dense matrix.
SystemObject Extreme.Mathematics.LinearAlgebraLinearOperator Extreme.Mathematics.LinearAlgebraDecomposition Extreme.Mathematics.LinearAlgebraEigenvalueDecomposition Extreme.Mathematics.LinearAlgebraNonsymmetricEigenvalueDecomposition Extreme.Mathematics.LinearAlgebraSymmetricEigenvalueDecomposition
Namespace: Extreme.Mathematics.LinearAlgebraAssembly: Extreme.Numerics.Net40 (in Extreme.Numerics.Net40.dll) Version: 6.0.16073.0 (6.0.16312.0)
public abstract class EigenvalueDecomposition : Decomposition
Public MustInherit Class EigenvalueDecomposition
Inherits Decomposition
public ref class EigenvalueDecomposition abstract : public Decomposition
[<AbstractClassAttribute>]
type EigenvalueDecomposition =
class
inherit Decomposition
end
The EigenvalueDecomposition type exposes the following members.
Top
Top
| Name | Description |
---|
 | AddProductToVector | (Inherited from LinearOperator.) |
 | Decompose |
Performs the actual decomposition.
(Inherited from Decomposition.) |
 | Equals | Determines whether the specified Object is equal to the current Object. (Inherited from Object.) |
 | EstimateConditionNumber |
Calculates an estimate for the condition
number of the matrix.
(Overrides LinearOperatorEstimateConditionNumber.) |
 | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) |
 | GetDeterminant |
Calculates the determinant of the decomposed
matrix.
(Overrides LinearOperatorGetDeterminant.) |
 | GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) |
 | GetInverse |
Calculates the inverse matrix..
(Inherited from LinearOperator.) |
 | GetInverse(Boolean) |
Calculates the inverse of the factorized
matrix.
(Overrides LinearOperatorGetInverse(Boolean).) |
 | GetObjectData | (Inherited from LinearOperator.) |
 | GetType | Gets the Type of the current instance. (Inherited from Object.) |
 | IsSingular |
Gets a value indicating whether the BaseMatrix of this decomposition
is singular.
(Inherited from Decomposition.) |
 | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) |
 | Multiply(Matrix) | Multiplies the decomposition to a matrix. (Inherited from Decomposition.) |
 | Multiply(Vector) | Applies the base matrix of the decomposition to a vector. (Inherited from Decomposition.) |
 | MultiplyTranspose(Matrix) | Multiplies the transpose of the decomposition to a matrix. (Inherited from Decomposition.) |
 | MultiplyTranspose(Vector) | Multiplies the transpose of the decomposition to a vector. (Inherited from Decomposition.) |
 | Rank |
Returns the numerical rank of a matrix.
(Inherited from LinearOperator.) |
 | Rank(Double) |
Returns the numerical rank of a matrix using the specified tolerance.
(Overrides LinearOperatorRank(Double).) |
 | SetSingular |
Sets a flag that indicates the underlying matrix of this
decomposition is singular.
(Inherited from Decomposition.) |
 | Solve(Matrix) |
Solves the system of linear equations for the specified
right-hand side matrix.
(Inherited from LinearOperator.) |
 | Solve(Vector) |
Solves the system of linear equations for the specified
right-hand side vector.
(Inherited from LinearOperator.) |
 | Solve(DenseMatrix, Boolean) |
Solves the system of simultaneous linear equations for the specified
right-hand side dense matrix and overwrites the
right-hand side with the solution.
(Overrides LinearOperatorSolve(DenseMatrix, Boolean).) |
 | Solve(DenseVector, Boolean) |
Solves the system of simultaneous linear equations for the specified
right-hand side vector.
(Overrides LinearOperatorSolve(DenseVector, Boolean).) |
 | SolveTo(DenseVector, DenseVector) |
Solves the system for the specified right-hand side.
(Inherited from LinearOperator.) |
 | SolveTo(Vector, DenseVector) |
Solves the system for the specified right-hand side.
(Inherited from LinearOperator.) |
 | SolveTranspose(Matrix) |
Solves the transposed system of linear equations for the specified
right-hand side matrix.
(Inherited from LinearOperator.) |
 | SolveTranspose(Vector) |
Solves the system of linear equations for the specified
right-hand side vector.
(Inherited from LinearOperator.) |
 | SolveTranspose(DenseMatrix, Boolean) |
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.
(Overrides LinearOperatorSolveTranspose(DenseMatrix, Boolean).) |
 | SolveTranspose(DenseVector, Boolean) |
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.
(Overrides LinearOperatorSolveTranspose(DenseVector, Boolean).) |
 | SolveTransposeTo |
Solves the transposed system for the specified right-hand side.
(Inherited from LinearOperator.) |
 | ToString | Returns a string that represents the current object. (Inherited from Object.) |
Top
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 of a real symmetric matrix are always real,
and its eigenvectors are orthogonal.
Its eigenvalue decomposition can be calculated more easily.
This is implemented by the SymmetricEigenvalueDecomposition class.
EigenvalueDecomposition inherits from
LinearOperator. However, unlike the other decompositions,
the nonsymmetric 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(DenseMatrix, Boolean), GetInverse(Boolean) and EstimateConditionNumber
methods simply call the corresponding method on the base matrix.
Numerical Libraries
Supported in: 5.x, 4.x
Reference