11 Matrix(
int mat_size) : n(mat_size) {}
13 virtual double get_element(
int i,
int j)
const = 0;
14 virtual void set_element(
int i,
int j,
double aij) = 0;
15 virtual void factorize();
16 virtual DSpan1D solve_inplace(DSpan1D b)
const;
17 virtual DSpan1D solve_transpose_inplace(DSpan1D b)
const;
18 virtual DSpan2D solve_multiple_inplace(DSpan2D bx)
const;
23 static std::unique_ptr<Matrix> make_new_banded(
int n,
int kl,
int ku,
bool pds);
24 static std::unique_ptr<Matrix> make_new_periodic_banded(
int n,
int kl,
int ku,
bool pds);
25 static std::unique_ptr<Matrix> make_new_block_with_banded_region(
34 virtual int factorize_method() = 0;
35 virtual int solve_inplace_method(
double* b,
char transpose,
int n_equations)
const = 0;