pub struct JacobiPreconditioner<T: GpuFloat> { /* private fields */ }Expand description
Jacobi (diagonal) preconditioner.
Stores the inverse diagonal of the system matrix. Applying the
preconditioner computes z_i = r_i / a_ii for each component.
Implementations§
Source§impl<T: GpuFloat> JacobiPreconditioner<T>
impl<T: GpuFloat> JacobiPreconditioner<T>
Sourcepub fn new(diagonal: &[T]) -> SolverResult<Self>
pub fn new(diagonal: &[T]) -> SolverResult<Self>
Creates a Jacobi preconditioner from the diagonal of the matrix.
§Arguments
diagonal— the main diagonal of the system matrix.
§Errors
Returns SolverError::InternalError if any diagonal entry is zero.
Trait Implementations§
Source§impl<T: GpuFloat> Preconditioner<T> for JacobiPreconditioner<T>
impl<T: GpuFloat> Preconditioner<T> for JacobiPreconditioner<T>
Auto Trait Implementations§
impl<T> Freeze for JacobiPreconditioner<T>
impl<T> RefUnwindSafe for JacobiPreconditioner<T>where
T: RefUnwindSafe,
impl<T> Send for JacobiPreconditioner<T>
impl<T> Sync for JacobiPreconditioner<T>
impl<T> Unpin for JacobiPreconditioner<T>where
T: Unpin,
impl<T> UnsafeUnpin for JacobiPreconditioner<T>
impl<T> UnwindSafe for JacobiPreconditioner<T>where
T: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more