oILAB
Loading...
Searching...
No Matches
RationalMatrix.h
Go to the documentation of this file.
1/* This file is part of gbLAB.
2 *
3 * gbLAB is distributed without any warranty under the MIT License.
4 */
5
6
7#ifndef gbLAB_RationalMatrix_h_
8#define gbLAB_RationalMatrix_h_
9
10#include <Eigen/Dense>
11namespace gbLAB
12{
13
14 template <int dim>
16 {
17
18 typedef Eigen::Matrix< double,dim,1> VectorDimD;
19 typedef Eigen::Matrix<double,dim,dim> MatrixDimD;
20 typedef long long int IntScalarType;
21 typedef Eigen::Matrix<IntScalarType,dim,1> VectorDimI;
22 typedef Eigen::Matrix<IntScalarType,dim,dim> MatrixDimI;
23
24 //static constexpr int64_t maxDen=10000000;
25 static constexpr long long int maxDen=1000000;
26 static std::pair<MatrixDimI,IntScalarType> compute(const MatrixDimD& R);
27 static std::pair<MatrixDimI,IntScalarType> reduce(const MatrixDimI& Rn, const MatrixDimI& Rd);
28
29 const std::pair<MatrixDimI,IntScalarType> returnPair;
30
31 public:
32
35
36 RationalMatrix(const MatrixDimD& R) ;
37 RationalMatrix(const MatrixDimI& Rn,const IntScalarType& Rd);
38 RationalMatrix(const MatrixDimI& Rn, const MatrixDimI& Rd);
39 MatrixDimD asMatrix() const;
40
41 };
42
43} // end namespace
44#endif
45
46
Eigen::Matrix< double, dim, 1 > VectorDimD
Eigen::Matrix< double, dim, dim > MatrixDimD
MatrixDimD asMatrix() const
long long int IntScalarType
Eigen::Matrix< IntScalarType, dim, 1 > VectorDimI
static constexpr long long int maxDen
const IntScalarType & mu
const MatrixDimI & integerMatrix
const std::pair< MatrixDimI, IntScalarType > returnPair
static std::pair< MatrixDimI, IntScalarType > reduce(const MatrixDimI &Rn, const MatrixDimI &Rd)
Eigen::Matrix< IntScalarType, dim, dim > MatrixDimI
static std::pair< MatrixDimI, IntScalarType > compute(const MatrixDimD &R)