C# Класс YAMP.Numerics.Eigenvalues

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.Multiply(D.Multiply(V.Transpose())) and V.Multiply(V.Transpose()) equals the identity matrix. 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.cond().
Показать файл Открыть проект Примеры использования класса

Открытые методы

Метод Описание
Eigenvalues ( MatrixValue Arg ) : System

Check for symmetry, then construct the eigenvalue decomposition

GetV ( ) : MatrixValue

Return the eigenvector matrix

Приватные методы

Метод Описание
cdiv ( double xr, double xi, double yr, double yi ) : void
hqr2 ( ) : void
orthes ( ) : void
tql2 ( ) : void
tred2 ( ) : void

Описание методов

Eigenvalues() публичный Метод

Check for symmetry, then construct the eigenvalue decomposition
public Eigenvalues ( MatrixValue Arg ) : System
Arg YAMP.MatrixValue Square matrix
Результат System

GetV() публичный Метод

Return the eigenvector matrix
public GetV ( ) : MatrixValue
Результат YAMP.MatrixValue