SelInv is the implementation of the Selected Inversion algorithm, which computes the selected elements of the inverse of a general sparse symmetric matrix.

Sequential version (last update: 12/18/2012):
Real symmetric : download
Complex symmetric : download

The parallel version of SelInv is included in the PEXSI package.


The Pole EXpansion and Selected Inversion method (PEXSI) is a fast method for evaluating certain selected elements of a matrix function. PEXSI is highly scalable on distributed memory parallel machines.
The parallel selected inversion method (PSelInv) is included in the PEXSI package.

For more information of PEXSI (including the download, install, and simple tutorial information), please visit the website:

PEXSI is now used in a number of community electronic structure software packages, such as BigDFT, CP2K, DFTB+, DGDFT, FHI-aims, Quantumwise ATK, and SIESTA. It is also part of the Electronic Structure Infrastructure (ELSI) Project.

You can also directly download the tarball here.


The Selected Column of Density Matrix (SCDM) method is an efficient and robust way for computing localized orbitals. It works for both isolated and condensed matter systems, insulators and metals. The simplest setup (isolated insulating system) only requires 2 lines of MATLAB code!

[Q,R,piv] = qr(Psi',0);
Phi = Psi*Q;

A more comprehensive prototype implementation of the SCDM method in MATLAB is here.

The SCDM method is being implemented in the Wannier90 software package for production level usage.


The Adaptively Compressed Exchange (ACE) method is an efficient and robust way for reducing the frequency of the application of the Fock exchange operator for hybrid exchange-correlation functional calculations.

The ACE formulation has been integrated into software packages such as Quantum ESPRESSO and PWMat.