22 #ifndef UNFIT_INCLUDE_MATRIX_HPP_ 23 #define UNFIT_INCLUDE_MATRIX_HPP_ 53 Matrix(std::size_t num_rows, std::size_t num_cols,
double the_value);
68 Matrix(std::size_t num_rows, std::size_t num_cols,
69 const std::vector<double> &the_values);
78 void Assign(std::size_t num_rows, std::size_t num_cols,
double the_value);
87 void Assign(std::size_t num_rows, std::size_t num_cols,
88 const std::vector<double> &matrix_values);
98 double GetValue(std::size_t row, std::size_t col)
const noexcept;
108 void SetValue(std::size_t row, std::size_t col,
double the_value);
131 std::size_t
Size()
const noexcept;
138 bool Empty()
const noexcept;
162 bool upper_triangle =
true);
190 std::vector<double> InnerProduct(
const Matrix &m,
const std::vector<double> &v);
200 double InnerProduct(
const std::vector<double> &v1,
201 const std::vector<double> &v2);
225 std::vector<double> Scale(
const std::vector<double> &v,
226 const double scale_factor);
238 std::vector<double> AddSubtractVectors(
const std::vector<double> &v1,
239 const std::vector<double> &v2,
const bool isadd =
true);
253 std::vector<double> AddScaleVectors(
const std::vector<double> &v1,
254 const std::vector<double> &v2,
const double scale_factor);
271 double FindL2NormOfVector(
const std::vector<double> &v);
280 double SumOfSquares(
const std::vector<double> &v);
292 double MaxDiagonalMat(
const Matrix &m);
std::size_t GetNumberOfRows() const noexcept
Definition: Matrix.cpp:99
std::size_t GetNumberOfColumns() const noexcept
Definition: Matrix.cpp:94
std::size_t number_of_columns_
Definition: Matrix.hpp:176
Matrix()
Definition: Matrix.cpp:30
Definition: Matrix.hpp:33
Definition: Bounds.hpp:27
std::size_t number_of_rows_
Definition: Matrix.hpp:174
std::vector< double > values_
Definition: Matrix.hpp:170
bool Empty() const noexcept
Definition: Matrix.cpp:109
void SetValue(std::size_t row, std::size_t col, double the_value)
Definition: Matrix.cpp:87
double GetValue(std::size_t row, std::size_t col) const noexcept
Definition: Matrix.cpp:81
void AddConstantToDiagonal(double value, std::size_t offset=0, bool upper_triangle=true)
Definition: Matrix.cpp:114
void Assign(std::size_t num_rows, std::size_t num_cols, double the_value)
Definition: Matrix.cpp:58
std::size_t Size() const noexcept
Definition: Matrix.cpp:104