Locally Optimal Block Preconditioned Conjugate Gradient

LOBPCG solves Hermitian partial generalized eigenvalue problems using preconditioning, as well as PCA
5,9K téléchargements
Mise à jour 3 déc. 2021

Source : https://github.com/lobpcg/blopex/ in blopex_tools/matlab/lobpcg/lobpcg.m

This main function LOBPCG is a version of the preconditioned conjugate gradient method (Algorithm 5.1) described in A. V. Knyazev, Toward the Optimal Preconditioned Eigensolver: Locally Optimal Block Preconditioned Conjugate Gradient Method, SIAM Journal on Scientific Computing 23 (2001), no. 2, pp. 517-541. http://dx.doi.org/10.1137/S1064827500366124
A C-version of this code is a part of the https://github.com/lobpcg/blopex
package and is available, e.g., in SLEPc and HYPRE. A scipy version is https://docs.scipy.org/doc/scipy/reference/generated/scipy.sparse.linalg.lobpcg.html
Tested in MATLAB 6.5-7.13-R2019a and available Octave 3.2.3-3.4.2.

Citation pour cette source

Andrew Knyazev (2024). Locally Optimal Block Preconditioned Conjugate Gradient (https://github.com/lobpcg/blopex), GitHub. Récupéré le .

Compatibilité avec les versions de MATLAB
Créé avec R2019a
Compatible avec les versions R2007b et ultérieures
Plateformes compatibles
Windows macOS Linux
Catégories
En savoir plus sur Dimensionality Reduction and Feature Extraction dans Help Center et MATLAB Answers

Community Treasure Hunt

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

Start Hunting!

Les versions qui utilisent la branche GitHub par défaut ne peuvent pas être téléchargées

Version Publié le Notes de version
4.18

Revision 4.18 removes the check for the size of operatorA apparently not working for function handles

4.17

Revision 4.17 adds support for single precision

4.16

Revision 4.16 adds support for distributed or codistributed arrays available in MATLAB BigData toolbox, e.g.,:

A = codistributed(diag(1:100)); B = codistributed(diag(101:200));
[blockVectorX,lambda]=lobpcg(randn(100,2),A,1e-5,5,2)

4.15

updated description on MathWorks, fixed Project Website link

4.14

Linearly depended directions 1-time restart, not failure:

1) Orthogonalization of directions P moved to a different spot.
2) Linearly depended directions P now result in a 1-time restart, where the whole P is dropped once, not failure as before

1.6

Connected to GitHub

1.5

added a conversion to a toolbox
A minor update. Functions can now be called using also function handles. Updated comments and examples.
added a toolbox format

1.4.0.0

Editorial changes to make the code Octave-compatible.

1.1.0.0

License update to free software (BSD). Comments update.

1.0.0.0

minor update to remove mlint messages

Pour consulter ou signaler des problèmes liés à ce module complémentaire GitHub, accédez au dépôt GitHub.
Pour consulter ou signaler des problèmes liés à ce module complémentaire GitHub, accédez au dépôt GitHub.