ApCoCoA-1:Num.EigenValuesAndAllVectors

From ApCoCoAWiki
Revision as of 13:54, 30 March 2009 by 193.79.225.178 (talk)

Num.EigenValuesAndAllVectors

Computes eigenvalues and left and right eigenvectors of a matrix

Syntax

Num.EigenValuesAndAllVectors(A:Matrix):[B:Matrix, C:Matrix, D:Matrix, E:Matrix, F:Matrix]

Description

Please note: The function(s) explained on this page is/are using the ApCoCoAServer. You will have to start the ApCoCoAServer in order to use

it/them. Please also note that you will have to use an ApCoCoAServer with enabled BLAS/LAPACK support.

This function returns a list of five matrices, containing numerical approximation to A's eigenvalues and right and left eigenvectors.

The input matrix A has to be a square matrix!

The output [B:Matrix, C:Matrix, D:Matrix, E:Matrix, F:Matrix] contains a matrix B, where each column contains one of A's eigenvalues. The first row contains the eigenvalue's real part, the second row the imaginary. The matrices C, D, E and F all have the same dimensions as A. Column j of matrix C contains the real part of the right eigenvector corresponding to eigenvalue j and column j of matrix D contains the imaginary part of the right eigenvector correspsonding to eigenvalue j. The matrices E and F store the left eigenvectors in the same way as C and D.

Example

A:=Mat([[1,2,7,18],[2,4,9,12],[23,8,9,10],[7,5,3,2]]); 
Dec(Num.EigenValuesAndAllVectors(A),3);
-- CoCoAServer: computing Cpu Time = 0.016
-------------------------------
[Mat([
  ["28.970", "-13.677", "0.353", "0.353"],
  ["0", "0", "3.051", "-3.051"]
]), Mat([
  ["0.538", "-0.600", "0.389", "0.389"],
  ["0.311", "-0.222", "-0.442", "-0.442"],
  ["0.427", "0.174", "0.050", "0.050"],
  ["0.656", "0.748", "0", "0"]
]), Mat([
  ["0", "0", "-0.174", "0.174"],
  ["0", "0", "0.139", "-0.139"],
  ["0", "0", "0.265", "-0.265"],
  ["0", "0", "-0.727", "0.727"]
]), Mat([
  ["0.394", "-0.581", "0.260", "0.260"],
  ["0.435", "-0.442", "-0.547", "-0.547"],
  ["0.763", "0.621", "0", "0"],
  ["0.268", "0.281", "0.046", "0.046"]
]), Mat([
  ["0", "0", "-0.031", "0.031"],
  ["0", "0", "-0.301", "0.301"],
  ["0", "0", "0.680", "-0.680"],
  ["0", "0", "-0.274", "0.274"]
])]
-------------------------------

See also

Introduction to CoCoAServer

Numerical.QR

Numerical.SVD

Numerical.EigenValues

Numerical.EigenValuesAndVectors