23 #ifndef PLLL_INCLUDE_GUARD__LINALG_HPP
24 #define PLLL_INCLUDE_GUARD__LINALG_HPP
arithmetic::Integer det(const math_matrix< arithmetic::Integer > &A)
Computes the determinant of an integer matrix A.
unsigned hnf(math_matrix< arithmetic::Integer > &A)
Computes the Hermite Normal Form (HNF) of the given matrix A by applying row operations.
The matrix and vector template library.
math_colvector< arithmetic::Integer > solveInt(const math_matrix< arithmetic::Integer > &A, const math_colvector< arithmetic::Integer > &w)
Assumes that the linear system A * v == w has a solution in the integers. Finds this solution...
void invert(math_matrix< arithmetic::Integer > &inverse, const math_matrix< arithmetic::Integer > &A, const arithmetic::Integer &startPrime=arithmetic::Integer())
Assumes that A is invertible. Inverts the matrix A and stores the result in inverse.
math_matrix< arithmetic::Integer > kernel(const math_matrix< arithmetic::Integer > &A)
Computes a -basis of the right-kernel of A.
std::pair< math_colvector< arithmetic::Integer >, arithmetic::Integer > solve(const math_matrix< arithmetic::Integer > &A, const math_colvector< arithmetic::Integer > &b)
Solves the linear system A * x == b over the rationals.
Represents a math column vector with coefficients in T.
math_matrix< arithmetic::Integer > solveUniqInt(const math_matrix< arithmetic::Integer > &A, const math_matrix< arithmetic::Integer > &w, const arithmetic::Integer &startPrime=arithmetic::Integer())
Assumes that A is a square matrix and that the equation A * res == w has a unique solutions in the in...
Represents an arbitrary precision integer.
Represents a math matrix with coefficients in T.