Skip to main content

sparse_ir/
lib.rs

1#![doc = include_str!("../README.md")]
2
3//! ## Where to go next
4//!
5//! - The [Rust User Guide](https://spm-lab.github.io/sparse-ir-rs/) walks
6//!   through sparse sampling, IR/DLR transforms, MiniPole and applied
7//!   calculations, with runnable examples.
8//! - [`FiniteTempBasis`], [`TauSampling`] and [`MatsubaraSampling`] are the
9//!   entry points for the IR basis; [`DiscreteLehmannRepresentation`] and
10//!   [`DlrBuilder`] for the DLR; [`minipole`] and [`esprit`] for pole
11//!   reconstruction.
12
13pub use sparse_ir_core::debug_warn;
14pub use sparse_ir_core::{
15    ArrayRole, Basis, Bosonic, BosonicFreq, DynRank, Error, ErrorKind, Fermionic, FermionicFreq,
16    InplaceFitter, Matrix, MatsubaraFreq, MatsubaraSampling, MatsubaraSamplingPositiveOnly, Rank,
17    Result, Statistics, StatisticsMarker, StatisticsType, TauSampling, TensorScalar, TypedTensor,
18    TypedTensorView, TypedTensorViewMut, is_debug_enabled,
19};
20pub use sparse_ir_core::{
21    basis_trait, error, fitters, fpu_check, freq, gemm, matrix, matsubara_sampling, sampling,
22    taufuncs, traits,
23};
24
25pub use sparse_ir_dlr::dlr;
26pub use sparse_ir_dlr::{
27    DiscreteLehmannRepresentation, DlrBuilder, IrDlrTransform, bosonic_single_pole,
28    fermionic_single_pole, giwn_single_pole, gtau_single_pole,
29};
30
31pub use sparse_ir_minipole::{esprit, minipole};
32
33pub use sparse_ir_basis::{
34    AbstractKernel, BosonicBasis, BosonicPiecewiseLegendreFT, BosonicPiecewiseLegendreFTVector,
35    CentrosymmKernel, CentrosymmSVE, CustomNumeric, Df64, DiscretizedKernel, DlrFromIr,
36    FermionicBasis, FermionicPiecewiseLegendreFT, FermionicPiecewiseLegendreFTVector,
37    FiniteTempBasis, IrBasis, KernelProperties, LogisticKernel, LogisticSVEHints,
38    PiecewiseLegendreFT, PiecewiseLegendreFTVector, PiecewiseLegendrePoly,
39    PiecewiseLegendrePolyVector, PowerModel, RegularizedBoseKernel, RegularizedBoseSVEHints, Rule,
40    SVDResult, SVDStrategy, SVEHints, SVEResult, SVEStrategy, SamplingSVE, SymmetryType,
41    TSVDConfig, TworkType, compute_logistic_kernel, compute_sve, legendre, legendre_custom,
42    legendre_twofloat, matrix_from_gauss, matrix_from_gauss_noncentrosymmetric,
43    matrix_from_gauss_with_segments, svd_decompose, tsvd_df64, tsvd_df64_from_f64, tsvd_f64,
44};
45pub use sparse_ir_basis::{
46    basis, gauss, ir_dlr, kernel, kernelmatrix, numeric, poly, polyfourier, special_functions, sve,
47    tsvd,
48};