Go to the documentation of this file.
void bslv_info(bslv_memory *mem, int count) Display convergence information.
void bslv_init(bslv_memory *mem, double tol, int max_iter, bsr_matrix const *A, bool use_dilu) Initialize solver memory object.
int bslv_pbicgstabm(bslv_memory *mem, bsr_matrix *A, const double *b, double *x) Preconditioned bicgstab in mixed-precision.
void bslv_free(bslv_memory *mem) Delete solver memroy object.
struct bslv_memory bslv_memory Linear solver memory.
bslv_memory * bslv_alloc() Create empty solver memory object.
int bslv_pbicgstab3d(bslv_memory *mem, bsr_matrix *A, const double *b, double *x) Preconditioned bicgstab in double-precision.
Linear solver memory. Definition: bslv.h:18
int n Definition: bslv.h:30
int max_iter Definition: bslv.h:25
void(* bsr_spmv)(bsr_matrix *A, const double *x, double *y) Definition: bslv.h:38
void(* prec_apply)(prec_t *P, double *x) Definition: bslv.h:44
double tol Definition: bslv.h:23
prec_t * P Definition: bslv.h:35
double * e Definition: bslv.h:27
bool use_dilu Definition: bslv.h:20
double ** dtmp Definition: bslv.h:32
void(* prec_factorize)(prec_t *P, bsr_matrix *A, bool use_dilu) Definition: bslv.h:41
Mixed-precision bsr matrix. Definition: bsr.h:12
Preconditioner struct. Definition: prec.h:15
|