Difference between revisions of "ApCoCoA-1:Num.EigenValuesAndVectors"
(Added ApCoCoAServer note) |
|||
Line 1: | Line 1: | ||
<command> | <command> | ||
<title>Numerical.EigenValuesAndVectors</title> | <title>Numerical.EigenValuesAndVectors</title> | ||
− | <short_description>eigenvalues of a matrix</short_description> | + | <short_description>Computes the eigenvalues and eigenvectors of a matrix</short_description> |
<syntax> | <syntax> | ||
$numerical.EigenValuesAndVectors(A:Matrix):List | $numerical.EigenValuesAndVectors(A:Matrix):List |
Revision as of 10:51, 30 March 2009
Numerical.EigenValuesAndVectors
Computes the eigenvalues and eigenvectors of a matrix
Syntax
$numerical.EigenValuesAndVectors(A:Matrix):List
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 two matrices, containing numerical approximation to A's eigenvalues and (right hand) eigenvectors.
Therefore the input matrix A has to be rectangular!
It is implemented in the ApCoCoA server, so you need a running server. It was not implemented in version 0.99.4 or previous. Also please keep in mind this method is based on blas/Lapack's eigenvalue solver and uses floating point arithmetic. This is not an exact, algebraic method! The output contains first a matrix B, where each column contains one of A's eigenvalues. The first row contains the eigenvalue's real part, the second the imaginary. The second element C of the returned list is a matrix of the size of A, containing the (right hand) eigenvectors of A. Column j contains the eigenvector corresponding to eigenvalue j if the imaginary part of j is zero. If eigenvalue j had also an imaginary part, then eigenvalue j+1 is the complex conjugate of j and the eigenvector of j is composed of the real part stored in column j and the imaginary part stored in column j+1 of matrix C. The eigenvector of j+1 is the complex conjugate of eigenvector j. To compute only the left hand's eigenvectors apply this method to Transposed(A).
Example
A:=Mat([[1,2,7,18],[2,4,9,12],[23,8,9,10],[7,5,3,2]]); Numerical.EigenValuesAndVectors(A); -- CoCoAServer: computing Cpu Time = 0.0038 ------------------------------- [Mat([ [4077234895954899/140737488355328, -3850002255576291/281474976710656, 3186113456591853/9007199254740992, 3186113456591853/9007199254740992], [0, 0, 6871934657603045/2251799813685248, -6871934657603045/2251799813685248] ]), Mat([ [1777559794020963/4503599627370496, 5241040126502889/9007199254740992, -4553859282588877/144115188075855872, 4695168387448585/18014398509481984], [7846388397589841/18014398509481984, 3981313256671163/9007199254740992, -5438845171485265/18014398509481984, -4930385173711607/9007199254740992], [6875189208942329/9007199254740992, -5600762787593733/9007199254740992, 11970674168303/17592186044416, 0], [2414763704612135/9007199254740992, -5076115741924331/18014398509481984, -2469130937097749/9007199254740992, 3322230315885151/72057594037927936] ])] -------------------------------
See also
Numerical.EigenValuesAndAllVectors