Assembly: Extreme.Numerics (Extreme.Numerics)
Syntax
| Visual Basic (Declaration) |
|---|
Public Class EigenvalueDecomposition _ Inherits Decomposition |
| C# |
|---|
public class EigenvalueDecomposition : Decomposition |
| C++ |
|---|
public ref class EigenvalueDecomposition : public Decomposition |
Methods
| Icon | Type | Description |
|---|---|---|
| Decompose() |
Calculates the actual eigenvalue decomposition.
| |
| Equals(Object) | ||
| EstimateConditionNumber() |
Calculates an estimate for the condition
number of the Matrix.
| |
| Finalize() | ||
| GetDeterminant() |
Calculates the determinant of the decomposed
Matrix.
| |
| GetHashCode() | Serves as a hash function for a particular type. | |
| GetInverse() |
Calculates the inverse of the factorized
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(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(GeneralMatrix, Boolean) |
Solves the system of simultaneous linear equations for the specified
right-hand side GeneralMatrix and overwrites the
right-hand side with the solution.
| |
| Solve(GeneralVector, Boolean) |
Solves the system of simultaneous linear equations for the specified
right-hand side Vector.
| |
| Solve(Vector) |
Solves the system of linear equations for the specified
right-hand side Vector.
| |
| Solve(Matrix) |
Solves the system of linear equations for the specified
right-hand side Matrix.
| |
| ToString() |
Constructors
| Icon | Type | Description |
|---|---|---|
| EigenvalueDecompositionNew(GeneralMatrix) |
Constructs a new EigenvalueDecomposition
object.
| |
| EigenvalueDecompositionNew(GeneralMatrix, Boolean) |
Constructs a new EigenvalueDecomposition
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.
| |
| Eigenvalues |
Gets the eigenvalues of the matrix.
| |
| Eigenvectors |
Gets the eigenvectors of the matrix.
| |
| Overwrite |
Gets or sets a value indicating whether the
BaseMatrix should be overwritten by
its decomposition.
| |
| RawEigenvectors |
Gets the eigenvectors of the matrix.
| |
| RealEigenvalues |
Gets the real eigenvalues of the matrix.
|
Remarks
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 LinearTransformation. 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(GeneralMatrix, Boolean), GetInverse() and EstimateConditionNumber() methods simply call the corresponding method on the base matrix.
Inheritance Hierarchy
Extreme.Mathematics.LinearAlgebra.LinearTransformation
Extreme.Mathematics.LinearAlgebra.Decomposition
Extreme.Mathematics.LinearAlgebra.EigenvalueDecomposition