Libraries#
All libraries compute the same IR basis, DLR and sampling points, follow the notation and conventions, and share the backend in sparse-ir-rs. Pick the one for your language.
Python: sparse-ir#
pip install sparse-ir
Repository: SpM-lab/sparse-ir
Documentation and API reference: sparse-ir.readthedocs.io
Tutorial notebooks: sparse-ir tutorial (the
_pychapters)
Julia: SparseIR.jl#
] add SparseIR
Repository: SpM-lab/SparseIR.jl
Documentation and API reference: SparseIR.jl documentation
Tutorial notebooks: sparse-ir tutorial (the
_jlchapters)
Rust: sparse-ir-rs#
[dependencies]
sparse-ir = "0.13"
Repository: SpM-lab/sparse-ir-rs
Guide and tutorials, including MiniPole and the applied examples: Rust guide. The Rust tutorials live in this guide, not in the Python and Julia tutorial.
API reference: docs.rs/sparse-ir
C and C++#
The C API is the sparse-ir-capi crate of sparse-ir-rs; it builds a shared library (libsparseir) and a C header.
Building and usage: sparse-ir-capi README
API reference: docs.rs/sparse-ir-capi
Fortran#
The Fortran bindings call the C API and are part of sparse-ir-rs.
Building and usage: Fortran README
Example: second-order perturbation theory
Older libraries#
irbasis, irlib, libsparseir, pysparseir, LibSparseIR.jl, sparse-ir-fortran and the tutorial for sparse-ir v1 are superseded by the libraries above. The SpM-lab home page lists what replaces each of them.