#include "config.hpp"#include <cmath>#include <iostream>#include <iomanip>#include <functional>#include "type_opers.hpp"#include "type_traits.hpp"#include "factory.hpp"#include "exception.hpp"#include "powerest.hpp"#include "vector.hpp"#include "matrix.hpp"#include "std_import.hpp"#include "gauss.cpp"Go to the source code of this file.
Namespaces | |
| namespace | Arageli |
| namespace | Arageli::ctrl |
| namespace | Arageli::_Internal |
Classes | |
| struct | Arageli::ctrl::rref_gauss_field_idler |
| class | Arageli::ctrl::rref_gauss_field_idler::abort |
| struct | Arageli::ctrl::rref_gauss_bareiss_idler |
| class | Arageli::ctrl::rref_gauss_bareiss_idler::abort |
| struct | Arageli::ctrl::rref_field_idler |
| class | Arageli::ctrl::rref_field_idler::abort |
| struct | Arageli::ctrl::rref_int_idler |
| class | Arageli::ctrl::rref_int_idler::abort |
| struct | Arageli::ctrl::rref_idler |
| class | Arageli::ctrl::rref_idler::abort |
Defines | |
| #define | ARAGELI_INCLUDE_CPP_WITH_EXPORT_TEMPLATE_GAUSS |
Functions | |
| template<typename M> | |
| void | Arageli::gauss_field_row_iter (M &a, typename M::size_type row, typename M::size_type col) |
| Gauss elimination of column col with row manipulation. | |
| template<typename M> | |
| void | Arageli::gauss_field_col_iter (M &a, typename M::size_type row, typename M::size_type col) |
| Gauss elimination of row with column manipulation. | |
| template<typename M, typename T> | |
| void | Arageli::gauss_bareiss_row_iter (M &a, typename M::size_type row, typename M::size_type col, T &det, T &det_denom) |
| Gauss-Bareiss elimination of column col with row manipulation. | |
| template<typename M, typename T> | |
| void | Arageli::gauss_bareiss_col_iter (M &a, typename M::size_type row, typename M::size_type col, T &det, T &det_denom) |
| Gauss-Bareiss elimination of row with column manipulation. | |
| template<typename M> | |
| void | Arageli::gauss_bareiss_row_iter (M &a, typename M::size_type row, typename M::size_type col) |
| Gauss-Bareiss elimination of column col with row manipulation. | |
| template<typename M> | |
| void | Arageli::gauss_bareiss_col_iter (M &a, typename M::size_type row, typename M::size_type col) |
| Gauss-Bareiss elimination of row with column manipulation. | |
| template<typename A, typename B, typename Q, typename Basis, typename T, typename T_factory, typename Ctrler> | |
| void | Arageli::rref_gauss_field (const A &a, B &b, Q &q, Basis &basis, T &det, const T_factory &tfctr, Ctrler ctrler) |
| Produces the reduced row echelon form B of the matrix a over a field. | |
| template<typename A, typename B, typename Q, typename Basis, typename T, typename Ctrler> | |
| void | Arageli::rref_gauss_field (const A &a, B &b, Q &q, Basis &basis, T &det, Ctrler ctrler) |
| Produces the reduced row echelon form B of a matrix A. | |
| template<typename A, typename B, typename Q, typename Basis, typename T> | |
| void | Arageli::rref_gauss_field (const A &a, B &b, Q &q, Basis &basis, T &det) |
| Produces the reduced row echelon form B of a matrix A. | |
| template<typename A, typename B, typename Q, typename Basis> | |
| void | Arageli::rref_gauss_field (const A &a, B &b, Q &q, Basis &basis) |
| Produces the reduced row echelon form B of a matrix A. | |
| template<typename A, typename B, typename Q> | |
| void | Arageli::rref_gauss_field (const A &a, B &b, Q &q) |
| Produces the reduced row echelon form B of a matrix A. | |
| template<typename A, typename B> | |
| void | Arageli::rref_gauss_field (const A &a, B &b) |
| Produces the reduced row echelon form B of a matrix A. | |
| template<typename A> | |
| A | Arageli::rref_gauss_field (const A &a) |
| Produces the reduced row echelon form B of a matrix A. | |
| template<typename A, typename B, typename Q, typename Basis, typename T, typename T_factory, typename Ctrler> | |
| void | Arageli::rref_field (const A &a, B &b, Q &q, Basis &basis, T &det, const T_factory &tfctr, Ctrler ctrler) |
| Produces the reduced row echelon form B of the matrix a over a field. | |
| template<typename A, typename B, typename Q, typename Basis, typename T, typename Ctrler> | |
| void | Arageli::rref_field (const A &a, B &b, Q &q, Basis &basis, T &det, Ctrler ctrler) |
| Produces the reduced row echelon form B of the matrix a over a field. | |
| template<typename A, typename B, typename Q, typename Basis, typename T> | |
| void | Arageli::rref_field (const A &a, B &b, Q &q, Basis &basis, T &det) |
| Produces the reduced row echelon form B of the matrix a over a field. | |
| template<typename A, typename B, typename Q, typename Basis> | |
| void | Arageli::rref_field (const A &a, B &b, Q &q, Basis &basis) |
| Produces the reduced row echelon form B of the matrix a over a field. | |
| template<typename A, typename B, typename Q> | |
| void | Arageli::rref_field (const A &a, B &b, Q &q) |
| Produces the reduced row echelon form B of the matrix a over a field. | |
| template<typename A, typename B> | |
| void | Arageli::rref_field (const A &a, B &b) |
| Produces the reduced row echelon form B of the matrix a over a field. | |
| template<typename A> | |
| A | Arageli::rref_field (const A &a) |
| Produces the reduced row echelon form B of the matrix a over a field. | |
| template<typename A1, typename A2, typename I> | |
| void | Arageli::mat_col_copy_order (const A1 &a1, A2 &a2, const I &idx) |
| Copies columns from a1 to a2 in order indexes in idx then tails the rest. | |
| template<typename A1, typename A2, typename I> | |
| void | Arageli::vec_copy_order (const A1 &a1, A2 &a2, const I &idx) |
| Copies elements from a1 to a2 in order indexes in idx then tails the rest. | |
| template<typename A, typename B> | |
| void | Arageli::vec_inverse_permutation (const A &a, B &b) |
| Inverses permutation vector. | |
| template<typename A, typename B, typename Q, typename Basis_in, typename Basis_out, typename Det> | |
| void | Arageli::rref_order (const A &a, B &b, Q &q, const Basis_in &basis_in, Basis_out &basis_out, Det &det) |
| Produces the reduced row echelon from B of the matrix A with a specific column order. | |
| template<typename T, bool REFCNT> | |
| matrix< T, REFCNT > | Arageli::inverse (const matrix< T, REFCNT > &A) |
| Matrix inversion. | |
| template<typename T, bool REFCNT> | |
| T | Arageli::det (const matrix< T, REFCNT > &A) |
| Returns determinant of A. | |
| template<typename T, bool REFCNT> | |
| matrix< T, REFCNT >::size_type | Arageli::rank (const matrix< T, REFCNT > &A) |
| Returns a rank of a matrix. | |
| template<typename A, typename B, typename Q, typename Basis, typename T, typename T_factory, typename Ctrler> | |
| void | Arageli::rref_gauss_bareiss (const A &a, B &b, Q &q, Basis &basis, T &det, const T_factory &tfctr, Ctrler ctrler) |
| Produces the reduced row echelon form B of the matrix a over an integer domain. | |
| template<typename A, typename B, typename Q, typename Basis, typename T, typename Ctrler> | |
| void | Arageli::rref_gauss_bareiss (const A &a, B &b, Q &q, Basis &basis, T &det, Ctrler ctrler) |
| Produces the reduced row echelon form B of the matrix a over an integer domain. | |
| template<typename A, typename B, typename Q, typename Basis, typename T> | |
| void | Arageli::rref_gauss_bareiss (const A &a, B &b, Q &q, Basis &basis, T &det) |
| Produces the reduced row echelon form B of the matrix a over an integer domain. | |
| template<typename A, typename B, typename Q, typename Basis> | |
| void | Arageli::rref_gauss_bareiss (const A &a, B &b, Q &q, Basis &basis) |
| Produces the reduced row echelon form B of the matrix a over an integer domain. | |
| template<typename A, typename B, typename Q> | |
| void | Arageli::rref_gauss_bareiss (const A &a, B &b, Q &q) |
| Produces the reduced row echelon form B of the matrix a over an integer domain. | |
| template<typename A, typename B> | |
| void | Arageli::rref_gauss_bareiss (const A &a, B &b) |
| Produces the reduced row echelon form B of the matrix a over an integer domain. | |
| template<typename A> | |
| A | Arageli::rref_gauss_bareiss (const A &a) |
| Produces the reduced row echelon form B of the matrix a over an integer domain. | |
| template<typename A, typename B, typename Q, typename Basis, typename T, typename T_factory, typename Ctrler> | |
| void | Arageli::rref_int (const A &a, B &b, Q &q, Basis &basis, T &det, const T_factory &tfctr, Ctrler ctrler) |
| Produces the reduced row echelon form B of the matrix a over an integer domain. | |
| template<typename A, typename B, typename Q, typename Basis, typename T, typename Ctrler> | |
| void | Arageli::rref_int (const A &a, B &b, Q &q, Basis &basis, T &det, Ctrler ctrler) |
| Produces the reduced row echelon form B of the matrix a over an integer domain. | |
| template<typename A, typename B, typename Q, typename Basis, typename T> | |
| void | Arageli::rref_int (const A &a, B &b, Q &q, Basis &basis, T &det) |
| Produces the reduced row echelon form B of the matrix a over an integer domain. | |
| template<typename A, typename B, typename Q, typename Basis> | |
| void | Arageli::rref_int (const A &a, B &b, Q &q, Basis &basis) |
| Produces the reduced row echelon form B of the matrix a over an integer domain. | |
| template<typename A, typename B, typename Q> | |
| void | Arageli::rref_int (const A &a, B &b, Q &q) |
| Produces the reduced row echelon form B of the matrix a over an integer domain. | |
| template<typename A, typename B> | |
| void | Arageli::rref_int (const A &a, B &b) |
| Produces the reduced row echelon form B of the matrix a over an integer domain. | |
| template<typename A> | |
| A | Arageli::rref_int (const A &a) |
| Produces the reduced row echelon form B of the matrix a over an integer domain. | |
| template<typename A, typename B, typename Q, typename Basis, typename T, typename T_factory, typename Ctrler> | |
| void | Arageli::_Internal::rref_helper_1 (const A &a, B &b, Q &q, Basis &basis, T &det, const T_factory &tfctr, Ctrler ctrler, const true_type &) |
| template<typename A, typename B, typename Q, typename Basis, typename T, typename T_factory, typename Ctrler> | |
| void | Arageli::_Internal::rref_helper_1 (const A &a, B &b, Q &q, Basis &basis, T &det, const T_factory &tfctr, Ctrler ctrler, const false_type &) |
| template<typename A, typename B, typename Q, typename Basis, typename T, typename T_factory, typename Ctrler> | |
| void | Arageli::rref (const A &a, B &b, Q &q, Basis &basis, T &det, const T_factory &tfctr, Ctrler ctrler) |
| Produces the reduced row echelon form B of the matrix a. | |
| template<typename A, typename B, typename Q, typename Basis, typename T, typename Ctrler> | |
| void | Arageli::rref (const A &a, B &b, Q &q, Basis &basis, T &det, Ctrler ctrler) |
| Produces the reduced row echelon form B of the matrix a. | |
| template<typename A, typename B, typename Q, typename Basis, typename T> | |
| void | Arageli::rref (const A &a, B &b, Q &q, Basis &basis, T &det) |
| Produces the reduced row echelon form B of the matrix a. | |
| template<typename A, typename B, typename Q, typename Basis> | |
| void | Arageli::rref (const A &a, B &b, Q &q, Basis &basis) |
| Produces the reduced row echelon form B of the matrix a. | |
| template<typename A, typename B, typename Q> | |
| void | Arageli::rref (const A &a, B &b, Q &q) |
| Produces the reduced row echelon form B of the matrix a. | |
| template<typename A, typename B> | |
| void | Arageli::rref (const A &a, B &b) |
| Produces the reduced row echelon form B of the matrix a. | |
| template<typename A> | |
| A | Arageli::rref (const A &a) |
| Produces the reduced row echelon form B of the matrix a. | |
| template<typename T, bool REFCNT> | |
| T | Arageli::det_int (const matrix< T, REFCNT > &A) |
| Returns determinant of integer matrix A. | |
| template<typename T, bool REFCNT> | |
| matrix< T, REFCNT >::size_type | Arageli::rank_int (const matrix< T, REFCNT > &A) |
| Returns a rank of integer matrix. | |
Definition in file gauss.hpp.
1.4.7