linbox
Bug List
Global bench_rank (int carac)
no gz reader ?
Global distinct (I1 a, I1 b, Lp &c)

this already exists elsewhere

this already exists elsewhere

Class indexDomain
does not belong here
Namespace LinBox

it is dangerous to include matrices defs that include hom for their rebind...

those are not just traits:

Global LinBox::rank (size_t &r, const Blackbox &A, const RingCategories::ModularTag &tag, const Method::Auto &m)
choose (benchmark) better cuttoff (size, nbnz, sparse rep)
Global LinBox::rank (size_t &res, const Blackbox &A, const RingCategories::ModularTag &tag, const Method::Wiedemann &M)
This is too much for solutions. It belongs in algorithms
Global main (int argc, char **argv)

testRandomIterator fails

testRandomIterator fails

Global main (int ac, char **av)
: this one completely fails :
Global main (int argc, char *argv[])
q or not q ?
Global main (int argc, char **argv)

should be tried on NTZ_LL too

should be tried on NTZ_LL too

File modular.h
move Element& init(const Element&) to FFPACK. use using more..
Global printPolynomial (const Field &F, const Polynomial &v)
this should be elsewhere
File test-charpoly.C

occasionnnaly there is a "SIGFPE, Arithmetic exception." in CRA

testRandomCharpoly is not always tested !!

File test-ffpack.C
this file does not compile or the test fails for some fields.
File test-ftrmm.C

ftrmm fails on non-double transposed versions.

is fgemm correct on null A and B ?

Global test_fgemm (std::ostream &report, const Field &F)

needs p prime.

