8#include "helper_functions.h"
40 char processor_name[MPI_MAX_PROCESSOR_NAME];
76 BTASolver(
size_t ns_,
size_t nt_,
size_t nb_,
size_t no_,
int thread_ID_);
91 void factorize_w_constr(SpMat&
Q,
const MatrixXd& D,
double&
log_det, MatrixXd& V);
103 void factorize_solve_w_constr(SpMat&
Q, Vect&
rhs,
const MatrixXd& Dxy,
double &
log_det, Vect&
sol, MatrixXd& V);
114 void selected_inversion_w_constr(SpMat&
Q,
const MatrixXd& D, Vect& inv_diag, MatrixXd& V);
creates solver class using BTA-GPU for factorising, solving and selectively inverting linear system.
Definition BTASolver.h:33
int * ia
Definition BTASolver.h:63
double * a
Definition BTASolver.h:65
~BTASolver()
class destructor. Frees memory allocated by BTA.
Definition BTASolver.cpp:683
int * ja
Definition BTASolver.h:64
BTA< double > * solver
Definition BTASolver.h:70
SpMat Q
Definition BTASolver.h:61
unsigned int nnz
Definition BTASolver.h:47
void factorize(SpMat &Q, double &log_det, double &t_priorLatChol)
numerical factorisation using block-wise factorisation on GPU.
Definition BTASolver.cpp:105
void selected_inversion(SpMat &Q, Vect &inv_diag)
selected inversion of the diagonal elements of Q.
Definition BTASolver.cpp:501
double * x
Definition BTASolver.h:68
void factorize_solve(SpMat &Q, Vect &rhs, Vect &sol, double &log_det, double &t_condLatChol, double &t_condLatSolve)
factorises and solves matrix in one call
Definition BTASolver.cpp:280
double * b
Definition BTASolver.h:67
void symbolic_factorization(SpMat &Q, int &init)
not used for BTASolver, only in PARDISO
Definition BTASolver.cpp:99
Template class for Block Triangular Arrowhead Solver.
Definition BTA.H:32
abstract base solver class to enable to be able two switch between solvers (current options: PARDISO ...
Definition Solver.h:27
double log_det
Definition Solver.h:47
int init
Definition Solver.h:45
Vect rhs
Definition Solver.h:50
Vect sol
Definition Solver.h:51