BSEPACK—A Parallel Package for Solving Definite Bethe–Salpeter Eigenvalue Problems



    Bethe–Salpeter Eigenvalue Solver Package (BSEPACK) is a parallel ScaLAPACK-style library for solving the definite Bethe–Salpeter eigenvalue problem of the form
    and computing the absorption spectrum


    is Hermitian and positive definite. The library is written in Fortran 90, and targets distributed memory HPC systems.


    The latest version (v. 0.1) is available here (Last updated 2016-12-19).

Installation guide

    Before building BSEPACK, make sure the following software is installed.

    After downloading and unpacking, modify the "" file according to your system (compiler, linker, libraries, etc.). Then use "make all" to build the library. We refer to the User's Guide for detailed instructions.


  1. M. Shao, F. H. da Jornada, C. Yang, J. Deslippe, and S. G. Louie. Structure preserving parallel algorithms for solving the Bethe–Salpeter eigenvalue problem. Linear Algebra Appl., 488:148–167, 2016.

  2. J. Brabec, L. Lin, M. Shao, N. Govind, Y. Saad, C. Yang, and E. G. Ng. Efficient algorithms for estimating the absorption spectrum within linear response TDDFT. J. Chem. Theory Comput. 11(11), 5197–5208, 2015.

  3. M. Shao, F. H. da Jornada, L. Lin, C. Yang, J. Deslippe, and S. G. Louie. A structure preserving Lanczos algorithm for computing the optical absorption spectrum. SIAM J. Matrix Anal. Appl., 39(2):683–711, 2018.

  4. M. Shao and C. Yang. BSEPACK User's Guide. arXiv:1612.07848, 2016.

Terms of usage

    BSEPACK is released under a modified BSD License. In addition, any use of the library should be acknowledged by citing the corresponding publication as follows:
    • Cite [1,4] if you use the subroutines PDBSEIG/PZBSEIG;
    • Cite [2,3,4] if you use the subroutines PDBSABSP/PZBSABSP.

Bug reports

    Please send an email to