Namespaces

Types in MathNet.Numerics.LinearAlgebra.Factorization

Type Evd<T>

Namespace MathNet.Numerics.LinearAlgebra.Factorization

Interfaces ISolver<T>

Eigenvalues and eigenvectors of a real matrix.
If A is symmetric, then A = V*D*V' where the eigenvalue matrix D is diagonal and the eigenvector matrix V is orthogonal. I.e. A = V*D*V' and V*VT=I. If A is not symmetric, then the eigenvalue matrix D is block diagonal with the real eigenvalues in 1-by-1 blocks and any complex eigenvalues, lambda + i*mu, in 2-by-2 blocks, [lambda, mu; -mu, lambda]. The columns of V represent the eigenvectors in the sense that A*V = V*D, i.e. A.Multiply(V) equals V.Multiply(D). The matrix V may be badly conditioned, or even singular, so the validity of the equation A = V*D*Inverse(V) depends upon V.Condition().

Methods

Properties

Public Methods

bool Equals(object obj)

int GetHashCode()

Type GetType()

Matrix<T> Solve(Matrix<T> input)

Solves a system of linear equations, , with A EVD factorized.
Parameters
Matrix<T> input

The right hand side Matrix`1 , .

Return
Matrix<T>

The left hand side Matrix`1 , .

void Solve(Matrix<T> input, Matrix<T> result)

Solves a system of linear equations, , with A EVD factorized.
Parameters
Matrix<T> input

The right hand side Matrix`1 , .

Matrix<T> result

The left hand side Matrix`1 , .

Vector<T> Solve(Vector<T> input)

Solves a system of linear equations, , with A EVD factorized.
Parameters
Vector<T> input

The right hand side vector, .

Return
Vector<T>

The left hand side Vector`1 , .

void Solve(Vector<T> input, Vector<T> result)

Solves a system of linear equations, , with A EVD factorized.
Parameters
Vector<T> input

The right hand side vector, .

Vector<T> result

The left hand side Matrix`1 , .

string ToString()

Public Properties

Matrix<T> D get; set;

Gets or sets the block diagonal eigenvalue matrix.

T Determinant get;

Gets the absolute value of determinant of the square matrix for which the EVD was computed.

Vector<T> EigenValues get; set;

Gets or sets the eigen values (λ) of matrix in ascending value.

Matrix<T> EigenVectors get; set;

Gets or sets eigenvectors.

bool IsFullRank get;

Gets a value indicating whether the matrix is full rank or not.
Value:

bool IsSymmetric get; set;

Gets or sets a value indicating whether matrix is symmetric or not

int Rank get;

Gets the effective numerical matrix rank.
Value: