How to perform a sparse eigendecomposition in order to compute only the eigenvectors of smallest eigenvalues?

1 次查看(过去 30 天)
I have a large n * n sparse matrix called L. k is a given value. I am supposed to do this:
"perform a sparse eigendecomposition of the Laplacian L that computes only the eigenvectors associated with the k smallest-magnitude eigenvalues."
How can I do this?
This is what I have tried:
d = diag(eigs(L,k,'smallestabs'));
===============================================================
And then I am supposed to do this:
"Then project matrix V (vertex positions) onto the basis spanned by these eigenvectors and reconstruct a filtered V called V_new (version of the mesh)."
P is not important here. I just want the new V based on the D matrix. Basically I want to claculate this:
I have tried this:
pd = padarray(diag(d),[n-k,n-k],0,'post');
V_new = V * pd * V'
But seems not to be working, because the resulting V_new is very different than V.
How can I do this?

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Triangulation Representation 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by