Skip to content
/ LOBPCG Public

Using LOBPCG to find the minimum eigenvalue of a matrix

License

Notifications You must be signed in to change notification settings

Benny44/LOBPCG

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LOBPCG

This code uses LOBPCG to find the minimum eigenvalue of a matrix. Knowledge of the minimum eigenvalue can be used to regularize the matrix to be positive (semi)definite.

Install

Add LOBPCG to your matlab folder, and then run

lobpcg_setup.m

Usage

Using LOBPCG is very simple. For a sparse symmetrical matrix A, do

lambda = lobpcg_mex(A);

If A is dense, do

lambda = lobpcg_mex(sparse(A));

References

The algorithm implemented here is described in detail in Algorithm 4.1 in

Knyazev, A. V. (2001). Toward the optimal preconditioned eigensolver: Locally optimal block preconditioned conjugate gradient method. SIAM journal on scientific computing, 23(2), 517-541.

The method also makes use of the eigenvalue problem solving implemented in LAPACK, particularly of dsyev and dsygv.

About

Using LOBPCG to find the minimum eigenvalue of a matrix

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published