Extreme Optimization™: Complexity made simple.

Math and Statistics
Libraries for .NET

  • Home
  • Features
    • Math Library
    • Vector and Matrix Library
    • Statistics Library
    • Performance
    • Usability
  • Documentation
    • Introduction
    • Math Library User's Guide
    • Vector and Matrix Library User's Guide
    • Data Analysis Library User's Guide
    • Statistics Library User's Guide
    • Reference
  • Resources
    • Downloads
    • QuickStart Samples
    • Sample Applications
    • Frequently Asked Questions
    • Technical Support
  • Blog
  • Order
  • Company
    • About us
    • Testimonials
    • Customers
    • Press Releases
    • Careers
    • Partners
    • Contact us
Introduction
Deployment Guide
Nuget packages
Configuration
Using Parallelism
Expand Mathematics Library User's GuideMathematics Library User's Guide
Expand Vector and Matrix Library User's GuideVector and Matrix Library User's Guide
Expand Data Analysis Library User's GuideData Analysis Library User's Guide
Expand Statistics Library User's GuideStatistics Library User's Guide
Expand Data Access Library User's GuideData Access Library User's Guide
Expand ReferenceReference
EigenvalueDecomposition ClassExtreme Optimization Numerical Libraries for .NET Professional
Represents the eigenvalue decomposition of a dense matrix.
Inheritance Hierarchy

SystemObject
  Extreme.Mathematics.LinearAlgebraLinearOperator
    Extreme.Mathematics.LinearAlgebraDecomposition
      Extreme.Mathematics.LinearAlgebraEigenvalueDecomposition
        Extreme.Mathematics.LinearAlgebraNonsymmetricEigenvalueDecomposition
        Extreme.Mathematics.LinearAlgebraSymmetricEigenvalueDecomposition

Namespace: Extreme.Mathematics.LinearAlgebra
Assembly: Extreme.Numerics.Net40 (in Extreme.Numerics.Net40.dll) Version: 6.0.16073.0 (6.0.16312.0)
Syntax

C#
VB
C++
F#
Copy
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.

Constructors

  NameDescription
Public methodEigenvalueDecomposition
Constructs a new EigenvalueDecomposition object.
Top
Properties

  NameDescription
Public propertyBaseMatrix
Gets the underlying matrix of the decomposition.
(Inherited from Decomposition.)
Public propertyColumnCount
Gets the number of columns in the matrix.
(Inherited from Decomposition.)
Public propertyComplexEigenvalues
Gets the eigenvalues of the matrix as a complex vector.
Public propertyComplexEigenvectors
Gets the eigenvectors of the matrix as a complex matrix.
Protected propertyDone
Gets or sets whether the decomposition has been performed.
(Inherited from Decomposition.)
Public propertyFactors
Gets a collection of the matrix factors that make up the decomposition.
(Overrides DecompositionFactors.)
Public propertyHasComplexEigenvalues
Indicates whether the matrix has complex eigenvalue.
Public propertyOverwrite
Gets or sets a value indicating whether the BaseMatrix should be overwritten by its decomposition.
(Inherited from Decomposition.)
Public propertyRawEigenvectors
Gets the eigenvectors of the matrix.
Public propertyRealEigenvalues
Gets the eigenvalues of the matrix.
Public propertyRealEigenvectors
Gets the real eigenvectors of the matrix.
Public propertyRowCount
Gets the number of rows in the matrix.
(Inherited from Decomposition.)
Top
Methods

  NameDescription
Public methodAddProductToVector
Multiplies a Vector by this Matrix and stores the result in a second vector of type DenseVector.
(Inherited from LinearOperator.)
Public methodDecompose
Performs the actual decomposition.
(Inherited from Decomposition.)
Public methodEquals
Determines whether the specified Object is equal to the current Object.
(Inherited from Object.)
Public methodEstimateConditionNumber
Calculates an estimate for the condition number of the matrix.
(Overrides LinearOperatorEstimateConditionNumber.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodGetDeterminant
Calculates the determinant of the decomposed matrix.
(Overrides LinearOperatorGetDeterminant.)
Public methodGetHashCode
Serves as a hash function for a particular type.
(Inherited from Object.)
Public methodGetInverse
Calculates the inverse matrix..
(Inherited from LinearOperator.)
Public methodGetInverse(Boolean)
Calculates the inverse of the factorized matrix.
(Overrides LinearOperatorGetInverse(Boolean).)
Public methodGetObjectData
Populates a SerializationInfo with the data needed to serialize the target object.
(Inherited from LinearOperator.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodIsSingular
Gets a value indicating whether the BaseMatrix of this decomposition is singular.
(Inherited from Decomposition.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodMultiply(Matrix)
Multiplies the decomposition to a matrix.
(Inherited from Decomposition.)
Public methodMultiply(Vector)
Applies the base matrix of the decomposition to a vector.
(Inherited from Decomposition.)
Public methodMultiplyTranspose(Matrix)
Multiplies the transpose of the decomposition to a matrix.
(Inherited from Decomposition.)
Public methodMultiplyTranspose(Vector)
Multiplies the transpose of the decomposition to a vector.
(Inherited from Decomposition.)
Public methodRank
Returns the numerical rank of a matrix.
(Inherited from LinearOperator.)
Public methodRank(Double)
Returns the numerical rank of a matrix using the specified tolerance.
(Overrides LinearOperatorRank(Double).)
Protected methodSetSingular
Sets a flag that indicates the underlying matrix of this decomposition is singular.
(Inherited from Decomposition.)
Public methodSolve(Matrix)
Solves the system of linear equations for the specified right-hand side matrix.
(Inherited from LinearOperator.)
Public methodSolve(Vector)
Solves the system of linear equations for the specified right-hand side vector.
(Inherited from LinearOperator.)
Public methodSolve(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).)
Public methodSolve(DenseVector, Boolean)
Solves the system of simultaneous linear equations for the specified right-hand side vector.
(Overrides LinearOperatorSolve(DenseVector, Boolean).)
Public methodSolveTo(DenseVector, DenseVector)
Solves the system for the specified right-hand side.
(Inherited from LinearOperator.)
Public methodSolveTo(Vector, DenseVector)
Solves the system for the specified right-hand side.
(Inherited from LinearOperator.)
Public methodSolveTranspose(Matrix)
Solves the transposed system of linear equations for the specified right-hand side matrix.
(Inherited from LinearOperator.)
Public methodSolveTranspose(Vector)
Solves the system of linear equations for the specified right-hand side vector.
(Inherited from LinearOperator.)
Public methodSolveTranspose(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).)
Public methodSolveTranspose(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).)
Public methodSolveTransposeTo
Solves the transposed system for the specified right-hand side.
(Inherited from LinearOperator.)
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Top
Remarks

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.

Version Information

Numerical Libraries

Supported in: 5.x, 4.x
See Also

Reference

Extreme.Mathematics.LinearAlgebra Namespace
Extreme.Mathematics.LinearAlgebraDenseMatrix
Extreme.Mathematics.LinearAlgebraSymmetricEigenvalueDecomposition
Extreme.Mathematics.LinearAlgebraLinearOperator

Copyright (c) 2004-2016 ExoAnalytics Inc.

Send comments on this topic to support@extremeoptimization.com

Copyright © 2004-2021, Extreme Optimization. All rights reserved.
Extreme Optimization, Complexity made simple, M#, and M Sharp are trademarks of ExoAnalytics Inc.
Microsoft, Visual C#, Visual Basic, Visual Studio, Visual Studio.NET, and the Optimized for Visual Studio logo
are registered trademarks of Microsoft Corporation.