0

I have a graph laplacian, for which I need to find out the largest 'k' eigen values and eigen vectors. I am using something like this :-

#L= laplacian matrix.
eigVal,eigVectors = eigsh(L, k,  which='LA')

This is giving me approximately correct results, but something's going wrong and I am getting eig values slightly greater than 1 (say 1.05). In my case the eigen values are upper bounded by 1. when using MATLAB and other platforms I am getting desired results.

What am I doing wrong here?? Is there any way by which I can parallelize the computation of eigen vectors and values? (I am considering pyCuda.)

Nihar Sarangi
  • 4,845
  • 8
  • 27
  • 32
  • @peterbond Tried looking for it, but Numpy apparently has no methods to find multiple eigen values and corresponding eigen vectors in a particular order. If you come across some, please post them. It will be of great help. – Nihar Sarangi Jun 16 '12 at 13:34

1 Answers1

1

Are you sure that your Python implementation of the Laplacian is correct? Did you double-check e.g. that the input matrix is symmetric?

Without having your specific matrix at hand, it is difficult to say what exactly goes wrong. Can you save the matrix and put it somewhere on the internet?

EDIT: removed mention of eigs* previous behavior -- the routine did not have the eigsh name before that, so that's not the case here.

pv.
  • 33,875
  • 8
  • 55
  • 49