Skip to main content

Preconditioner

Trait Preconditioner 

Source
pub trait Preconditioner<T>: Send + Sync
where T: ComplexField,
{ // Required method fn apply( &self, r: &ArrayBase<OwnedRepr<T>, Dim<[usize; 1]>>, ) -> ArrayBase<OwnedRepr<T>, Dim<[usize; 1]>>; }
Expand description

Trait for preconditioners used in iterative solvers.

A preconditioner M approximates A^(-1), so that M*A is better conditioned than A alone. This accelerates convergence of iterative methods.

Required Methods§

Source

fn apply( &self, r: &ArrayBase<OwnedRepr<T>, Dim<[usize; 1]>>, ) -> ArrayBase<OwnedRepr<T>, Dim<[usize; 1]>>

Apply the preconditioner: y = M * r

This should approximate solving A * y = r

Implementors§

Source§

impl Preconditioner<Complex<f64>> for math_audio_bem::core::solver::fmm_interface::DiagonalPreconditioner

Source§

impl Preconditioner<Complex<f64>> for HierarchicalFmmPreconditioner

Available on crate features native or wasm only.
Source§

impl Preconditioner<Complex<f64>> for SparseNearfieldIlu

Source§

impl<T> Preconditioner<T> for math_audio_solvers::preconditioners::diagonal::DiagonalPreconditioner<T>
where T: ComplexField,

Source§

impl<T> Preconditioner<T> for IluColoringPreconditioner<T>
where T: ComplexField + Send + Sync,

Source§

impl<T> Preconditioner<T> for IluFixedPointPreconditioner<T>
where T: ComplexField + Send + Sync,

Source§

impl<T> Preconditioner<T> for AdditiveSchwarzPreconditioner<T>
where T: ComplexField + Send + Sync,

Source§

impl<T> Preconditioner<T> for IdentityPreconditioner
where T: ComplexField,

Source§

impl<T> Preconditioner<T> for AmgPreconditioner<T>
where T: ComplexField, <T as ComplexField>::Real: Sync + Send,

Source§

impl<T> Preconditioner<T> for IluPreconditioner<T>
where T: ComplexField,