if beta != 0 but A and B are 0 (or don't exist) then C != beta C

Global test_ftrmm (std::ostream &report, const Field &F)

same code as above ?

same code as above ?

same code as above ?

same code as above ?

same code as above ?

same code as above ?

Global BlackboxContainerBase< Field, Blackbox >::BlackboxContainerBase (const Blackbox *BB, const Field &F)
no need for F
Global BlackboxContainerBase< Field, Blackbox >::BlackboxContainerBase (const Blackbox *BB, const Field &F, size_t Size)
no need for F
Class BlasMatrix< _Field, _Storage >
necessitates the inclusion of those things after of before. We should not include directly this but just the matrices and they automatically need their domain (for now)
Global BlasMatrix< _Field, _Storage >::operator[] (size_t i)
Rows and Cols should be BlasVectors
Class BlasMatrix< _Field, _Storage >::rebind< _Tp1, _Rep2 >
other rep
Global BlasMatrixDomain< Field_ >::areEqual (const Matrix1 &A, const Matrix2 &B) const
use refs
Global BlasMatrixDomain< Field_ >::isIdentity (const Matrix1 &A) const

use refs

use refs

Global BlasMatrixDomain< Field_ >::isIdentityGeneralized (const Matrix1 &A) const

use refs

use refs

Global BlasMatrixDomain< Field_ >::isZero (const Matrix1 &A) const
use refs
Global BlasMatrixDomain< Field_ >::setZero (Matrix &I) const
use fflas-ffpack
Global CRABuilderEarlyMultip< Domain_Type >::dot (Integer &z, const Integer &D, const Vect1 &v1, const Vect2 &v2)
why a dot product here ?
Global CRABuilderEarlyMultip< Domain_Type >::dot (DomainElement &z, const Domain &D, const Vect1 &v1, const Vect2 &v2)
why a dot product here ?
Global field_subtests::testRingTrivia (const Field &F, const char *name)
BlockRing does not know about 0 and 1 !
Global FieldArchetype::constructor (FieldAbstract *trait, Field_qcq *field_ptr)
leaks here (new not deleted)
Global generate_precRatMat (string &filename, RMatrix &M, DVector &den, Integer &denPrec)
non reentrant strtok
Class IndexedCategory< BlasMatrix< Field, _Rep > >
this is trait, not a Category
Global LinBox::CheckRank (const Field &F, const typename Field ::Element *A, const size_t &m, const size_t &n, const size_t &lda, const size_t &alledged_rank)
not used
Global LinBox::isPositiveDefinite (const Blackbox &A, const RingCategories::IntegerTag &tag, const Method::DenseElimination &M)
why map (same field)? This is a copy.
Global LinBox::isPositiveDefinite (const Blackbox &A, const RingCategories::IntegerTag &tag, const Method::Auto &M)

this crude size check can be refined

should try a modular minpoly and decide on the degree of that...

Global LinBox::Protected::Identity (const Field &F, typename Field::Element *Id, const size_t ldI, const size_t lig1, const size_t col1, const size_t lig2, const size_t col2)
long et size_t ne cohabitent pas bien.
Global LinBox::Protected::random_rankupdate (Field &F, const Randiter &R, BlasMatrix< Field > &A, int &rank, const RingCategories::IntegerTag &tag)

do perms ?

const !

Global LinBox::randomAns (const Ring &R, Matrix &Mat, size_t n, size_t epr)
use BlasVector.
Global LinBox::RandomMatrixWithDet (const Field &F, typename Field ::Element *A, const size_t &m, const size_t &lda, const typename Field ::Element &det)
not used
Global LinBox::rankInPlace (size_t &r, Blackbox &A)
there is no Elimination() method there.
Namespace LinBox::SparseFileFormat
use the enum!!!!
Global LinBox::VectorWrapper::constRefSpecialized (Vector &v, size_t i, VectorCategories::SparseSequenceVectorTag)
who is zero ?
Global LinBox::VectorWrapper::constRefSpecialized (Vector &v, size_t i, VectorCategories::SparseParallelVectorTag)
who is zero ?
Global LinBox::VectorWrapper::refSpecialized (Vector &v, size_t i, VectorCategories::SparseParallelVectorTag)
who is zero ?
Global LinBox::VectorWrapper::refSpecialized (Vector &v, size_t i, VectorCategories::SparseSequenceVectorTag)
who is zero ?
File matrix/random-matrix.h
this belongs to algorithms...
Global MatrixDomain< Field_ >::Rep_
should be BlasVector
Class MatrixDomain< GF2 >
this is half done and makes MatrixDomain on GF2 hardly usable.
Global MatrixDomain< GF2 >::mulColSpecialized (Vector1 &w, const Matrix &A, const Vector2 &v, VectorCategories::DenseZeroOneVectorTag, VectorCategories::DenseZeroOneVectorTag) const
what's happening here ?
Global MoorePenrose< Blackbox >::MoorePenrose (const MoorePenrose &A)
Value of pointer '_matB1', which points to allocated memory, is copied in copy constructor instead of allocating new memory.
Global OpenCLMatrixDomain< Field_ >::areEqual (const Matrix1 &A, const Matrix2 &B)
use refs
Global OpenCLMatrixDomain< Field_ >::isIdentity (const Matrix1 &A)

use refs

use refs

Global OpenCLMatrixDomain< Field_ >::isIdentityGeneralized (const Matrix1 &A)

use refs

use refs

Global OpenCLMatrixDomain< Field_ >::isZero (const Matrix1 &A)
use refs
Class PLUQMatrix< Field >
Should really be tempalted by Matrix and be a (sub)domain
Global PLUQMatrix< Field >::PLUQMatrix (BlasMatrix< Field, _Rep > &A, BlasPermutation< size_t > &P, BlasPermutation< size_t > &Q)
in place ?
File rational-reconstruction.h
there seems to be a confusion between Ring _r, [iI]nteger... Besides we have to check that Ring/Integer/NTL_ZZ are the 'same'.
Global ScalarMatrix< Field_ >::ScalarMatrix ()
this should not be allowed (unknown field)
Global SparseMatrix< _Field, SparseMatrixFormat::COO >::SparseMatrix (const _Field &F, VectStream &stream)
may be 0...
Global SparseMatrix< _Field, SparseMatrixFormat::COO::implicit >::apply (Vector &y, const Vector &x, const Element &a) const
may be 0...
Global SparseMatrix< _Field, SparseMatrixFormat::CSR >::SparseMatrix (const _Field &F, VectStream &stream)
may be 0...
Global SparseMatrix< _Field, SparseMatrixFormat::HYB >::applyTranspose (Vector &y, const Vector &x, const Element &a) const
if too big, create transpose.
Global SparseMatrix< Field_, SparseMatrixFormat::TPL >::write (std::ostream &out) const
we should not support too many formats
Global SparseMatrixGeneric< _Field, _Row, Trait >::size () const
should it be elements or non zero elements ?
Global SparseMatrixWriteHelper< Matrix >::write (const Matrix &A, std::ostream &os, Tag::FileFormat format)
this is reall the "generic" one
File test-commentator.C
this test does not even test if anything is outputted (and it passes even though)
File test-matrix-stream.C
this tests reveals memory leaks
File test-matrix-utils.h
put in matrix/random-matrix.h
File test-smith-form.C
should work for NTL Integers too
Global test_full_multip_matrix (std::ostream &report, size_t PrimeSize, size_t Size, std::pair< size_t, size_t > dims)
it is not possible to allocate some memory and use submatrices ?
Global Toeplitz< typename _PRing::CoeffField, _PRing >::write (std::ostream &os=std::cout) const
this is not MM format at all
Class Transpose< Blackbox >
no write here. test-blackbox.h requires it
Class ZOQuad< _Field >
needs read for test-blackbox.h