Skip to main content

DlrFromIr

Trait DlrFromIr 

Source
pub trait DlrFromIr<S>: Sized
where S: StatisticsType,
{ // Required methods fn from_ir_with_poles<B>(basis: &B, poles: Vec<f64>) -> Result<Self, Error> where B: IrBasis<S>; fn from_ir<B>(basis: &B) -> Result<Self, Error> where B: IrBasis<S>; }
Expand description

Constructors of a DiscreteLehmannRepresentation from an IR basis

The returned DLR carries the IrDlrTransform of its source basis, so DiscreteLehmannRepresentation::from_ir_nd and DiscreteLehmannRepresentation::to_ir_nd work on it.

Required Methods§

Source

fn from_ir_with_poles<B>(basis: &B, poles: Vec<f64>) -> Result<Self, Error>
where B: IrBasis<S>,

Create a DLR from an IR basis with custom poles

The tau-domain pole basis is built from the logistic representation, while kernel-specific regularizers are preserved for compatible kernels.

§Arguments
  • basis - The IR basis to construct DLR from
  • poles - Pole positions on the real-frequency axis, in [-ωmax, ωmax] of basis
§Errors

Duplicate poles are accepted. They make DiscreteLehmannRepresentation::from_ir_nd ill-conditioned: the coefficients of equal poles are not unique, although the round trip through DiscreteLehmannRepresentation::to_ir_nd still recovers the IR coefficients.

Source

fn from_ir<B>(basis: &B) -> Result<Self, Error>
where B: IrBasis<S>,

Create a DLR from an IR basis with its default pole locations

Uses the default omega sampling points from the basis.

§Arguments
  • basis - The IR basis to construct DLR from
§Errors

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§