batchlas::ILUKView< T > Struct Template Reference

Overview

template<typename T>
struct batchlas::ILUKView< T >

Non-owning description of a factored ILU(k) preconditioner.

This is what iluk_apply consumes, so the factor can live in an ILUKPreconditioner or in a caller-supplied workspace (the Span overload of iluk_factorize). Valid only while that storage is.

Template Parameters
Tscalar type

Definition at line 48 of file iluk.hh.

#include <batchlas/blas/functions/iluk.hh>

Variables

◆ lu

template<typename T>
MatrixView<T, MatrixFormat::CSR> batchlas::ILUKView< T >::lu

L (strict lower, unit diagonal implied) and U (upper, with diagonal).

Definition at line 49 of file iluk.hh.

◆ diag_positions

template<typename T>
Span<int> batchlas::ILUKView< T >::diag_positions

size n * batch_size, absolute indices into lu's values

Definition at line 50 of file iluk.hh.

◆ l_rows

template<typename T>
Span<int> batchlas::ILUKView< T >::l_rows

row indices ordered by forward-solve level

Definition at line 52 of file iluk.hh.

◆ l_level_ptr

template<typename T>
Span<int> batchlas::ILUKView< T >::l_level_ptr

size l_levels + 1

Definition at line 53 of file iluk.hh.

◆ u_rows

template<typename T>
Span<int> batchlas::ILUKView< T >::u_rows

row indices ordered by backward-solve level

Definition at line 54 of file iluk.hh.

◆ u_level_ptr

template<typename T>
Span<int> batchlas::ILUKView< T >::u_level_ptr

size u_levels + 1

Definition at line 55 of file iluk.hh.

◆ l_levels

template<typename T>
int batchlas::ILUKView< T >::l_levels = 0

number of forward-solve levels

Definition at line 56 of file iluk.hh.

◆ u_levels

template<typename T>
int batchlas::ILUKView< T >::u_levels = 0

number of backward-solve levels

Definition at line 57 of file iluk.hh.

◆ u_diagonals_usable

template<typename T>
bool batchlas::ILUKView< T >::u_diagonals_usable = false

every U diagonal is non-zero after the shift

Definition at line 59 of file iluk.hh.

◆ n

template<typename T>
int batchlas::ILUKView< T >::n = 0

order of each matrix

Definition at line 61 of file iluk.hh.

◆ batch_size

template<typename T>
int batchlas::ILUKView< T >::batch_size = 0

number of matrices

Definition at line 62 of file iluk.hh.

◆ diagonal_shift

template<typename T>
T batchlas::ILUKView< T >::diagonal_shift = T(1e-8)

shift the apply uses on U's diagonal

Definition at line 63 of file iluk.hh.