This forum has been archived. All content is frozen. Please use KDE Discuss instead.

Finding the smallest eigenvalue - using eigen

Tags: None
(comma "," separated)
nordwall
Registered Member
Posts
8
Karma
0
I am now continuing my work on direction fields (wrote a topic here a few weeks ago and received very nice feedback and help).

This time around I am doing some energy minimization to find optimal places to place singularities for my direction field. I am trying to implement the following paper:
http://www.cs.columbia.edu/~keenan/Proj ... /paper.pdf

Note that since we need only the smallest eigenvalue, we do not require a sophisticated eigensolver like ARPACK, making our method particularly easy to implement. To minimize alignment energy we performed factorization and a single back-substitution.

As the quote above says (from the paper above) I wish to find the smallest eigenvalue for A x = lambda B x where A and B are sparse matrixes, A is positive definite, B is symmetric and x is a dense initial guess.

I've seen that Eigen has some eigensolvers, would it be possible to use one of them for my problem?
User avatar
ggael
Moderator
Posts
3447
Karma
19
OS
You cannot use Eigen's eigensolver directly. However, writing a solver based on Power iterations is straightforward. There are examples there:

viewtopic.php?f=74&t=108033#p251878

and there:

viewtopic.php?f=74&t=117176&p=290601&hilit=power+iteration#p290620

However, here you need the smallest eigenvalue of a generalized eigenvalue problem, so you need some adaptations of these example to apply the inverse of A instead of A by prefactoring it with, e.g., SparseLDLT and then normalize y with respect to the bilinear form B.


Bookmarks



Who is online

Registered users: Bing [Bot], Google [Bot], Yahoo [Bot]