Determinant of rational matrix.
#include <iostream>
#include <givaro/givrational.h>
typedef Givaro::QField<Givaro::Rational>
Rationals;
template<typename RMatrix>
int ratdet(
int argc,
char **argv) {
std::ifstream input (argv[1]);
if (!input) {
std::cerr << "Error opening matrix file: " << argv[1] << std::endl;
return -1;
}
RMatrix A ( ms );
Rationals::Element det_A;
tim.stop();
std::cout << "Determinant is ";
QQ.write(std::cout, det_A) << ':' << std::flush;
std::clog << tim << std::endl;
return 0;
}
int main (
int argc,
char **argv)
{
bool dense=true;
if (argc < 2 || argc > 3) {
std::cerr << "Usage: ratdet <matrix-file-in-supported-format> [d/s]" << std::endl;
return -1;
}
if (argc == 3) {
if (argv[2][0] != 'd') dense=false;
}
if (dense)
else
}
MatrixStream.
Definition matrix-stream.h:200
Blackbox::Field::Element & det(typename Blackbox::Field::Element &d, const Blackbox &A, const DomainCategory &tag, const DetMethod &Meth)
Compute the determinant of A.
linbox base configuration file
Namespace in which all linbox code resides.
Definition alt-blackbox-block-container.h:4
Givaro::Timer Timer
Definition timer.h:55
int ratdet(int argc, char **argv)
Definition ratdet.C:42
Givaro::QField< Givaro::Rational > Rationals
Definition ratdet.C:39
SparseMatrixFormat::SparseSeq SparseStorage
Definition ratdet.C:38
A SparseMatrix<_Field, _Storage> ....
Commentator & commentator()
Definition commentator.h:998
int main()
Definition test-tutorial.C:54