6#include <boost/numeric/ublas/matrix.hpp>
7#include <boost/numeric/ublas/vector.hpp>
8#include <boost/numeric/ublas/matrix_proxy.hpp>
9#include <boost/numeric/ublas/lu.hpp>
33 boost::numeric::ublas::vector<size_t>
P;
48 using namespace boost::numeric::ublas;
50 std::iota(P.begin(), P.end(), 0);
52 for (
size_t i = 0;
i < N; ++
i) {
55 for (
size_t k =
i;
k < N; ++
k) {
71 for (
size_t j =
i + 1;
j < N; ++
j) {
73 for (
size_t k =
i + 1;
k < N; ++
k)
74 A(
j,
k) -= A(
j,
i) * A(
i,
k);
86 for (
size_t i = 0;
i < N; ++
i) {
88 for (
size_t k = 0;
k <
i; ++
k)
89 x(
i) -= A(
i,
k) * x(
k);
92 for (
size_t i = N;
i > 0; --
i) {
93 for (
size_t k =
i;
k < N; ++
k)
94 x(
i - 1) -= A(
i - 1,
k) * x(
k);
95 x(
i - 1) = x(
i - 1) / A(
i - 1,
i - 1);
websocketpp::client< websocketpp::config::asio_client > client
Definition ComputeThread.cc:15
bool gaussian_elimination_inplace(std::vector< std::vector< cadabra::multiplier_t > > &, std::vector< cadabra::multiplier_t > &)
int k
Definition passing.cc:4
boost::numeric::ublas::vector< size_t > P
Definition Linear.hh:33
boost::numeric::ublas::matrix< T > matrix_type
Definition Linear.hh:22
boost::numeric::ublas::vector< T > vector_type
Definition Linear.hh:23
matrix_type A
Definition Linear.hh:32
size_t N
Definition Linear.hh:35
bool factorize(const matrix_type &A_)
Definition Linear.hh:39
vector_type solve(const vector_type &y)
Definition Linear.hh:83
vector_type x
Definition Linear.hh:34