代写代考 TemplateJAMA::Eigenvalue class Reference

TemplateJAMA::Eigenvalue class Reference

Main Page   Namespace List   Compound List   File List   Compound Members  

Copyright By PowCoder代写 加微信 powcoder

JAMA::Eigenvalue Class Template Reference
#include

List of all members.
Public Methods

  Eigenvalue (const TNT::Array2D< Real > &A)
void  getV (TNT::Array2D< Real > &V_)
void  getRealEigenvalues (TNT::Array1D< Real > &d_)
void  getImagEigenvalues (TNT::Array1D< Real > &e_)
void  getD (TNT::Array2D< Real > &D)

Detailed Description

template class JAMA::Eigenvalue

Computes eigenvalues and eigenvectors of a real (non-complex) matrix.

If A is symmetric, then A = V*D*V’ where the eigenvalue matrix D is diagonal and the eigenvector matrix V is orthogonal. That is, the diagonal values of D are the eigenvalues, and V*V’ = I, where I is the identity matrix. The columns of V represent the eigenvectors in the sense that A*V = V*D.

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, a + i*b, in 2-by-2 blocks, [a, b; -b, a]. That is, if the complex eigenvalues look like

u + iv . . . . .
. u – iv . . . .
. . a + ib . . .
. . . a – ib . .
. . . . x .
. . . . . y

then D looks like

u v . . . .
-v u . . . .
. . a b . .
. . -b a . .
. . . . x .
. . . . . y

This keeps V a real matrix in both symmetric and non-symmetric cases, and A*V = V*D.

The matrix V may be badly conditioned, or even singular, so the validity of the equation A = V*D*inverse(V) depends upon the condition number of V.

(Adapted from JAMA, a Java Matrix Library, developed by jointly by the Mathworks and NIST; see http://math.nist.gov/javanumerics/jama).

Constructor & Destructor Documentation

template

JAMA::Eigenvalue::Eigenvalue (

const TNT::Array2D< Real > & A ) [inline]

 

Check for symmetry, then construct the eigenvalue decomposition

Parameters:

 
Square real (non-complex) matrix

Member Function Documentation

template

void JAMA::Eigenvalue::getD (

TNT::Array2D< Real > & D ) [inline]

 

Computes the block diagonal eigenvalue matrix. If the original matrix 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, a + i*b, in 2-by-2 blocks, [a, b; -b, a]. That is, if the complex eigenvalues look like

u + iv . . . . .
. u – iv . . . .
. . a + ib . . .
. . . a – ib . .
. . . . x .
. . . . . y

then D looks like

u v . . . .
-v u . . . .
. . a b . .
. . -b a . .
. . . . x .
. . . . . y

This keeps V a real matrix in both symmetric and non-symmetric cases, and A*V = V*D.
Parameters:

 
upon return, the matrix is filled with the block diagonal eigenvalue matrix.

template

void JAMA::Eigenvalue::getImagEigenvalues (

TNT::Array1D< Real > & e_ ) [inline]

 

Return the imaginary parts of the eigenvalues in parameter e_.

arm e_: new matrix with imaginary parts of the eigenvalues.

template

void JAMA::Eigenvalue::getRealEigenvalues (

TNT::Array1D< Real > & d_ ) [inline]

 

Return the real parts of the eigenvalues

real(diag(D))

template

void JAMA::Eigenvalue::getV (

TNT::Array2D< Real > & V_ ) [inline]

 

Return the eigenvector matrix

The documentation for this class was generated from the following file: jama_eig.h

Generated at Mon Jan 20 07:47:18 2003 for JAMA/C++ by

1.2.5 written by Dimitri van Heesch,
© 1997-2001

程序代写 CS代考 加微信: powcoder QQ: 1823890830 Email: powcoder@163.com