38# ifndef __BITPIT_SYSTEM_SOLVERS_SMALL_HPP__
39# define __BITPIT_SYSTEM_SOLVERS_SMALL_HPP__
51# include "bitpit_operators.hpp"
58namespace linearalgebra{
62extern const int ROW_MAJOR;
63extern const int COL_MAJOR;
69 std::vector< std::vector < T > > &,
74template <
class T,
size_t m,
size_t n>
76 std::array< std::array < T, n >, m > &,
82 std::vector<std::vector<double>> &,
83 std::vector<std::vector<double>> &,
84 std::vector<std::vector<double>> &,
85 std::vector<std::vector<double>> *
90 std::array<std::array<double, m>, m> &,
91 std::array<std::array<double, m>, m> &,
92 std::array<std::array<double, m>, m> &,
93 std::array<std::array<double, m>, m> *
97 std::vector<std::vector<double>> &,
98 std::vector<double> &,
104 std::array<std::array<double, m>, m> &,
105 std::array<double, m> &,
106 std::array<double, m> &
110 std::vector<std::vector<double>> &,
111 std::vector<double> &,
112 std::vector<double> &
117 std::array<std::array<double, m>, m> &,
118 std::array<double, m> &,
119 std::array<double, m> &
123 std::vector<std::vector<double>> &,
124 std::vector<double> &,
125 std::vector<double> &
130 std::array<std::array<double, m>, m> &,
131 std::array<double, m> &,
132 std::array<double, m> &
137 std::vector<double> &,
138 std::vector<double> &
156# include "system_solvers_small.tpp"
void forwardSubstitution(std::vector< std::vector< double > > &A, std::vector< double > &B, std::vector< double > &x)
void backwardSubstitution(std::vector< std::vector< double > > &A, std::vector< double > &B, std::vector< double > &x)
unsigned int factorizeLU(std::vector< std::vector< double > > &A, std::vector< std::vector< double > > &L, std::vector< std::vector< double > > &U, std::vector< std::vector< double > > *P)
void solveLU(std::vector< std::vector< double > > &A, std::vector< double > &B, std::vector< double > &x)
void cramer(std::vector< std::vector< T > > &, std::vector< T > &, std::vector< T > &)