PDL::Slatec Problem of eigenvalue of Matrix

J

Junmou Zhang

I have installed the PDL module and use it to calculate eigenvalue of
a
matrix. The PDL do gives me some eigenvalue and eigenvector. But the
problem is that these values are different from the eigenvalue and
eigenvector calculated in Matlab.

A simple example is:

use PDL::LiteF;
my $mat = pdl [ 3.4603 , 1.7529 , 1.6990 , 2.1181],
[ 2.5459 , 2.5615 , 2.2525 , 2.3606],
[ 2.3606 , 2.2515 , 2.5628 , 2.5459],
[ 2.1181 , 1.6982 , 1.7537 , 3.4603];
($eigvals,$eigvecs) = eigsys($mat);
print $eigvecs,$eigvals,"\n";


The results are:

For PDL module is:
[
[0.0541307 -0.554549 0.789897 -0.256142]
[0.0412208 0.635852 0.202431 -0.743649]
[ 0.87661 -0.252953 -0.320313 -0.254888]
[-0.476366 -0.473479 -0.482167 -0.562502]
] and eigenvalue
[0.272291 0.63145 1.7178 9.42336]


But for matlab, the results are

-0.4788 -0.6962 0.4294 -0.0371
-0.5203 -0.1238 -0.5616 0.7063
-0.5203 0.1239 -0.5619 -0.7059
-0.4788 0.6961 0.4295 0.0370
and the eigenvalue is


9.3294 0 0 0
0 1.3519 0 0
0 0 1.0631 0
0 0 0 0.3004


As you can see, the results from PDL is greatly different from Matlab.
So is my installation not correct? or something wrong with my perl
script?

Could somebody who has the PDL installed try this simple example, and
tell me
what is you eigenvalue and eigenvector?

Thanks
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,055
Latest member
SlimSparkKetoACVReview

Latest Threads

Top