dwww Home | Show directory contents | Find package

2021-12-10 v1.7.0
        * new polynomial matrix API
        * new FFT code for polynomial matrices
        * Dixon solver refactorization
        * more examples for rational solutions
        * cleanup of BlasMatrixDomain with minor API changes
        * update wrt Givaro's new randiter API
        * many bug fixes
2019-06-07 v1.6.3
        Minor update:
        * fix test-suite failures when compiling in builddir!=srcdir
        * improve jenkins builder script
        * add README.md and other missing files in distribution
2019-05-10 v1.6.0
        Major code refactorization:
        * solve solution
        * echelon form code
        * prime generators
        * Smith form via Valence
        * MPI serialization and communicators
        Improvements:
        * many bug fixes
        * new hadamard bound solutions
        * removal of the obsolete sage-interface
        * update and new polynomial matrix classes and API with Givaro
        * MPI based chinese remaindering applied to solve
        * broader testsuite
2017-12-08 v1.5.2
        Improvements:
        * minor bug fixes (missing config.h file, and SIMD macros)
        * documentation build fixes
2017-11-22 v1.5.1
        Improvements:
        * minor bug fixes in the build system and autoinstall

2017-11-17 v1.5.0
        Improvements:
        * improved build system (instruction set detection, C++11 and clang compatibility, ...)
        * many bug fixes
        * increased test-suite coverage

        Changes in API:
        * new PolynomialRing and DensePolynomial classes, and update interraction with Givaro and FFLAS

2016-07-30 cpernet v1.4.2
        * cleanup and new features on polynomial matrices
        * many bug fixes ensuring support of gcc-4.8, 5.3, 6.1 clang-3.4 and
        icpc on i386, x86_64, ubuntu osx, fedora and ppcle
2016-02-24 cpernet v1.4.1
        * update the build system (add pkgconfig file, and a more consistent way
        of dealing with dependencies)
        * fix all remaining issues for the integration in SageMath

2016-02-24 cpernet
        * move almost all finite fields to givaro
        * cleanup dead code
        * many bug fixes
        * change in some parts of the API
        * improved order basis computations

2011-03-10 briceboyer
        * Implement DublinBox Mother model for dense matrices (BlasM* own, BlasS* share)
        * Change BlasSubmatrix private members (and add one to make Iterators faster)
        * Change <> includes to "" so I have no surprise when the compiler looks them in a non expected place
        * add a const in Field Categories for a weird bug...
        * RawIterators are renamed to Iterators (impossible to pronounce, easy to misspell)
        * add functions to blas-domain and blas-matrix

2011-24-09 briceboyer
        * replace DenseMatrix(Base) by Blas(Matrix/Blackbox)
        * put these classes (and DenseSubmatrix) in a Protected namespace (users will be warned...)
        * update Blas(Mat/Bb)  interface
        * clean DenseMatrix(Base) from LinBox
        * Delete BlasTag (use LinBoxTag class instead, avoids branching)
        * Update to Givaro gcd new clean intefarce
        * Update to one/zero in (some) Fflas-Ffpack fields
        * Rename Flaflas to more serious FFLAS-FFPACK
        * Minor updates in some classes.
        * martin albretch patch to update linbox-sage.h
        * M4RI checks
        * Ekopath (pathscale) checks

2011-05-11 briceboyer
        linbox-1.2.0 released:
        * Many many bug fixes, many memleaks, much code beautify.
        * Licence/copyright added to (hopefully) every file.
        * Vi/emacs magic lines for auto-indentation.
        * Some documentation added + improved Doxygen framework (dev/user
        documentation, more *.doxy items, bug/todo list, bibliography list)
        * Upgrade to givaro 3.4.0 series ( new namespace, new API for integer
        operations, a few new functions (naturallog...) )
        * Upgrade to fflas-ffpack 1.4.0 (new namespace, new includes)
        * Some initial work introduced here and there (matrix permutation
        representations, symbolic/numeric solver, sparse matrix
        representation...)
        * CRA algorithms reworked and tested, some added.
        * Timer moved to Givaro
        * Some debug/util moved to FflasFfpack
        * Better configure.ac/Makefiles (more options, icc/gcc
        customisation,...)
        * More m4 rules
        * Possibility to use IML functions as a shared library (and some
        examples given)
        * 'make fullcheck' checks all possible tests given and reports
        * Auto-installer from sources/svn with plenty of options
        * Some new field functions like characteristic()
        * Work on synchronising field member functions signatures for
        better compatibility between all fields (in progress)

2010-11-03 cpernet
        linbox-1.1.7 released:
        * bug fixes and minor enhancements
        * New interface to sage (supporting native floating point
        representation)
        * new rebind interface
        * incorporate the code for computations over the rationals (by A
        Ubranska), still waiting to be cleaned-up (it is not used yet by default)

2008-09-22 cpernet
        linbox-1.1.6 released:
        * compilation pb, and bug fixes, for cygwin support and debianization

2008-06-10 cpernet
        * Upgrade fflas-ffpack to v1.3.3 (safer and tighter bounds, bug
        fixes,...)
        * Design changes for balanced finite field implementations
        * Improve efficiency of  Chinese Remainder Algorithm
        * Add new interface to Sage
        * bugs and documentation fixes
        * remove gmp++ from LinBox, and thus make Givaro a necessary package

2008_03-02 cpernet
        linbox-1.1.5 released: 
        * drivers are back to the source code,
        * shared libraries are enabled by default.
        * new code in fflas-ffpack for rank profiles
        * new double-determinant algorithm
        * changed the rawIndexedIterator interface, fixing the broken previous one. 
        * many minor fixes, mostly memleaks. 

2007-10-27 cpernet
        linbox-1.1.4 has been released including the following most important
        changes:
        * lots of memory leaks fixed 
        * better compliance with BLAS
        * increased system solver functionalities (rectangular, rank deficient
        matrices)
        * support for g++/gcc v4.2

2007-09-28 cpernet
        * Add support for more general dense system solving:
          The system can be rectangular (over/underdetermined), singular.       

2007-09-07 bds
        * This changelog is being widely ignored.  Today buildbot test is on.

2007-01-31 bds 
        * This entry is just to record that version 1.1.0 has been released by 
          Jean-Guillaume Dumas and the current svn version is just a couple of 
          steps from the release version.

2006-08-08 bds 
        * examples/det.C, solutions/det.h, methods.h modified in preparation for
        * mpi based paralle cra loop in algorithms/cra-domain.h (by Bryan Youse).
        * also a stub of util/mpicpp.h added (will become the mpi interface).

2006-07-27 Hui Wang and bds 
        * Add blackbox/quad-matrix.h which defines the ZOQuad matrix, 
        * which is a cache efficient {0,1}-matrix rep.
        * Add it's tests, modify also blackbox/zo.h, 
        * and accumulate-special in field/modular.h to better support sums of field elements efficiently.

2006-06-01 bds 
        * rank.h adjusted to work around faulty PIVOT_LINEAR code in sparse elim.
        * test-rank.C now tests blackbox, elimination, hybrid methods as well as...

2006-04-18 bds and Hui Wang
        * examples/smith.C minor changes
        * linbox/blackbox/apply.h - don't recall what we did to wreck this.
        * linbox/blackbox/archetype.h linbox/blackbox/scalar-matrix.h linbox/blackbox/zero-one.h linbox/randiter/modular.h linbox/vector/stream.h tests/Makefile.am tests/Matio.h - minor touches
        * cvs thinks we changed just about everything in tests, but diff shows no change.  We're checking in anyway
        * Where are our added files blackbox/zo.h zo.inl quad-matrix.h ?  - which are a new version of zero-one and a block decomposed sparse matrix, resp.

2006-01-20 bds and Hui Wang
        * linbox/algorithms/gauss.inl - we think we made it better but it still isn't working :-)
2005-12-13 Pascal Giorgi
        * linbox/algorithms/Makefile.am: add new files
        * linbox/algorithms/lifting-container.h: minor change
        * linbox/algorithms/matpoly-mult.h: adding FFT and Karatsuba based polynomial matrix multiplication and middle product
        * linbox/algorithms/rational-reconstruction.h: use macro to enable timing
        * linbox/algorithms/rational-solver.h:  minor change
        * linbox/algorithms/rational-solver.inl: minor chane
        * linbox/algorithms/short-vector.h: work in progress for ternary lattice reduction
        * linbox/algorithms/sigma-basis.h: add muti sigma basis computation and special Pade solver.
        * linbox/blackbox/block-hankel-inverse.h: enable use of new special Pade solver
        * linbox/blackbox/block-hankel.h: use macro to enable timing    
        * linbox/randiter/{Makefile.am,random-fftprime.h}: add fftprime generator


        
2005-12-8 bds
        * minor cleanups

2005-11-17 Pascal Giorgi:
        * macros/blas-check.m4: adding new support for blas libraries
        * macros/linbox-opt.m4: adding new support for blas libraries
        * macros/linbox-misc.m4: adding new support for blas libraries
        * linbox/config-blas.h: linbox headers for BLAS
        * linbox/Makefile.am: add new BLAS support
        * linbox/fflas/Makefile.am: remove dependencies to ATLAS 
        * linbox/fflas/fflas.h:  add new BLAS support
        * linbox/ffpack.Makefile.am: remove dependencies to ATLAS
        * configure.in: remove ATLAS checking and replace with BLAS checking
        * linbox-config.in:  remove ATLAS libs and replace with BLAS libs 
        * tests/Makefile.am: remove ATLAS dependencies

2005-10-26 Pascal Giorgi:
        * linbox/algorithms/Makefile.am: add sigma-basis.h file
        * linbox/algorithms/sigma-basis.h: make sigma basis algorithm available
        * linbox/algorithms/blackbox-block-container.h: add support for special structured block
        * linbox/algorithms/blas-domain.h: fix bug
        * linbox/algorithms/lifting-container.h: add support for sparse solver using a Block Hankel inverse
        * linbox/algorithms/rational-solver.h(.inl): add new algorithm for solving sparse system
        * linbox/blackbox/Makefile.am: add block-hankel.h. block-toeplitz.h and block-hankel-inverse.h
        * linbox/blackbox/apply.h: fix optimization compatibility
        * linbox/blackbox/block-hankel.h : add a blackbox for block Hankel matrices
        * linbox/blackbox/block-hankel-inverse.h: add blackbox to compute the inverse of a block Hankel blackbox
        * linbox/blackbox/block-toeplitz.h: add a blackbox for block Toeplitz matrices
        * linbox/element/gmp-rational.h: fix this stupid bug using signed long integer to convert rational !!!
        * linbox/field/hom.h: add support for PID_integer homomorphism
        * linbox/ring/givaro-polynomial.h: fix bug
        * linbox/solutions/det.h: add handler for rational domain
        * linbox/solutions/charpoly.h: add handler for rational domain
        * linbox/solutions/minpoly.h: add handler for rational domain and hybrid method for blas blackbox
        * linbox/solutions/rank.h: add handler for rational domain  
        * linbox/solutions/solve.h: add handler for rational domain and fix indentation
        * linbox/solutions/methods.h: fix indentation and add block hankel method

        
2005-09-01 Dan Roche
        * linbox/algorithms/toeplitz-det.h: Forgot to add this before.

2005-08-31 Pascal Giorgi:
        * linbox/algorithms/blas-domain.inl: add inverse specialization for multimod double domain
        * linbox/algorithms/cia.h: call domain specialized minpoly instead of calling API and make code generic according to integer ring
        * linbox/algorithms/lifting-container.h: support for multimod double domain
        * linbox/algorithms/matrix-hom.h: support for multimod double domain
        * linbox/algorithms/matrix-inverse.h: support for multimod double domain
        * linbox/algorithms/rational-solver.inl: support for multimod double domain
        * linbox/blackbox/apply.h: support for multimod double domain and new optimization
        * linbox/blackbox/blas-blackbox.h:  support for multimod double domain, add construction from MatrixReader and finalize apply function
        * linbox/blackbox/submatrix.h: fixed indent style problem
        * linbox/ffpack/ffpack.h: fix memory leak problem
        * linbox/field/modular-double.h: add support for multimod double domain
        * linbox/field/ntl-ZZ.h: fix indent style problem
        * linbox/field/ntl-ZZ_p.h: set FieldTraits categoryTag
        * linbox/matrix/blas-matrix.h: add constructor from MatrixStream
        * linbox/matrix/dense-submatrix.h: add constructor from non const MatrixDenseBase
        * linbox/matrix/dense-submatrix.inl: add constructor from non const MatrixDenseBase, fix bug in ConstRawIterator operator++(int)
        * linbox/matrix/transpose.h: make the reference to the matrix to be non const
        * linbox/ring/givaro-polynomial.h: add support for PID-integer and NTL-ZZ domain
        * linbox/solutions/charpoly.h: throw an exception if matrix are not square
        * linbox/solutions/det.h: fix indentation and throw an exception if matrix are not square
        * linbox/solutions/minpoly.h: fix indentation, throw an exception if matrix are not square and make minpoly over the integer generic
        * linbox/solutions/rank.h: fix indentation
        * linbox/solutions/smith-form.h" fix indentation
        * linbox/util/debug.h: allow the PreconditionFailed to be a real LinBox exception


2005-08-19 Z. Wan 
        * linbox/element/gmp-rational.h  Fixed the error which occurs duing conversion 
                                                                         between gmp integer and gmp rational

2005-08-18 Dan Roche
        * Added functionality for computing the determinant of a toeplitz matrix
        * Added field/ntl-ZZ_pX.h and field/ntl-lzz_pX.h, rings over the
          respective NTL polynomial types
        * Added functions pow and powin to field/ntl-ZZ_p.h and 
          field/ntl-lzz_p.h (could be added to all fields)
        * Added blackbox/toeplitz.h and blackbox/toeplitz.inl, very similar to
          the existing Toeplitz blackbox class, but generalized to use any
          polynomial ring.  Didn't delete the old blackbox/ntl-toeplitz.h, inl
          so old code doesn't break
        * Added tests/test-toeplitz-det.C to test all this
        * Modified tests/test-ntl-toeplitz.C to use the new Toeplitz class

2005-08-1  bds 
        * numerous doc tweaks
2005-07-15  bds and zw
        * Now modular-balance-int.h and modular-int32.h define different classes.
        * Modular-int had been replaced by modular-int32.
        * Modular-int is now deprecated.
        * Added randiter/modular-balance.h

2005-07-13  bds and zw
    * solutions/solve.h call block-lanczos in bbsolve when cardinality small
    * algorithms/bbsolve.h call mg-block-lanczos
    * algorithms/mg-block-lanczos  commentating number of trials.

2005-07-13  Bradford Hovinen  <hovinen@localhost.localdomain>

        * linbox/solutions/solve.h: Cast A.coldim () to double before
        calling log
        (solve): Initialize status

        * linbox/algorithms/rational-solver.inl: Use std::max

        * linbox/blackbox/apply.h: Move #include ntl-ZZ.h into #ifdef
        __LINBOX_HAVE_NTL

        * examples/solve.C: Add using namespace std

2005-07-13  bds and zw
        * tests/Makefile.am move test-la-block-lanczos to failing tests list
        * test-la-block-lanczos use case n = 10 to show problem
        * test-mg-block-lanczos restore maxtries to default, comment out nullspace 
        test which has memory probs.
        * test-solve change default blocking factor to 16

2005-07-13  Bradford Hovinen  <hovinen@math.utoronto.ca>

        * tests/Makefile.am (NTL_TESTS): Moved test-rational-solver,
        test-rational-solver-adaptive, test-smith-form-binary,
        test-last-invariant-factor here because they depend on NTL
        (GIVARO_TESTS): Moved test-ffpack, test-blas-domain,
        test-givaro-zpz here because they depend on Givaro

        * tests/Makefile.am (NTL_TESTS): Fix definition so that automake
        does not complain

2005-07-13 Pascal Giorgi
        fix and remove NTL dependencies
        - remove NTL dependecies: use of PID_integer
          * tests/test-last-invariant-factor.C
          * tests/test-rational-solver.C        
          * tests/test-rational-solver-adaptive.C
          * tests/test-smith-form-binary.C

        - fix NTL dependencies:  by use of __LINBOX_HAVE_NTL preprocessing
          * tests/test-smith-form.C
          * tests/test-smith-form-iliopoulos.C
          * tests/test-smith-form-local.C
          * tests/test-smith-form-adaptive.C
          * linbox/field/hom.h: specialization for NTL
          * linbox/algorithms/smith-form-adaptative.h

        - linbox/ring/givaro-polynomial.h: to be done by Jean-Guillaume and Clement
        
2005-07-12 Pascal Giorgi 
        * linbox/matrix/factorized.inl: add support for singular system solving (inconsistent system is defined by the zero solution)
                                        fix also bug in nonsingular solving
        
2005-07-11 Pascal Giorgi (authorized by dictator Dumas))
        * linbox/solutions/solve.h: change the interface for integer systems
        
        Make the solver interface working with Wiedemann method, Lanczos method
        * linbox/algorithms/solve.h: add support for Lanczos method
        * linbox/algorithms/bbsolve.h: fix compilation error
        * linbox/algorithms/wiedemann.h: fix compilation error 
        * linbox/algorithmd/wiedemann.inl:  fix compilation error
        * linbox/algorithms/lanczos.h: fix compilation error
        * linbox/algorithmd/lanczos.inl:  fix compilation error
        
2005-07-07 Dan Roche
        * linbox/blackbox/sparse.h
        * linbox/blackbox/dense.h
        * linbox/matrix/sparse.h: Changed the RawIndexedIterator code so that
                                  dereferencing returns a reference to the value
                                  (same as RawIterator)
        * linbox/blackbox/lambda-sparse.h
        * tests/test-matrix-stream.C
        * linbox/algorithms/matrix-hom.h: Updated the code here to reflect
                                          change above

2005-07-07 Dan Roche
        * linbox/matrix/sparse.h: Went through and fixed more iterator problems that could be causing segfaults.

2005-07-06 bds and zw
        * linbox/solutions/is-positive-definite.h, is-positive-semidefinite.h, added
        functions isPositiveDefinite and isPositiveSemiDefinite.
        * linbox/tests/test-isposdef.C, test-ispossemidef.C, Makefile.am, added
        tests for them.
        * linbox/field/hom.h, linbox/algorithms/signature.h, minor tweaks.
        * linbox/algorithms/algorithms.doxy, docs related

2005-07-06 Dan Roche
        * examples/rank.C
        * examples/det.C:  Modified these to use MatrixStream and thereby support multiple file formats.
        * linbox/matrix/sparse.h
        * linbox/matrix/sparse.inl: Fixed some problems with the iterators: seg faults were caused by poor handling of empty rows.
        * linbox/util/matrix-stream.inl: minor clean-ups

2005-07-4 Pascal Giorgi
        * linbox/blackbox/Makefile.am: add polynomial.h 
        * linbox/blackbox/apply.h: add optimization
        * linbox/blackbox/blas-blackbox.h: add the use of BLAS asap
        * linbox/solutions/methods.h: extend dixon method
        * linbox/solutions/solve.h: add rational-solver and diophantine-solver support for BlasElimination method (need to fix denominator output).
                                    also add support for BlasElimination over finite field (not fully implemented)
        * linbox/algorithms/rational-reconstruction.h: define early termination according to threshold 
                                                       (0 means no early termination, x > 0 means early termination with checking each x steps)
        
2005-07-01 Pascal Giorgi
        * configure.in: add linbox/util/formats/Makefile.am support
        * add linbox/util/formats/Makefile.am file
        * linbox/util/Makefile.am: fixe comment problem 

2005-07-01 Dan Roche
        * linbox/blackbox/dense.h
        * linbox/matrix/dense.inl
        * linbox/matrix/dense.h: Added Constructors from a matrix-stream
        * linbox/blackbox/sparse.h
        * linbox/blackbox/sparse.inl
        * linbox/matrix/sparse.h: Added Constructors from a matrix-stream
        Changed to use size_t for indexing rather than ints:
                * linbox/util/matrix-stream.h
                * linbox/util/matrix-stream.inl
                * linbox/util/formats/generic-dense.h
                * linbox/util/formats/maple-dense1.h
                * linbox/util/formats/maple-sparse1.h
                * linbox/util/formats/matrix-market.h
                * linbox/util/formats/sms.h
                * linbox/util/formats/sparse-row.h
        * tests/test-matrix-stream.C: Included sparse and dense blackbox matrix constructors in testing
        * tests/data/sms.matrix: Fixed a formatting error

2005-07-01 W. J. Turner
        * linbox/until/commentator.C: removed using namespace std directive

2005-06-30 Pascal Giorgi
        resolve symbol error in libutil.a (commentator.o needed timer.o)
        * linbox/util/commetator.C: include timer.C
        * linbox/util/Makefile.am: remove timer.c from libutil.a source (included through commentator)
        
2005-06-29 W. J. Turner
        Removed using declarations within several classes and replaced with
        this->... to preserve backwards compatability and allow compilation
        with gcc 3.4 and newer:
                * linbox/algorithms/blackbox-block-container.h
                * linbox/algorithms/blackbox-container-symmetric.h
                * linbox/algorithms/blackbox-container-symmetrize.h
                * linbox/algorithms/blackbox-container.h
                * linbox/algorithms/lifting-container.h
                * linbox/blackbox/frobenius.h
                * linbox/blackbox/lambda-sparse.h
                * linbox/blackbox/ntl-hankel.{h,inl}
                * linbox/blackbox/submatrix.h
                * linbox/field/givaro-zpz.h
                * linbox/matrix/blas-matrix.h
                * linbox/util/formats/generic-dense.h
                * linbox/util/formats/maple-dense1.h
                * linbox/util/formats/maple-sparse1.h
                * linbox/util/formats/matrix-market.h
                * linbox/util/formats/sms.h
                * linbox/util/formats/sparse-row.h
                

2005-06-27 W. J. Turner
        * linbox/ffpack/ffpack_charpoly_kgfast.inl: removed using namespace
                std directive
        * linbox/*/lidia-gfq.h: removed using namespace LiDIA directives
        * linbox/vector/sparse.h: removed using namespace LinBox directive
        * linbox/util/formats/*.h: removed using declarations
        * linbox/util/*.h: removed using declarations
        * linbox/util/xml/*.h: removed using declarations

2005-06-25  Bradford Hovinen  <hovinen@math.utoronto.ca>

        * tests/test-mg-block-lanczos.C (testRandomSolve, testSampleNullspace):
        Use preconditioner SYMMETRIZE
        (main): Use more sensible defaults

        * examples/dot-product.C (main): Declare v1 and v2 to be of length n
        (fixes segfault)

2005-06-24 W. J. Turner
        * linbox/blackbox/*: removed using declarations and directives
        * linbox/field/*.h: removed using declarations and directives
        * linbox/field/ntl-lzz_pE.h: added explicit call to namespace in NTL::BuildIrred_zz_pX
        * linbox/field/ntl-GF2E.h: added explicit call to namespace in NTL::BuildSparseIrred_GF2X
        * linbox/randiter/*.h: removed using declarations

2005-06-17 Pascal Giorgi
        * /linbox/field/PID-integer.h: add sqrt function and homomorphism support
        * /linbox/field/hom.h: identation fixed
        * /example/solver/t-rdisove.C: comment givaro.h to fix compilation errors
        
2005-06-16 Pascal Giorgi
        * /linbox/blackbox/apply.h: add blas-blackbox compatibility
        * /linbox/blackbox/blas-blackbox.h: modify constructor and add category support
        * /linbox/matrix/blas-matrix.h: new creator and add category support
        * /linbox/matrix/matrix-category.h: move MatrixCategory from blas-matrix.h
        * /linbox/algorithms/blas-domain.h: fancy indentation
        * /linbox/algorithms/blas-domain.inl: add support for BlasBlackbox
        * /linbox/algorithms/matrix-hom.h: add support for BlasBlackbox
        * /linbox/algorithms/rational-solver.inl: use of MatrixHom and BlasBlackbox instead of MatrixMod and BlasMatrix


        
2005-06-15 Pascal Giorgi
        * /linbox/blackbox/apply.h : compatiblity with 64bits architecture

2005-06-14 Pascal Giorgi
        * /doc directory: modification to documentation (linbox.html become central)
        * macros/linbox-doc.m4: new documentation checking (use of Doxygen)
        * configure.in: take into consideration new doc checking
        
2005-06-10 bds
        methods.h working for det.h in good form - other solutions may be broken:
        Can consider det.h a good model for solutions funs now.

2005-06-07 Z. Wan
    * linbox/blackbox/matrix-blackbox.h, linbox/matrix/dense.h, sparse.h,
        added reind to DenseMatrixBase and SparseMatrixBase.

2005-05-02 Pascal Giorgi
        * configure.in , macros/linbox-opt.m4 : add optimization process during linbox configuration
        * linbox/fflas/fflas.h : allow the use of optimized Winograd threshold

2005-04-26 -bds
        * Name changes *ntl-zz* --> *ntl-lzz* to avoid clashes with ZZ in case
        insensitive situations.  
        * Also change test*.cpp to test*.C for consistency
2005-03-32 Pascal Giorgi
        * linbox/fflas/fflas_fgemm.inl: fix compilation error with WinoMain function call
        * linbox/algorithms/Makefile.am, rational-solver.h,.inl: set default prime size to 20 bits and make number of prime to try as a user parameter 
        in function solve 
        * tests/Makefile.am, test-rational-solver.C : retrieve rational solver test (make commentator progress worrking)

2005-03-30 bds
        * removed xml read/write code in numerous places
        * misc small stuff (I forgot what I may have changed, to tell the truth!)

2005-03-17 PG and ZW
        * linbox/algorithms/cra.h, cra-det-integer.h, minpoly-integer.h, Makefile.am, added 
          functionalities for integer cases using modular arithmetic and CRA
        * linbox/solutions/det.h, minpoly.h, rank.h, unified the interface, added blas elimination
          for det and rank

2005-03-15 bds
        *tests/test-rank.C linbox/solutions/rank.h methods.h Introduce rank
        by blas-elimination, together with check for too small prime in wiedemann rank.
        
2005-02-17 Zhendong Wan (wan@cis.udel.edu)
        *linbox/algorithms/rational-reconstruction.h, implemented the fast early termination techniques,  which was described 
        in a preprint paper submitted to ISSAC'05.

2005-02-16 Zhendong Wan (wan@cis.udel.edu)
        *linbox/algorithms/rational-solver.h, rational-solver.inl, rational-solver-adaptive.h, Merged rational solver using numerical methods with others

2005-02-14 Clement Pernet (Clement.Pernet@imag.fr)
        * Improvements to FFLAS::fgemm routine: Winograd's fast matrix
        multiplication is now working for any operation of the type 
        C<-alpha.A*B + beta.C
        * Dynamic pealing is now generic wrt the field
        * The recursive block algorithm is now working over the field if the
        BLAS condition is not met
2005-02-07 Clement Pernet (Clement.Pernet@imag.fr)
        * Change the name fflapack -> ffpack
        * bug fixes in blackbox-block-container.h
        * compilation failure of test-rational-solver due to "assert" in 
        rational-solver.h should be fixed
        * compilation failuer in test-matrix-stream due to 888888888888888 being to big
        should be fixed
2005-02-04 Zhendong Wan (wan@cis.udel.edu)
        *Add linbox/solutions/cra.h, minpoly-integer.h, add codes to compute the minpoly of an integer matrix.
        *Modify linbox/test-minpoly.C, add test for minpoly of an integer matrix.
        *Modify linbox/solutions/minpoly.h, it can hanle integer case.
        ** linbox/solutions/cra.h and linbox/algorithms/cra.h should merge in future
        ** minpoly-integer.h and minpoly.h should merge, and support blas in future

2005-02-03 Zhendong Wan (wan@cis.udel.edu)
        *linbox/field/PID-double.h, PID-integer.h, PIR-modular-int.h,
        PIR-modular-int32.h, PIR-ntl-ZZ_p.h, double-fmod.h,
        field-traits.h gf2.h, givaro-gfq.h, givaro-montg.h,
        givaro-rational.h, givaro-zpz.h, gmp-integers.h, gmp-rational.h,
        lidia-gfq.h local2_32.h, modular-balance-int.h,
        modular-balance-int32.h, modular-byte.h, modular-double.h,
        modular-int.h, modular-int32.h, modular-short.h, modular.h,
        ntl-GF2E.h ntl-RR.h, ntl-ZZ.h, ntl-ZZ_p.h, ntl-ZZ_pE.h,
        ntl-pid-zz_p.h, ntl-zz_p.h, ntl-zz_pE.h, param-fuzzy.h,
        unparametric.h, 
        added information in field traits in order to classify all rings.

2005-03 Zhendong Wan (wan@cis.udel.edu)
        *linbox/algorithms/matrix-mod.h, change class MatrixMod to namespace,
        so that some special mod functions can be addaed
        *linbox/algorithms/rational-reconstruction.h, rational-solver.inl, fixed
        compiling complaints

2005-01-28 Dan Roche
        * examples/linbox-program.C - various fixes
        * field/unparametric.h - was casting to long and then to integer - fixed
        * field/hom.h - added mapping from UnparametricField to Modular
        * util/matrix-stream.h Provides a new, generic way of reading matrices in multiple formats.
        * util/formats New directory for matrix-stream format specifications
        * util/formats/matrix-stream-readers.h Place to include all the different format specification files:
        * util/formats/generic-dense.h
        * util/formats/maple-dense1.h
        * util/formats/maple-sparse1.h
        * util/formats/matrix-market.h
        * util/formats/matrix-stream-readers.h
        * util/formats/sms.h
        * randiter/gmp-random-prime.h Generates random numbers up to a given size
        * tests/test-matrix-stream.C Tests to see if matrix-stream is working
        * Sample matrices used by test-matrix-stream:
        * tests/data/generic-dense.matrix
        * tests/data/maple-dense1.matrix
        * tests/data/maple-sparse1.matrix
        * tests/data/matrix-market-array.matrix
        * tests/data/matrix-market-coordinate.matrix
        * tests/data/sms.matrix
        * tests/data/sparse-row.matrix

2005-01-07 ZW
        * linbox/field/gmp-integers.h, fixed init 
        * linbox/field/modular-double.h, implemented a fast init

2004-12-03 bds
        * matrix/sparse.h .inl -  add reading of Magma Compact form
        * vector/vector-domain.h .inl - can't read into const vectors, so rm 'const

2004-10-08 bds
        * examples/blackbox/Makefile.am smith.C - minor
        * field/field-traits.h givaro-gfq.h ntl-GF2E.h - put in maxmodulus
        * doc/Doxyfile mainpage - minor doc changes

2004-09-30 Pascal Giorgi

        * linbox/algorithms/lifting-container.h: take modification of MatrixApplyDomain setup function
        * linbox/algorithms/rational-solver.inl: use of BlasMatrix instead of BlasBlackbox
        * linbox/algorithms/rational-reconstruction.h: add lifting commentator progress in getRational3 function
        * linbox/blackbox/apply.h: redefine MatrixApplyDomain s.t. specialization for dense storage is easier
        * linbox/matrix/dense.inl: make reading with sparse format work and fix bug in writing over domain with non positive cardinality

2004-09-21 Pascal Giorgi 
        
        * linbox/algorithms/Makefile.am: Add headers for (rationnal-solver.inl, diophantine-solver.inl, vector-fraction.h)
        * linbox/algorithms/blackbox-block-container-base.h: Use BlasDomain and BlasMatrix
        * linbox/algorithms/blackbox-block-container.h: Make BlackboxBlockContainerRecord class (handling precomputed sequence and row-colum updating)
        * linbox/algorithms/block-massey-domain.h: Compute generating matrix polynomial using Sigma Basis through algorithm of GJV-ISSAC'03
        * linbox/algorithms/block-wiedemann.h: Add block Wiedemann solver 
        * linbox/algorithms/lifting-container.h: Add specialisation for Block Wiedemann method and clean optimizations
        * linbox/algorithms/rational-solver.h: Add specialisation for Block Wiedemann method
        * linbox/algorithms/rational-solver.inl: Add specialisation for Block Wiedemann method
        * linbox/blackbox/Makefile.am: Add headers for lambda-sparse.h and blas-blackbox.h
        * linbox/blackbox/apply.h: Put optimizations on matrix-vector product - moved from lifting-container
        * linbox/fflas/fflas_fgemm.inl: Fix bug on Winomain function 
        * linbox/fflas/fflas_ftrsm.inl: Fix bug on normalisation before BLAS call
        * linbox/field/Makefile.am: Add ntl-GF2E.h header
        * linbox/field/ntl-GF2E.h: Add wrapper for GF(2^n) of NTL library
        * linbox/field/modular-double.h: Improve DotProductDomain specialization 
        * linbox/field/ntl.h: Add ntl-GF2E.h header
        * linbox/matrix/blas-matrix.h: Take into account modifications of dense-submatrix
        * linbox/matrix/dense-submatrix.h: Use pointer instead of reference
        * linbox/matrix/dense-submatrix.inl: Use pointer instead of reference
        * linbox/matrix/factorized-matrix.inl: Fix the extractions of L, U and S
        * linbox/solutions/methods.h: Add BlockWiedemann method
        * linbox/util/gmp++/Makefile.am: Remove gmp++_int.c ( redudant for compilation)
        
2004-09-02  Bradford Hovinen  <hovinen@vega.pc.cis.udel.edu>

        * linbox/algorithms/la-block-lanczos.h (class
        LABlockLanczosSolver): Add _iter, _total_dim, _rank

        * linbox/algorithms/la-block-lanczos.inl (cleanup): Update _rank
        (rank): Implement

        * linbox/blackbox/diagonal.h (class Diagonal): Compilation fix

        * linbox/blackbox/dense.h (class DenseMatrix): Make _AT use
        DenseMatrix, not DenseMatrixBase

        * tests/test-la-block-lanczos.C (main): 

        * tests/test-mg-block-lanczos.C (main): Use better defaults

        * linbox/algorithms/la-block-lanczos.inl (solve, sampleNullspace):
        Clear history when done

        * tests/Makefile.am (BASIC_TESTS): Add test-mg-block-lanczos

        * linbox/algorithms/la-block-lanczos.h (class
        LABlockLanczosSolver::InnerProductArray): Add reset

        * linbox/algorithms/la-block-lanczos.inl (iterate): Reset uAv

        * linbox/algorithms/Makefile.am (pkgincludesub_HEADERS): Add
        eliminator.{h|inl}

        * tests/Makefile.am (BASIC_TESTS): Add test-la-block-lanczos

        * linbox/algorithms/Makefile.am (pkgincludesub_HEADERS): Add
        la-block-lanczos.{h|inl}, mg-block-lanczos.{h|inl}; remove
        block-lanczos.{h|inl}

2004-09-01 bds 
        * solutions/minpoly.h tests/test-minpoly.C: add minpolySymmetrize

2004-09-01 bds wan zw
        * linbox/algorithms/rational-solver-adaptive.h, adaptive solve

2004-08-30 bds and zw
        * linbox/algorithms/one-invariant-factor.h, smith-form-adaptive.inl, make bonus works

2004-08-30 bds and zw
        * linbox/algorithms/smith-form-adaptive.h, inl. Implementation of an adaptive algorithm for
          Smith form

2004-08-30 bds
        * linbox/randiter/mersenne-twister.h linbox/util/commentator.h
          linbox/util/gmp++/gmp++_int_misc.C tests/Makefile.am tests/test-common.C:
          LinBoxSrcOnly flag also used in tests/ now (to avoid incompatibility
          with use in examples/)

2004-08-30 bds
        * examples/ex-integers.C examples/Makefile.am linbox/util/gmp++/Makefile.am: Turn on
          LinBoxSrcOnly flag for examples compilations so that user does not confront 
          load-library problems. 
        * doc/Makefile.am examples/Matio.h linbox/integer.h linbox/blackbox/*.h etc.:
          switch documentation system to doxygen. (it still needs plenty of work)  
        * add .doxy files (replacing .dxx files) to doc system
        * examples/blackbox/smith.C and smithbig.C: smith form examples.


2004-08-28 Pascal Giorgi
        * examples/solver/t-rdisolve.C: add sparse matrix format for file and make seed to work
        * linbox/algorithms/diophantine-solver{.h,.inl}: adding parameters information of solving
        * linbox/algorithms/rational-reconstruction.h: clear bugs in timings
        
2004-08-26 Z. Wan
        * linbox/algoriths/last-invariant-factor.h, implement the bonus idea \ref{....}

2004-08-26 Pascal Giorgi
        * examples/fields/ex-fields-archetype.C : put std namespace
        * examples/run/run.C : put std namespace
        * examples/solver/Makefile.am  : change order of libs for compilation
        * examples/solver/t-rdisolve.C : change to use the new design of rational solver
        * gmp++/gmp++_int.h   : Added new function to get the size of integer in base B and base 2
        * gmp++/gmp++_int.inl : Added implementation of bitsize() and size_in_base( int base) functions
        * linbox/algorithms
                * diophantine-solver.h      : use new design of rationnal solver
                * diophantine-solver.inl    : use new design of rationnal solver ( disabling conversion for VectorFraction)
                * lifting-container.h       : Added fast apply over ring when entries of the matrix are small enough ( say less than 2^16)
                * rational-reconstruction.h : Added direct method for reconstruction, added switch between early termination and direct method
                * rational-solver.inl       : Added blas optimization for preconditionning matrices in random solution solver
        * linbox/fflapack/fflapack.h : Maked triangular inverse available
        * linbox/field/PID-double.h  : Added abs and compare functions, + indentation
        * linbox/field/PID-integer.h : Added abs and compare functions, + indentation
        * linbox/matrix/dense.inl    : problem with resizing in read function, leave code as it was but add the older version as comment

        
2004-08-24 Z. Wan (wan@cis.udel.edu) 
        * change ith-invariant-factor.h to one-invariant-factor.h
        * Change the implementation of the alogrithm for oneinvariantfactor, use the enhanced algorithm in ISSSAC'04 papre by
          bds and ZW

2004-08-24 Z. Wan (wan@cis.udel.edu) 
        *linbox/algorithms/rational-solver.h, inl, rational-reconstruction.h, linbox/tests/test-rational-solver.C, change
        the format of the rational solution a vector of rationals ====> (a vector of the numerator, the common denominator).

2004-08-19 Z. Wan (wan@cis.udel.edu) 
        * linbox/algorithms/rational-reconstruction.h, implement the V. Pan's idea for final reconstruction step.
        * linbox/field/ntl-ZZ.h, add abs and compare member function.

2004-08-19 David Pritchard (dpritcha@ens-lyon.fr, daveagp@mit.edu)
        * gmp++/gmp++_int.inl - Added wrapper for mpz_import (convert word array to LinBox::Integer)
        * linbox/algorithms - Added timing to rational solving routines (#define RSTIMING in rational-solver.h)
                * diophantine-solver.h - made QSolver field into a reference type
                * diophantine-solver.inl - changed comments
                * lifting-container.inl - Added blas optimization for muliplication of large integer matrices in Dixon
                * rational-reconstruction.h - Changed getRational2 again so that early termination num/denbounds work
                * rational-solver.h - Added timing, reportTimes()
                * rational-solver.inl - Added timing
                * vector-fraction.h - Added comment, about how RandIter may have unrandom low-order bits
        * linbox/blackbox/apply.h - Removed bad overload of applyV
        * linbox/fflapack/fflapack.h - changed name of function to LQUPtoInverseOfFullRankMinor
        * linbox/field/modular-double.h - added constr. from long int, to avoid ambiguity warning when making t-rdisolve
        * linbox/matrix/dense.inl - attempted to fix problems with Const{Row/Col}Iterator operator++ (int)
        * linbox/matrix/factorized-matrix.h - added comment about how GetQ returns Qt
        * linbox/util/timer.C - added a count field to the timer (how many intervals does this timer measure)
        * linbox/util/timer.h - added a count, stopped small negative rounding errors from printing
        * gmp++/gmp++_int_cstor.C - added mpz_import function wrapper
        * tests/test-common.C - fixed reading of large integers
        * examples/solver/t-rdisolve.C - added flag to make some columns zero, made better random entries 

2004-08-11 bds
        * examples/blackbox/smith.C illustrates iliopolous' and local methods
        * matrix/dense.inl read() now adjusts to new input size rather 
          than complaining.  Also read() accepts sparse file format. 
        
2004-08-11 David Pritchard (dpritcha@ens-lyon.fr, daveagp@mit.edu)
        * gmp++/gmp++_int.inl -  Added nth root function declaration
        * linbox/algorithms
                * diophantine-solver.inl - minor changes
                * lifting-container.h - fixed reconstruction lifting bound
                * rational-reconstruction.h - added getRational2; will eventually be las-vegas style reconstructor
                        - changed early termination so that 2*numbound*denbound is always less than modulus
                * rational-solver.inl - more updates, fixes. now only one LQUP is used to check consistency
                        - added optimization wherein LQUP is used to compute a modular inverse more quickly
        * linbox/fflapack/fflapack.h - added InverseFromLQUP function; fixed invL bug
        * linbox/matrix/blas-matrix.h - moved indexDomain here (allows application of BlasPermutation to indices, using BlasMatrixDomain<indexDomain>)
        * linbox/matrix/dense-submatrix.inl - minor fix
        * linbox/util/gmp++/gmp++_int_misc.C - added nth root function  

2004-08-09 Dan Roche
        * gmp++/gmp++_int.inl:  Add arithmetic function support for long long and unsigned long long
        * linbox/blackbox/dense.h,inl: Add hadamardBound method to DenseMatrixFactory
        * linbox/blackbox/sparse.h: Make hadamardBound return a reference to res, and avoid overflow in computing hadamardBound
        * linbox/solutions/det.h: little fixes

2004-08-09 Pascal Giorgi
        * /linbox/blackbox/sparse.h : Fix bugs in SparseMatrixFactory. it compiles right now
        * /linbox/util/gmp++/gmp++_int_io.C : avoid memory leaks in Integer2string function
        * /linbox/field/ntl-zz_pE.h : adding new wrapper for NTL algebraic extension of single precision prime field
        * /linbox/field/ntl-ZZ_pE.h : write a class to handle parametric field
        * /linbox/field/ntl.h, Makefile.am : adding new field ntl-zz_pE.h
        
2004-08-08 Dan Roche (roche@cis.udel.edu)
        * examples/linbox-program.C - now works for determinant also - except that someone recently broke solutions/det.h and blackbox/sparse.h
        * gmp++/gmp++_int.h, linbox/util/gmp++/gmp++_int_misc.C - added prevprime so that prime-stream.h works
        * linbox/integer.h - added an abs function here so it works for all types from int8 up to integer.
        * linbox/algorithms/cra.h - changed invmod to inv so that this compiles
        * linbox/blackbox/dense.h,.inl - added DenseBlackboxFactory class so I can use det.h to find determinant of a dense matrix over the integers.
        * linbox/solutions/det.h - NUM_BITS is determined from FieldTraits (linbox/field/field-traits.h)

2004-08-06 David Pritchard (dpritcha@ens-lyon.fr, daveagp@mit.edu)
        * examples/solver/t-rdisolve.C - added use of 3 'solver levels' and check of certificate of inconsistency
        * linbox/algorithms
                * diophantine-solver.h - added use of 3 'solver levels', improved documentation
                * diophantine-solver.inl - added use of 3 solver levels
                * lifting-container.h - changed normblackbox to properly compute "norm" of composed boxes
                * rational-reconstruction.h - added getRational2 for solver use, hopefully will be las-vegas
                * rational-solver.h - added use of 3 solver levels, certifying of inconsistency, documentation
                * rational-solver.inl - added use of 3 solver levels, certifying inconsistency
                        - combined 'solve' and 'getRandomSolution' to be both variants of 'solveMonolithic'
                * vector-fraction.h - simplified constructor
        * linbox/fflapack/fflapack_ludivine.inl - bugfix for LQUP of rectangular matrices (specifically M x 1 case)
        * linbox/field/unparametric.h - removed dumb comment
        * linbox/matrix/blas-matrix.h - added method extendTrivially to embed permutation in larger row/column size
        * linbox/tests/test-common.C - bugfix

2004-07-30 David Pritchard (dpritcha@ens-lyon.fr, daveagp@mit.edu)
        * examples/solver/t-rdisolve.C - added diophantine checking+certification, more options
                - moved VectorFraction class to own file in algorithms
                - moved new command-line stuff into test-common.C (should be backwards-compatible)
        * linbox/algorithms
                * vector-fraction.h - added new file. for storing fractions like [n1 n2 n3 n4 ... ]/d
                        - has various combination functions used by diophantine-solver
                * blas-domain.inl - fixed a broken linbox_check for vector-matrix product
                * diophantine-solver.h - diophantine checking, min-denom certification works now
                * diophantine-solver.inl - diophantine checking, min-denom certification works now
                * rational-solver.h - made SolverReturnStatus a global enum, preceded by SS_
                * rational-solver.inl - added generation of a partial certificate to randomSolve
                        - solveDeterministic is now fully Las Vegas
                * apply.h - added applyVTrans(vector, const matrix, vector)
        * linbox/fflas/fflas_fgemv.inl - fixed errors in transpose matrix product
        * linbox/matrix
                * blas-matrix.h - fixed flipped row/coldim in constructor
                * dense-submatrix.h - fixed typo, removed unimplemented operator[]
                * dense.h - removed debug output
                * transpose.h - replaced Column with Col
        * tests/test-common.h - example string can now be passed as null and intelligently generated by default
        * tests/test-common.C - boolean options can now be turned off like "-b false", "-b -", "-b N"
                - added a string to write all current switch options to an ostream
        * tests/test-rational-solver.C - updated to reflect new return type of rational solver
        
        
2004-07-26 David Pritchard (dpritcha@ens-lyon.fr, daveagp@mit.edu)
        * linbox/algorithms
                * added diophantine-solver.{h,inl}   (no diophantine functionality yet)
                * Makefile.am - added diophantine-solver.h
                * blas-domain.h - added forms of inv and invin that return the nullity of the matrix
                * blas-domain.inl - added forms of inv and invin that return the nullity of the matrix, fixed typo
                * last-invariant-factor.h - changed type of b vector from int to Integer 
                * lifting-container.h - changed blackbox norm to square of 'induced norm', fixed lifting length calculation
                        - added graceful failure to digit (eg if <double> Ring is used improperly)
                * rational-reconstruction.h - added debug switch DEBUG_RR, graceful failure
                * matrix-rank.h - changed tabbing
                * rational-solver.h - many changes to Dixon; Wiedemann may not work
                        - added DEFAULT_PRIMESIZE = 14 (since 30 bit default size would screw up some fields)
                        - added maxPrimes argument to solving routines, will retry that many primes
                        - added const modifier to solving routines, made _prime mutable
                * rational-solver.inl - many changes to Dixon; Wiedemann may not work
                        - added debug switches, graceful failure for solving routines
                        - changed BlasMatrixDomain routines to BlasApplyDomain to avoid erroneous calculations
                        - in singular/random solve, check solution before returning, and multiply by conditioner P correctly
                        - added consistency check to random solver
        * linbox/blackbox/blas-blackbox - added to CVS
        * linbox/blackbox/dense.h - matrix reading bugfix
        * linbox/fflapack/fflapack.h - pass nullity back in Invert2, and return NULL when matrix is singular
        * linbox/fflas/fflas_fgemv.inl - remove assumption that alpha=-1, beta=1
        * linbox/fflas/fflas_ftrmm.inl - fixed computation of matrix size bound for embedding into FFLAS
        * linbox/field
                * PID-double.h - changed 'c=abs(c)' to 'if (c<0) c = -c', no abs found for double
                * PID-integer.h - changed documentation of isDivisor(a, b) (returns yes if b|a)
                * givaro-montg.h - fixed init from integer
                * givaro-zpz.h - fixed init from integer, double and Log16 specializations
                * givaro-gfq.h - fixed init from integer
                * modular.h - added init from double
                        - added several specializations of Modular<NTL::ZZ>
                * modular-double.h - fixed operator<<
                * modular-int.h - fixed init/convert with double
                * modular-int32.h - fixed init/convert with double
                * ntl-ZZ.h - changed const to static for convert method
                        - changed documentation of isDivisor(a, b) (returns yes if b|a)
                * ntl-ZZ_p.h - added init/convert from/to integer, double
                        - put NTL_ZZ_p at top and specialization at bottom for compiler
                        - changed random generator to give fuller range
                * ntl-zz_p.h - added init from double, integer
                * unparametric.h - added convert to double         
        * linbox/matrix/dense-submatrix.h - added mapleFormat option to DenseSubmatrix writing
        * linbox/matrix/dense-submatrix.inl - added mapleFormat option to DenseSubmatrix writing
        * linbox/randiter/random-prime.h - the class now takes a 'bits' argument on construction and makes primes of that size
        * linbox/vector/vector-domain.inl - fixed reading bug
        * tests/Matio.h - added mapleFormat option to write_field
        * tests/test-fflapack.C - matched Invert2 to new 'nullity' argument format
        * tests/test-iliopoulos-elimination.C - #define int32 LinBox::int32 to avoid ambiguity with Givaro
        * tests/test-last-invariant-factor.C - int32 -> LinBox::int32 to avoid ambiguity with Givaro
        * tests/test-last-rational-solver.C - int32 -> LinBox::int32 to avoid ambiguity with Givaro
                - now handles solver failures without crashing
                - added check to ensure that system is solvable (ie no zero elements on diagonal)
        * tests/test-smith-form.C - int32 -> LinBox::int32 to avoid ambiguity with Givaro
        * examples/solver/t-rdisolve.C - test driver for rational solver, compile and run t-rdisolve -?
        * examples/solver/Makefile.am - make file

2004-07-16 Pascal Giorgi
        * linbox/field/lidia-gfq.h  : fixing bug and improvement
        * tests/Makefile.am : retrieving test-lidia-gfq, fixing modular and gssv redundancy
        * tests/test-modular.C : using namespace std
        
2004-07-16 Pascal Giorgi
        * linbox-config.in : switching order of LiDIA in libs
        * linbox/randiter/envelope.h : modify random function ( assignement is not needed)
        * linbox/matrix/dense-submatrix.h : setting input and output functions public
        * linbox/field/givaro-zpz.h : adding linbox/utils/debug.h header
        * linbox/field/lidia-gfq.h  : setting default degree extension to 1
        * linbox/field/ntl-ZZ_p.h   : overloading the constructor of UnparamField 
        
2004-07-08 Dan Roche
        * Adding examples/linbox-program.C which will eventually do a wide variety of operations on integer matrices
        * gmp++/gmp++_int.h,inl  : Little fixes
        * linbox/algorithms/wiedemann.inl : Little fixes
        * linbox/matrix/blas-matrix.h : Little fixes
        * linbox/util/gmp++/gmp++_int_compare.C, gmp++_int_mod.C : Little fixes
        * linbox/vector/sparse.h : Little fixes
        * tests/test-fields.C : Little fixes
        * tests/Makefile.am : Moved everything that uses rational-solver to ATLAS_TESTS rational-solver won't work without BLAS.
        * fields/field-traits.h : Took implementation out of this file and put it in each field header file.
        * fields/givaro-gfq.h : Added init and convert from/to a padic number
        * fields/modular.inl : Fixed some problems with MVProductDomain functions over unsigned types

2004-07-06  Bradford Hovinen  <bghovinen@math.uwaterloo.ca>

        * linbox/blackbox/dense.h (class DenseMatrix): Add _AT, a
        TransposeMatrix of this

        * linbox/blackbox/dense.inl (DenseMatrix::applyTranspose): Use _AT

        * linbox/matrix/matrix-domain.h (class MatrixDomain): Get rid of
        template argument MatrixTrait on specialized permute

        * linbox/vector/vector-domain.h (class VectorDomain): Get rid of
        template argument VectorTrait on specialized permute, swap

        * linbox/matrix/sparse.h (struct MatrixTraits): 

        * linbox/vector/vector-domain.inl (class VectorDomain): 

        * linbox/vector/vector-domain.h (class VectorDomain): 

        * linbox/matrix/matrix-domain.h (class MatrixDomain):

        * linbox/matrix/transpose.h (struct MatrixTraits): 

        * linbox/matrix/dense.h (struct MatrixTraits): Remove templates
        from matrix tags

2004-07-02 pascal giorgi
        * blackbox/apply.h     : adding BlasApply domain
        * blackbox/compose.h   : adding accessor to left an right blackbox
        * blackbox/sparse.h    : make write function const
        * field/ all givaro file : fixe bugs 
        * field/lidia-gfq.h    : make it works
        * field/modular-double.h : add reset function in axpy domain
        * field/field-traits.h : add specialization for some fields
        * field/double-fmod.h  : include <math.h>
        * field/ntl-ZZ.h       : remove all static and replace by const function
        * field/PID-double field/PID-integer.h : adding 2 new PID
        * matrix/dense.h.inl matrix/sparse.h.inl : make interators work
        * randiter/ntl-ZZ.h randiter/lidia-gfq.h : fix bugs and make clearer
        * solutions/method.h   : add new traits for rational solvers
        * algorithms/ 
                * blackbox-container-base.h : adding new constructor allowing size of sequence as parameter
                * blackbox-container.h      : adding new constructor allowing size of sequence as parameter
                * lifting-containe.h        : make a new interface for lifting (give specialization for Wiedemann and Dixon methods)     
                * matrix-inverse.h          : put Field as template and require a field as parameter (not restrictive to blackboxes)
                * matrix-mod.h              : giving a specializatino
                * rational-reconstruction.h : make it clear with lifting interface
                * rational-solver.h         : make a new interface for rational solver
                * rational-solver.inl       : give specialization for Wiedemann and Dixon methods
        
2004-06-21 bds
        * removed NAGSparse blackbox which has been replaced by Triplesbb.
          Mods to linbox/util/xml/reader-blackbox-factory.h tests/Makefile.am
          Removed Files: blackbox/nag-sparse.h tests/test-nag-sparse.C

2004-06-16 Zhendong Wan
        * linbox/solutions/lu.h, tests/test-lu.C, fix the block lu and make test work.

2004-06-10 Dan Roche
        * Added linbox/field/modular-balance-int32.h to use int32 type
        * Added more fields to tests/test-fields.C
        * Added more fields and functionality to linbox/field/field-traits.h
        * Changed most fields so that every field constructor takes two
                arguments, a modulus and an exponent.  Default values are
                put in so everything should still work the same.

2004-06-10 bds  
        * New version 0.1.4
        * final doc mods before release 0.1.4

2004-06-09 bds  
        * Little tweaks.

2004-06-08 Dan Roche
        * Updated Modular<int> to use the int32 type in integer.h
        * Added linbox/field/modular-int32.h
        * Added linbox/field/PIR-modular-int32.h
        * Updated tests/test-modular-int.h
        * Updated tests/test-iliopoulos-elimination.C
        * Updated tests/test-last-invariant-factor.C
        * Updated tests/test-rational-solver.C
        * Updated tests/test-smith-form.C
        * Updated tests/test-fields.C to use types from integer.h and to
                determine number of iterations based on machine speed.
                Also uses goodModulus method from FieldTraits struct.
        * Added linbox/field/field-traits.h, containing struct FieldTraits
                <class Field> which can do other things but for now just
                provides information about valid moduli for a given field.

2004-06-08 bds  
        * assorted documentation mods.
        * introduced BlackboxInterface, similar to FieldInterface, an empty base 
          class solely for the purpose of organizing the heirarchy in the documentation.

2004-06-07 bds  
        * assorted documentation mods.

2004-06-05 bds and Zhendong Wan
        *  linbox/field/double-fmod.h is now redundant
        *  linbox/field/modular-double.h uses the fmod approach
        *  tests/test-generic.h now has a basic concept check for randiter
           and a chi-sq randomiterator check that doesn't fail on reasonably
           uniform random iterators over int elements.
        *  tests/test-double-fmod.C and tests/test-modular-double.C now work.

2004-06-04 Dan Roche
        * Added tests/test-double-fmod.C
          Added tests/test-fields.C which benchmarks ops for fields
          Added tests/test-modular-double.C
          Added linbox/randiter/generic.h which is a generic random iterator
                used in double-fmod
          Added linbox/field/double-fmod.h which is like modular-double, but
                uses the fmod command from math.h

2004-06-04 bds
        * comments in rational.h suggesting that it is nowhere used.  
            Shall we delete?

2004-04-20 Zhendong Wan <wan@udel.edu>
        * Add linbox/blackbox/blackbox_parallel.h, blackbox_thread.h, subrowmatrix.h, parallel blackbox apply
          and applyTranspose by using posix threads.
        * Modify linbox/blackbox/sparse.h, dense.h, dense.inl, linbox/vector/subvector.h, add parallel apply 
          and applyTranspose for SparseMatrix and DenseMatrix.

2004-03-25 bds
        * documentation mods

2004-03-17 bds
        * gmp++/gmp++_int.h linbox/util/gmp++/gmp++_int.C, gmp++_int_add.C, gmp++_int_compare.C, 
          gmp++_int_cstor.C, gmp++_int_div.C, gmp++_int_gcd.C, gmp++_int_io.C, gmp++_int_misc.C, 
          gmp++_int_mod.C, gmp++_int_mul.C, gmp++_int_pow.C, gmp++_int_sub.C, tests/test-common.h:
          mods to make flag -DLinBoxSrcOnly work.
        
2004-03-04 Zhendong Wan
        * linbox/blackbox/sparse.h, set default Row to be SparseMap, which is more efficient to call setEntry, refEntry member function.
        * tests/test-minpoly.h, make it works with change in sparse.h.

2004-03-04 Zhendong Wan
        * linbox/blackbox/diagonal.h linbox/blackbox/hilbert.h,
          linbox/blackbox/scalar-matrix.h linbox/blackbox/submatrix.h,
          linbox/field/PIR-modular-int.h linbox/field/PIR-ntl-ZZ_p.h,
          linbox/field/modular-byte.h linbox/field/modular-int.h,
          linbox/field/modular-short.h linbox/field/modular.h,
          linbox/field/modular.inl linbox/matrix/matrix-domain.h,
          linbox/matrix/matrix-domain.inl linbox/matrix/sparse.h,
          linbox/matrix/sparse.inl linbox/vector/stream.h,
          linbox/vector/vector-domain.h linbox/vector/vector-domain.inl,
          linbox/vector/vector-traits.h tests/test-common.h, make these Tag classes non-template, since they are only used to distinguish vector types and for this purpose, ordinary classes suffice.

2004-03-04 Zhendong Wan
        * linbox/blackbox/dense.h linbox/blackbox/sparse.h, linbox/matrix/archetype.h linbox/matrix/dense-submatrix.h, linbox/matrix/dense.h linbox/matrix/matrix-domain.h, linbox/matrix/sparse.h linbox/matrix/transpose.h, tests/test-matrix-domain.C, make struct RowMatrixTag, struct ColMatrixTag, struct RowColMatrixTag non-template classes, since they are only used to distinguish the matrix types and in this case, non-template classes suffice and codes become simpler.

2004-03-02 Zhendong Wan
        * remove linbox/vector/const-iterator-type.h, since in new gcc, std::vector<Element>::iteretor is not same type as Element*, it doesnot work anymore.
        * modify linbox/vector/subvector.h, add one template parameter const_iterator.
        * linbox/blackbox/dense.h, dense.inl, use MatrixDomain to conform SparseMatrix implementation.
        
2004-03-02 Zhendong Wan
        * linbox/blackbox/sparse.h, remove field VectorDomain<Field> _VD, since it is not used in any member function.

2004-02-07 Zhendong Wan
        * linbox/algorithms/rational-reconstruction.h, speed it up bu only reconstructing the rationals at every threshold position.
        
2004-02-06 bds
        * linbox/gen_superlu/gssv_rank.h linbox/gen_superlu/trsv.h
        tests/Makefile.am tests/test-gssv_rank.C
        tests/data/gssv_rank_data: fix gssv_rank test (works except for A'+A case).

2004-02-04 Zhendong Wan <wan@udel.edu>
        * Add linbox/field/PIR-modular-int.h, which is an extension of Modular<int> with PIR functions.

2004-02-03 Zhendong Wan <wan@udel.edu>
        * Modify linbox/field/PIR-ntl-ZZ_p.h, add MVProductDomain, DotProductDomain for PIR_ntl_ZZ_p

2004-01-28 Zhendong Wan <wan@udel.edu>
        * Modify linbox/algorithms/iliopoulos-elimination.h, making it work in a PIR suggest by bds.
        * Modify linbox/tests/test-iliopoulos-elimination.C, making it work upon change of iliopoulos-elimination
        * Add linbox/field/PIR-ntl-ZZ_p.h, adpating ntl-ZZ_p, and adding PIR interface (gcd, xgcd, dxgcd).

2004-01-27 Zhendong Wan <wan@udel.edu>
        * Modify linbox/algorithms/bitonic-sort.h, minor name change
        
        * Add linbox/tests/test-bitonic.C, test for bitonic-sort

2004-01-27 BDS <saunders@udel.edu>
        * Modify linbox.dxx doc/.cvsignore doc/doc.dxx, min doc change

2004-01-27 BDS <saunders@udel.edu>
        *add linbox/field/ntl-pid-zz_p.h, linbox/field/local2_32.h, linbox/algroithms/local-smith.h, code for local smith form computation.

        *add linbox/tests/test-local-smith.C, modify linbox/tests/Makefile.am, add test for local smith algorithm

2004-01-26 Zhendong Wan <wan@udel.edu>

        * add linbox/field/ntl-ZZ.h, linbox/randiter/ntl-ZZ.h, adapter NTL::ZZ to linbox.

        * add linbox/algorithms/lifting-container.h, linbox/algorithms/rational-reconstruction.h, linbox/algorithms/rational-solver.h, solve the linear systems over the rationals by lifting.

        * add linbox/algorithms/bitonic-sort.h, implement bitonic-sort, a sort network sequential implemenation.

        * add linbox/algorithms/iliopoulos-elimination.h, implement the Iliopoulos algorithm for Smith form.
        * add linbox/blackbox/apply.h, linbox/blackbox/scompose.h, linbox/blackbox/compose-traits.h, linbox/blackbox/random-matrix-traits.h, linbox/blackbox/random-matrix.h, linbox/blackbox/submatrix-traits.h, linbox/algorithms/ith-invariant-factor.h, linbox/algorithms/last-invariant-factor.h, linbox/algorithms/matrix-inverse.h, linbox/algorithms/matrix-mod.h, linbox/algorithms/smith-form.h, implement EGV/EGV+/EGV++ algorithm for Smith Form computation.

        * add linbox/tests/test-last-invariant-factor.C, linbox/tests/test-smith-form.C, linbox/tests/test-iliopoulos-elimination.C, add test for smith form computation and iliopoulos elimination.

2004-01-26 Zhendong Wan <wan@udel.edu>
        * linbox/blackbox/submatrix.h, add specialization for submatrix of denese matrices.
        * linbox/matrix/dense-submatrix.h, linbox/matrix/dense-submatrix.inl, fixed output  / input 

2004-1-15 bds
        * field/archetype.h field/field-interface.h: doc tweaks
        * matrix/dense-submatrix.h matrix/dense-submatrix.inl: fixed write trouble.
        * vector/subvector.h: fixed swap

2004-01-07 Pascal Giorgi <pascal.giorgi@ens-lyon.fr>
        Fix some printing messages in :
        * macro/atlas-check.m4 
        * macro/expat-check.m4
        * macro/givaro-check.m4
        * macro/lidia-check.m4
        * macro/ntl-check.m4
        * macro/saclib-check.m4
        
2003-12-29  Bradford Hovinen  <bghovinen@math.uwaterloo.ca>

        * linbox/matrix/transpose.h (class TransposeMatrix): Remove const
        requirement on input matrix; add in regular iterators

        * tests/test-matrix-domain.C (transpose): Remove const
        (testInvMulOver, testInvMulUnder, testInvLeftMulinOver) 
        (testInvRightMulinOver): Remove const from parameter M

2003-12-28  Bradford Hovinen  <bghovinen@math.uwaterloo.ca>

        * linbox/vector/vector-domain.h (class VectorDomain): Add permute,
        swap functions

        * linbox/vector/vector-domain.inl (swapSpecialized,
        permuteSpecialized): Implement

        * linbox/matrix/matrix-domain.inl (permuteRowsByRow)
        (permuteRowsByCol, permuteColsByRow, permuteColsByCol): Implement

        * linbox/matrix/matrix-domain.h (class MatrixDomain): Add
        row/column permutation functions

2003-12-19 bds
        * tests/Makefile.am: just clean up some comments

2003-12-19 Pascal Giorgi <pascal.giorgi@ens-lyon.fr>
        * added files :
                 linbox/gen_superlu/Makefile.am: missing file
                 macros/config-header.m4: create linbox-config.h from config.h by prefixing all variable by __LINBOX_
                 macros/linbox-misc.m4: allow --with-all and --with-default options   

        Modify Makefile such they use pkg variable 
                * gmp++/Makefile.am
                * interfaces/Makefile.am
                * interfaces/maple/Makefile.am
                * linbox/Makefile.am
                * linbox/algorithms/Makefile.am
                * linbox/blackbox/Makefile.am
                * linbox/element/Makefile.am
                * linbox/fflapack/Makefile.am
                * linbox/fflas/Makefile.am
                * linbox/field/Makefile.am
                * linbox/iterators/Makefile.am
                * linbox/matrix/Makefile.am
                * linbox/randiter/Makefile.am
                * linbox/solutions/Makefile.am
                * linbox/switch/Makefile.am
                * linbox/util/Makefile.am
                * linbox/util/xml/Makefile.am
                * linbox/vector/Makefile.am
                        
        Modify all macro such that they use --with-package terminology + some new features
                * macros/Makefile.am
                * macros/atlas-check.m4
                * macros/expat-check.m4
                * macros/givaro-check.m4
                * macros/gmp-check.m4
                * macros/lidia-check.m4
                * macros/maple-check.m4
                * macros/ntl-check.m4
                * macros/saclib-check.m4

        modify sources and headers files such that the use the new terminology variable from linbox-config.h
                * linbox/blackbox/archetype.h
                * linbox/blackbox/compose.h
                * linbox/blackbox/dense.h
                * linbox/blackbox/diagonal.h
                * linbox/blackbox/nag-sparse.h
                * linbox/blackbox/ntl-toeplitz.h
                * linbox/blackbox/ntl-toeplitz.inl
                * linbox/blackbox/permutation.h
                * linbox/blackbox/scalar-matrix.h
                * linbox/blackbox/sparse.h
                * linbox/blackbox/triplesbb.h
                * linbox/blackbox/zero-one.h
                * linbox/blackbox/zero-one.inl
                * linbox/fflas/fflas.h
                * linbox/fflas/fflas_fgemm.inl
                * linbox/field/abstract.h
                * linbox/field/archetype.h
                * linbox/field/envelope.h
                * linbox/field/gf2.h
                * linbox/field/givaro-gfq.h
                * linbox/field/givaro-zpz.h
                * linbox/field/gmp-rational.h
                * linbox/field/lidia-gfq.h
                * linbox/field/modular.h
                * linbox/field/ntl-RR.h
                * linbox/field/ntl-ZZ_p.h
                * linbox/field/ntl-ZZ_pE.h
                * linbox/field/unparametric.h
                * linbox/matrix/dense.h
                * linbox/matrix/dense.inl
                * linbox/matrix/sparse.h
                * linbox/matrix/sparse.inl
                * linbox/randiter/gf2.h
                * linbox/randiter/gmp-rational.h
                * linbox/randiter/lidia-gfq.h
                * linbox/randiter/modular.h
                * linbox/randiter/nonzero.h
                * linbox/randiter/unparametric.h
                * linbox/util/xml/field-reader-analyzer.h
                * linbox/util/xml/reader-blackbox-factory.h     

        * configure.in: Modification for new features
        * tests/Makefile.am: disable some tests and put tests in right place according to their dependencies
        * tests/test-lsp.C: changing the verification of result to be faster    
        * Hacking: Adding new way of installation
        * maple stuff installation have been improved
        
2003-12-15  Saunders/Wan/Lobo
        * lbmaple.C: getField -> field, template for triplebb.

2003-11-18  Saunders/Wan
        * merge newBB branch into main branch (note: there is an indented section of
          branch changelog notes down below.)

2003-10-21  Pascal Giorgi <pascal.giorgi@ens-lyon.fr>
          Modify few Makefile.am in order to synchronise make dist and make check
        * linbox/algorithm/Makefile.am  adding lsp.h
        * linbox/field/Makefile.am add modular-balance-int.h hom.h image-field.h
        * linbox/blackbox/Makefile.am add missing files
        * tests/Makefile.am fixe some bugs. move test-gssv.C to EXTRA PROGRAM 
        
2003-10-08 wan@udel.edu
        * linbox/matrix/dense.inl, remove the width in write member function, since it causes problem for some ring and it is not necessary, for example, linbox integer doesnot have fixed length

2003-09-29 wan@udel.edu
        * linbox/util/field-zxpy.h, linbox/vector/vector-domain.h,.inl, linbox/field/givaro-zpz.h,modular-balance-int.h,modular-byte.h,modular-int.h,modular-short.h,modular.h,unparametric.h, add a new member reset to FieldAXPY, set initial accumulator's value to zero, thus we can put an instantiation of FieldAXPY into field of VectorDomain, instead of temporily instantiating FieldAXPY whenever we need it.

2003-09-27 wan@udel.edu
        * linbox/field/ntl* linbox/randiter/mersenne-twister.* linbox/randiter/unparametric.h, make them work with the new random memebr function.

2003-09-27 wan@udel.edu
        * linbox/blackbox/dense.h, change the parameter RandIter &iter -->  const RandIter &iter in its constructor.

2003-09-27 wan@udel.edu
        * linbox/randiter/*.h, make each random member function to be a const member function in each random class, since the member will not change the instantiation of the random class at all, just generate a random element.
        * linbox/matrix/dense.inl, make RowIterator and ColIterator support operator --() and operator-- (int).

2003-09-26 wan@udel.edu
        * linbox/matrix/dense.h, fit to g++3 change, add std to endl.

2003-08-15 saunders@udel.edu
        * sundry minor doc++ tweaks.

2003-08-14 saunders@udel.edu
        * sundry doc++ comments in doc/ examples/ and tests/
        * added files (in newbB branch)
           linbox.dxx doc/fix-index examples/ex-integers.C
           examples/examples.dxx examples/blackbox/blackbox.dxx
           examples/fields/fields.dxx tests/tests.dxx
        * linbox/blackbox/sparse.h added default sizes 
        * removed FROZEN, it's contents added to CHANGED-INTERFACES

2003-08-13 saunders@udel.edu
        * test-generic.h blackbox tests simplified, testBB() added
        * ntl-zz_p.h field fixed
        * tests/test-ntl-toeplitz/hankel to newBB.

begin newBB branch notes

  2003-11-05 Pascal Giorgi <pascal.giorgi@ens-lyon.fr>
        * add file /linbox/field/modular-double.h
        * /linbox/field/modular.h include modular-double.h
        
  2003-10-23 wan@udel.edu
        * linbox/blackbox/dense.h, in the operator= , I forced the assignment for field _F.
  
  2003-10-22 wan@udel.edu
        * tests/Makefile.am, comment test-lsp, since g++ complains its syntax error.
        * linbox/blackbox/compose.h, correct a few typos.
  
  2003-10-22 wan@udel.edu
        * linbox/field/modular-byte.h, minor change for write member function, output the modulus as a int instead of a char.
  
  2003-10-22 wan@udel.edu
        * linbox/blackbox/compose.h, add specialization for Compose<Blackbox, Blackbox>
  
  2003-10-08 wan@udel.edu
        * linbox/matrix/dense.inl, remove the width in write member function, since it causes problem for some ring and it is not necessary, for example, linbox integer doesnot have fixed length
  
  2003-09-29 wan@udel.edu
        * linbox/util/field-zxpy.h, linbox/vector/vector-domain.h,.inl, linbox/field/givaro-zpz.h,modular-balance-int.h,modular-byte.h,modular-int.h,modular-short.h,modular.h,unparametric.h, add a new member reset to FieldAXPY, set initial accumulator's value to zero, thus we can put an instantiation of FieldAXPY into field of VectorDomain, instead of temporily instantiating FieldAXPY whenever we need it.
  
  2003-09-27 wan@udel.edu
        * linbox/field/ntl* linbox/randiter/mersenne-twister.* linbox/randiter/unparametric.h, make them work with the new random memebr function.
  
  2003-09-27 wan@udel.edu
        * linbox/blackbox/dense.h, change the parameter RandIter &iter -->  const RandIter &iter in its constructor.
  
  2003-09-27 wan@udel.edu
        * linbox/randiter/*.h, make each random member function to be a const member function in each random class, since the member will not change the instantiation of the random class at all, just generate a random element.
        * linbox/matrix/dense.inl, make RowIterator and ColIterator support operator --() and operator-- (int).
  
  2003-09-26 wan@udel.edu
        * linbox/matrix/dense.h, fit to g++3 change, add std to endl.
  
  2003-08-15 saunders@udel.edu
        * sundry minor doc++ tweaks.
  
  2003-08-14 saunders@udel.edu
        * sundry doc++ comments in doc/ examples/ and tests/
        * added files (in newbB branch)
           linbox.dxx doc/fix-index examples/ex-integers.C
           examples/examples.dxx examples/blackbox/blackbox.dxx
           examples/fields/fields.dxx tests/tests.dxx
        * linbox/blackbox/sparse.h added default sizes 
        * removed FROZEN, it's contents added to CHANGED-INTERFACES
  
  2003-08-13 saunders@udel.edu
        * test-generic.h blackbox tests simplified, testBB() added
        * ntl-zz_p.h field fixed
        * tests/test-ntl-toeplitz/hankel to newBB.
  
end newBB branch notes

2003-08-09 saunders@udel.edu
        * sundry documentation mods
        * blackbox/companion.h fix

2003-08-08 Rich Seagraves <seagrave@cis.udel.edu>
        * linbox/util/xml/field-reader-analyzer.C:
        * linbox/util/xml/reader-blackbox-factory.C: Removed files (depricated)
        * gmp++/gmp++_int.h:
        * linbox/util/gmp++/gmp++_int_misc.C: Added operator bool to LinBox Integer class (casts integer to remainder upon division by 2)
        * linbox/blackbox/archetype.h: Add XML support to BlackboxArchetype 
        * linbox/blackbox/companion.h: Add XML support
        * linbox/blackbox/compose.h: Added partial XML support (incomplete)
        * linbox/blackbox/scalar-matrix.h:
        * linbox/blackbox/triplesbb.h:
        * linbox/blackbox/zero-one.h:
        * linbox/blackbox/zero-one.inl:
        * linbox/blackbox/dense.h:
        * linbox/blackbox/nag-sparse.h:
        * linbox/blackbox/ntl-toeplitz.h:
        * linbox/blackbox/ntl-toeplitz.inl:
        * linbox/matrix/sparse.inl: Modified XML Reading, Writing methods for these Blackboxes
        * linbox/field/abstract.h:
        * linbox/field/envelope.h: Added reading & writing methods to envelope & abstract
        * linbox/field/givaro-zpz.h:
        * linbox/field/modular.h:
        * linbox/field/unparametric.h: Modified XML Reading, Writing methods for these Blackboxes
        * linbox/field/archetype.h: Added XML support to Field archetype (incomplete)
        * linbox/util/xml/field-reader-analyzer.h:
        * linbox/util/xml/reader-blackbox-factory.h: Completed experimental version of FieldReaderAnalyzer & ReaderBlackBoxFactory
        * linbox/util/xml/Makefile.am: Added entries for reader-blackbox-factory.h & field-reader-analyzer.h   

2003-08-07  Bradford Hovinen  <hovinen@cis.udel.edu>

        * linbox/element/Makefile.am (EXTRA_DIST): Remove abstract.dxx

        * linbox/Makefile.am (EXTRA_DIST): Remove interfaces.dxx

        * RELEASE-INSTRUCTIONS: Add this file

        * tests/Makefile.am (BASIC_TESTS): Remove test-givaro-zpz
        (EXTRA_PROGRAMS): Add $(GIVARO_TESTS)

        * linbox/algorithms/wiedemann.inl (precondition): Allocate all
        Compose objects dynamically

        * tests/test-solve.C (main): Restore call to
        testPreconditionedSolve

        * linbox/field/gmp-rational.h (GMPRationalField::read):
        Compilation fix

2003-07-25  Bradford Hovinen  <bghovinen@math.uwaterloo.ca>

        * linbox/algorithms/block-lanczos.inl: Add calls for detailed
        timing information

2003-07-20  Bradford Hovinen  <bghovinen@math.uwaterloo.ca>

        * linbox/field/modular.inl (mulColDenseSpecialized): Compilation
        fixes

        * linbox/algorithms/block-lanczos.h (class BlockLanczosSolver):
        Initialize _MD in all constructors

2003-07-23 wan@udel.edu

        * linbox/field/modular-int.h, linbox/field/modular-short.h, linbox/field/modular-byte.h add MVProductionDomain specialization.

2003-07-21 Rich Seagraves <seagrave@cis.udel.edu>

        * linbox/util/xml/field-reader-analyzer.C:
        * linbox/util/xml/field-reader-analyzer.h: added files for Reader->Field conversion
        * linbox/util/xml/reader-blackbox-factory.h:
        * linbox/util/xml/reader-blackbox-factory.C: added files for Reader->BlackBox conversion
        * linbox/blackbox/dense.h:
        * linbox/matrix/dense.h:   Added XML support to DenseMatrix class
        * linbox/blackbox/diagonal.h: "" Diagonal class
        * linbox/blackbox/nag-sparse.h: "" NAGSparse class
        * linbox/blackbox/ntl-toeplitz.h:       
        * linbox/blackbox/ntl-toeplitz.inl: "" NTLToeplitz class
        * linbox/blackbox/permutation.h: "" Permutation class
        * linbox/blackbox/scalar-matrix.h: "" ScalarMatrix class
        * linbox/blackbox/sparse.h:
        * linbox/matrix/sparse.h:          "" SparseMatrix class
        * linbox/blackbox/triplesbb.h:  "" TriplesBB class
        * linbox/blackbox/zero-one.h:
        * linbox/blackbox/zero-one.inl:  "" ZeroOne class
        * linbox/field/gf2.h:           "" GF2 class
        * linbox/field/gf2.inl:
        * linbox/field/givaro-gfq.h:  "" Givaro::GFq class
        * linbox/field/givaro-zpz.h:
        * linbox/field/givaro-zpz.inl: "" Givaro::Modular class
        * linbox/field/gmp-rational.h: "" GMPRationalField class
        * linbox/field/lidia-gfq.h:   "" LidiaGfq class
        * linbox/field/modular.h:  "" Modular class
        * linbox/field/ntl-RR.h:   "" NTL::RR specilization of Unparametric
        * linbox/field/ntl-ZZ_p.h: "" NTL::ZZ_p ""
        * linbox/field/ntl-zz_p.h: "" NTL::zz_p ""
        * linbox/field/ntl-ZZ_pE.h: "" NTL::ZZ_pE ""
        * linbox/field/unparametric.h: Added XML support to UnparametricField
        * linbox/randiter/gmp-rational.h: "" GMPRationalRandIter class
        * linbox/randiter/lidia-gfq.h:    "" LidiaGfq randiter
        * linbox/randiter/modular.h:     "" Modular randiter
        * linbox/randiter/nonzero.h:     "" NonZero randiter
        * linbox/randiter/unparametric.h: "" UnparametricRanditer
        * linbox/util/xml/linbox-reader.h:
        * linbox/util/xml/linbox-writer.h:
        * linbox/util/xml/xml-tree.h:   Updated XML reading & writing API

2003-07-21  saunders@udel.edu

        * Documentation modifications in doc/doc.dxx linbox/archetypes.dxx linbox/linbox.dxx
        linbox/blackbox/blackbox.dxx linbox/blackbox/direct-sum.h
        linbox/element/abstract.h linbox/element/archetype.h
        linbox/element/envelope.h
        Removed Files:
        linbox/interfaces.dxx linbox/wrappers.dxx
        linbox/element/abstract.dxx linbox/element/archetype.dxx

2003-07-21  wan@udel.edu

        * linbox/field/modular-balance-int.h, add balance representation for modular field.

        * tests/test-modular-balance-int.C, add test for balance representation for modular field.
        
2003-07-14  saunders@udel.edu

        * tests/Makefile.am givaro test now works

        * various.dxx some doc tweaks

2003-07-11  Bradford Hovinen  <bghovinen@math.uwaterloo.ca>

        * linbox/algorithms/block-lanczos.inl (iterate): Add TIMER_* calls
        to report detailed timings when DETAILED_PROFILE is set

        * linbox/randiter/mersenne-twister.h: 

        * linbox/randiter/mersenne-twister.C: Eliminate #pragma directives

2003-07-10  Bradford Hovinen  <bghovinen@math.uwaterloo.ca>

        * linbox/blackbox/matrix-blackbox.h (class MatrixBlackbox): Add
        this file

2003-07-06  Bradford Hovinen  <bghovinen@math.uwaterloo.ca>

        * linbox/matrix/transpose.h (class TransposeMatrix): Add missing
        Row, Col, Column declarations

        * linbox/field/modular.h (class MVProductDomain): Add
        specializations for uint8, uint16, and uint32

2003-07-05  Bradford Hovinen  <bghovinen@math.uwaterloo.ca>

        * linbox/matrix/matrix-domain.h (class MVProductDomain): Create
        this class and move mulColSpecialized for dense vectors into it

        * linbox/algorithms/block-lanczos.inl (solve): Try checking system
        solution even if iterate returned false, just in case enough of
        the Krylov basis was obtained to get the true solution.

2003-07-03  Bradford Hovinen  <bghovinen@math.uwaterloo.ca>

        * linbox/blackbox/diagonal.h (Diagonal::apply): Don't resize the
        output

        * linbox/blackbox/transpose.h (class Transpose): Parameterize by
        black box; add versions of apply and applyTranspose separately
        parameterized by vector

        * linbox/blackbox/compose.h (class Compose): Add versions of apply
        and applyTranspose separately parameterized by vector
        (class Compose): Parameterize by blackboxes

        * tests/test-sparse.C (runSparseMatrixTests): Disable testing
        sparse matrix against non-dense vectors, since I don't support
        them any more

        * linbox/blackbox/sparse.h (class SparseMatrix): Add versions of
        apply and applyTranspose parameterized by two vector types; add
        MatrixDomain _MD; Use _MD for arithmetic and eliminate
        specializations as they are no longer needed; eliminate
        applyTransposeSpecialized

        * linbox/matrix/matrix-domain.h (MatrixDomain::blackboxMul):
        Rename blackboxMulLeft, blackboxMulRight; parameterize by black
        box and not by vector

2003-07-02  Bradford Hovinen  <bghovinen@math.uwaterloo.ca>

        * linbox/solutions/solve.h (solve): Eliminate Vector from
        BlockLanczosSolver declaration; parameterize by black box

        * linbox/algorithms/block-lanczos.inl (iterate): Declare tmp and
        tmp1 locally
        (mulin): Use Vector<Field>::Dense::iterator rather than Vector

        * linbox/algorithms/block-lanczos.h (class BlockLanczosSolver):
        Eliminate v and Av
        (class BlockLanczosSolver): Eliminate _t1; replace _t with _tmp

        * linbox/algorithms/block-lanczos.inl (solve): Parameterize by
        black box and vector
        (iterate): Ditto
        (solve): Eliminate v and Av

        * linbox/algorithms/block-lanczos.h:
        (class BlockLanczosSolver): Make generic wrt internal matrix type
        used; no longer parameterize by vector

        * linbox/algorithms/block-lanczos.inl (compute_Winv_S): Compute
        and return rank of V^T AV
        (iterate): Keep track of Ni and add trace statements to report it;
        abort if total of Ni's is too large
        (iterate): Use Vi = 0 as termination condition
        (iterate): Add variable progress_interval giving number of
        iterations between each call to commentator.progress
        (compute_Winv_S): Don't call commentator.progress unless
        DETAILED_TRACE is set

2003-07-09 saunders@cis.udel.edu
        * field/ntl-zz_p.h unparametric.h fix yesterday's version - syntax of new constructor from p,e.

2003-07-08 saunders@cis.udel.edu
        * Documentation tweaks, especially vis a vis @memo entries.
        * See doc/doc.dxx for discussion of documentation conventions.
        * For now, let's try to make the html documentation work and leave tex for later.

2003-07-07 Rich Seagraves <seagrave@cis.udel.edu>
        * macros/expat-check.m4: Disabled automatic detection of expat in system standard locations, expat must now be manually specified in configure step

2003-06-30 Rich Seagraves <seagrave@cis.udel.edu>
        * macros/expat-check.m4:
        * linbox/blackbox/triplesbb.h:
        * linbox/field/modular.h: Files altered to use "XMLENABLED" pre-processor flag instead of "RWENABLED"
        * linbox/matrix/sparse.h:
        * linbox/matrix/sparse.inl:
        * linbox/blackbox/sparse.h:
        * linbox/blackbox/sparse.inl: Added XML support to all SparseMatrix variants
        * linbox/blackbox/nag-sparse.h: Added XML support to NAGSparse blackbox
        * linbox/blackbox/zero-one.h:  Added XML support to ZeroOne blackbox
        * linbox/util/xml/linbox-reader.h: Added constructor from initalized Writer
        * linbox/util/xml/linbox-writer.h: begun adding ability to traverse written Tag structure, add tags BEFORE as well as after the current Tag

2003-06-26 Rich Seagraves <seagrave@cis.udel.edu>
        * add macros/expat-check.m4,
        * add linbox/util/xml,
        * add linbox/util/xml/linbox-reader.h,
        * add linbox/util/xml/linbox-writer.h,
        * add linbox/util/xml/xml-tree.h,
        * add linbox/util/xml/README,
        * add linbox/util/xml/Makefile.am: Defines LinBox/XML framework
        * configure.in:  Alters build system to make expat package optional dependency
        * linbox/util/Makefile.am: make xml a subdir of util
        * linbox/blackbox/triplesbb.h: Add XML reading & Writing to TriplesBB class
        * linbox/field/modular.h: Add XML reading & Writing to ModularBase class
        * linbox/solutions/det.h: commented out debug output
        
2003-06-24 wan@udel.edu
        * linbox/field/modular-int.h, linbox/field/modular-short.h, linbox/field/modular-byte.h, use a fast way to compute 2^64 % modulus.
        * linbox/tests/test-modular-int.h, change the modulus to a 30 big integer.
        
2003-06-20 wan@udel.edu
        * linbox/blackbox/butterfly.h, linbox/blackbox/dense.h 
        * linbox/blackbox/dif.h,linbox/blackbox/inverse.h 
        * linbox/blackbox/sparse.h, linbox/blackbox/submatrix.h : for high performance reason, and a field only occupies a small memory, change const Field& to const Field in private field.


2003-06-16 wan@udel.edu
        * add linbox/field/modular-int.h, modular-short.h , modular-byte, combining the trick of NTL for arithmetic operation and dot product of modluar<uint32>
        * add linbox/tests/test-modular-int.C, test-modular-short.C, test-modular-byte.C.
        * linbox/randiter/modular.h, remove field _card, since it only uses to initialize _size.
        
2003-06-12 wan@udel.edu
        * linbox/field/givaro-gfq.h, enforce that the cardinality must be <2^16, for givaro-gfq
        * linbox/randiter/modular.h, replace static-cast with init in the random function.

2003-06-05 saunders@udel.edu
        * work on documentation in linbox/blackbox (particularly blackbox.dxx and archetype.h).
        * Note: renamed blackboxes.dxx to blackbox.dxx and removed some cruft files.

2003-06-03 zhendong wan
        * linbox/blackbox/ntl-sylvester.inl remove the warning message.

2003-06-03 zhendong wan
        * linbox/field/ntl-zz-p.h, set default prime to be 65521
        * tests/test-sum.C, correct a type name error.

2003-06-03 zhendong wan
        * linbox/util/commentator.C, tests/test-commentator.C, temporarily fixed the bug in test-commentator, left a little memory leaking.
        
2003-06-02 saunders@udel.edu
        * blackbox/zero-one.h, .inl: mods to avoid g++ 3.2.1 typename warnings.

2003-05-30 saunders@udel.edu
        * field/unparametric.h field/ntl-zz_p.h tests/test-ntl-zz_p.cpp: put in prototype of a constructor 
        * I propose to have all field classes have a constructor from a prime and optionally an exponent -- 
        * FieldClass(integer q) if a prime field class, (allow q = 0)
        * FieldClass(integer q, size_t e) if an extension of degree e.

2003-05-30 saunders@udel.edu
        * tests/test-commentator.C - adjust so passes on solaris.  Note: there is apparently still a bug to fix.

2003-05-30 zhendong wan <wan@mail.eecis.udel.edu>
        * linbox/blackbox/null-matrix.h: remove getInstance member function. Make default constructor public, remove static member nullMatrix
        * linbox/blackbox/direct-sum.h: update the include file for NullMatrix.
        * tests/Makefile.am: comment some tests lacking of source codes
        * linbox/blackbox/Makefile.am: put in null-matrix.h direct-sum.h 

2003-05-29 saunders@udel.edu
        * change name to null-matrix.h and depreciate applyIn and a doc++ comment.

2003-05-29 zhendong wan <wan@mail.eecis.udel.edu>
        * linbox/blackbox/nullmatrix.h : added a new singelton class. a matrix of size 0
        * linbox/black/direct-sum.h : solved some ugly problem

2003-05-28 zhendong wan <wan@mail.eecis.udel.edu>
        * tests/test-direct-sum.c: update the tests for DirectSum
        
2003-05-28 austin lobo <alobo@udel.edu> david saunders <saunders@udel.edu>
        * Changed blackbox/direct-sum.h to allow for 0 x 0 blocks
        * Changed blackbox/scalar-matrix.h to properly handle 0 x 0 matrix
        * Added test for 0 x 0 in tests/test-direct-sum.C
        * Added test for 0 x 0 in tests/test-scalar-matrix.C
        * New blackbox/frobenius.h and tests/test-frobenius.C

2003-05-27 zhendong wan <wan@mail.eecis.udl.edu>
        * linbox/blackbox/companion.h, tests/test-companion.h: revised the Compa
nion class, remove template parameter Polynomial, modify the constructor with ra
ndom genertor.

2003-05-27 saunders@udel.edu

        * blackbox/companion.h, tests/test-companion.h: added class inherits from triplesbb
        * tests/test-triplesbb.C: add test from other constructor

2003-05-26  Pascal Giorgi <pascal.giorgi@ens-lyon.fr>

        * linbox/FFLAS/fflas.h : modify field_trsm to be closed to blas standard
        * linbox/FFLAS.fflas.inl : put macro LEFT,RIGHT,UNIT,NOUNIT,LOWER,UPPER, to specialize field_trsm function
        * linbox/algorithms/lsp.h : adding function to retrieve index of zero and non-zero rows in S.
        * linbox/algorithms/lsp-tools.h: adding function to handle row permutation , synchronization with field_trsm

2003-05-23  saunders@udel.edu

        * tests/test-generic.h: make testSmallBlackbox work, put it in with linearity and transpose in testBlackbox.

2003-05-20  saunders@udel.edu

        * linbox/blackbox/compose.h: add constructor from references, &A &B.
        * linbox/blackbox/sum.h: add constructor from refs, &A &B; remove cloning; copy field for speed. 
        * linbox/field/ntl-zz_p.h: typdef to name NTL_zz_p 
        * macros/atlas-check.m4: remove f77blas refs which break things for me.  Hope not needed by others. 
        * tests/test-butterfly.C: also check Compose constructor with refs (vs ptrs) 
        * tests/test-generic.h: fix vector size bug in testTranspose(). 
        * tests/test-rank.C: add testZeroAndIdentRank(). 
        * tests/test-sum.C: also check Sum constructor with refs (vs ptrs), calls testBlackbox() too. 

        * Added Files: linbox/blackbox/direct-sum.h tests/test-direct-sum.C: 
         DirectSum BB is direct sum of 2 BBs, similar in structure to Compose, Sum.

2003-05-14  Bradford Hovinen  <bghovinen@math.uwaterloo.ca>

        * tests/Makefile.am (BASIC_TESTS): Reintroduce test-solve

        * tests/test-solve.C (testSingularInconsistentSolve): Check status
        == ...INCONSISTENT, not status == SINGULAR

2003-04-23  Pascal Giorgi <pascal.giorgi@ens-lyon.fr>

        * linbox/algorithms/lsp.h: delete typo errors 
        * linbox/algorithms/lsp-tools.h  : clarify Compute-G function
        * tests/Makefile.am: retrieve test-lsp

2003-04-19 -bds  - comment out non working tests in tests/Makefile.am
        
2003-04-11 Pascal Giorgi <pascal.giorgi@ens-lyon.fr>

        * linbox/FFLAS/FFFMMBLAS.h: use of init and convert with double in MatGfq2MatDouble,
                MatGfq2MatDouble_Triangular and MatDouble2MatGfq

        * linbox/field/givaro-zpz.h: define convert to double
2003-04-11 Austin Lobo <alobo@cis.udel.edu>
        * Added rules for ntl-sylvester and test-ntl-sylvester
        * Added ntl-sylvester.h ntl-sylvester.inl to the repository
        
2003-04-10 Pascal Giorgi <pascal.giorgi@ens-lyon.fr>

        * linbox/algorithms/lsp.h : optimization

        * linbox/FFLAS.fflas.inl : new version of Field_trsm (more effficient)

2003-04-04 Pascal Giorgi <pascal.giorgi@ens-lyon.fr>

        * linbox/field/givaro-zpz.h: fix bug with init from double

        * linbox/field/givaro-zpz.inl: fix some warnings

        * linbox/FFLAS/FFFMMBLAS.h: fix some bugs

        * linbox/FFLAS/fflas.inl: fix some bugs

        * linbox/algorithms/lsp.h: adding <iostream.h> header

        * linbox/tests/test-lsp.C: adding test for LSP factorization with atlas library

        * linbox/tests/Makefile.am: adding tests and variables for atlas library

        
2003-04-02  Pascal Giorgi <pascal.giorgi@ens-lyon.fr>

        * linbox/matrix/dense.h: adding parameter _ptr as a pointer on the first Element of the matrix
                                 adding FullIterator() function (returning _ptr)
        
2003-04-02  Jean-Guillaume Dumas <Jean-Guillaume.Dumas@imag.fr>

        * gmp++/gmp++_int.h: Backed out my commit
        * linbox/util/gmp++/gmp++_int_misc.C: Backed out my commit
        * macros/gmp-check.m4 : added GMP_VERSION Makefile variable to enable
                                gmp-3.xxx compatibility

        * All this is made to have fully SIMILAR gmp++ files within givaro
        * and linbox (e.g. no "#include <linbox-config.h>" nor
        * "#include <givaro-config.h>"


2003-04-02  Giorgi Pascal <pascal.giorgi@ens-lyon.fr>
        
        * linbox/macros/atlas-check.m4: adding checking for atlas tuning library

        * linbox/configure.in: adding check for atlas
        
        * linbox/field/givaro-zpz.h: adding init function from double
        
        * linbox/algorithms/lsp.h :

        * linbox/algorithms/lsp-tools.h  : algorithm to compute the LSP decomposition of a dense matrix stored contiguously by row.

        * linbox/FFLAS/ :  new directory containing FFLAS routine of jean-guillaume and clement and also LinBox wrappers

        * linbox/FFLAS/FFFMMBLAS.h:  FFLAS routine (j-g and clement code)

        * linbox/FFLAS/ FFFMMBLAS.inl: FFLAS routine (j-g and clement code)

        * linbox/FFLAS/lin_wrap_c++.h: FFLAS routine (j-g and clement code)

        * linbox/FFLAS/lin_wrap_c++.inl: FFLAS routine (j-g and clement code)

        * linbox/FFLAS/fflas.h: wrappers including field_dgemm and field_trsm

        * linbox/FFLAS/fflas.inl:  wrappers including field_dgemm and field_trsm
        
        
2003-04-01  Bradford Hovinen  <bghovinen@math.uwaterloo.ca>

        * linbox/matrix/matrix-domain.inl: 

        * linbox/matrix/matrix-domain.h: Back out previous changes

2003-03-31  Bradford Hovinen  <bghovinen@math.uwaterloo.ca>

        * tests/test-vector-domain.C (main): Add test for uint8

        * linbox/field/modular.h (class FieldAXPY<uint8>): typedef uint8
        Element

2003-03-29  Bradford Hovinen  <bghovinen@math.uwaterloo.ca>

        * linbox/vector/bit-vector.h: Be generic wrt word length, so we
        can use 64-bit arithmetic when available

        * linbox/util/debug.h: Remove GCCisms

2003-03-27  Bradford Hovinen  <bghovinen@math.uwaterloo.ca>

        * gmp++/gmp++_int.h: Add operator unsigned char

        * gmp++/gmp++_int.h: Backed out previous commit, since it broke
        the build for the entire library

        * linbox/util/gmp++/gmp++_int_misc.C: Backed out previous commit,
        since it broke the build for this file

        * tests/test-modular.C (main): Add test for Modular<uint8>

        * linbox/field/modular.h (class FieldAXPY): Add specialization for
        uint8
        (class Modular): Add specialization for uint8
        (class DotProductDomain): Add specialization for uint8

2003-03-26  Bradford Hovinen  <bghovinen@math.uwaterloo.ca>

        * linbox/matrix/matrix-domain.h (class MatrixVectorDomain): Create
        this class and move mulRowSpecialized and mulColSpecialized
        functions into it
        (class MatrixDomain): Inherit MatrixVectorDomain
        (class MatrixDomain): Move _VD to MatrixVectorDomain

        * linbox/field/gf2.inl (class Diagonal): Add specialization for GF2

        * linbox/blackbox/diagonal.h (class Diagonal): Use RandIter, not
        RandomIterator

        * linbox/field/gf2.inl (addinSpecialized): Remember to increment
        other iterators

        * tests/test-gf2.C (testDotProductGF2): Create new version for
        dense/sparse test
        (testDotProductGF2): Use generic vector names
        (main): Use unsigned int rather than size_t for n

        * linbox/field/gf2.inl (dotSpecializedDD): Use mask at the end of
        the vector

        * linbox/vector/bit-vector.inl (class BitVector::const_iterator):
        Add operator = (iterator)
        (class BitVector::iterator): Make const_iterator a friend
        (class BitVector::reference): Ditto
        (class BitVector::iterator, class BitVector::const_iterator): Add
        equality checks with each other

        * tests/test-gf2.C (testDotProduct): Enable this

        * linbox/field/gf2.inl (class RandomSparseStreamGF2, class
        RandomDenseStreamGF2): Require seed as a parameter
        (addSpecialized): Swap x and y in if statement
        (VectorDomain<GF2>::addinSpecialized): Fix call to copy

        * linbox/vector/bit-vector.inl (operator ==): Make this operation
        a bit smarter

2003-03-23  Bradford Hovinen  <bghovinen@math.uwaterloo.ca>

        * linbox/field/gf2.inl (class VectorDomain): Sprinkle this->
        before copy liberally to make SGI CC happy

        * linbox/vector/bit-vector.inl (operator =): Return *this

        * tests/test-dif.C (testZeroApply): Remove neg_one

        * linbox/util/field-axpy.h (FieldAXPY::operator =): Don't try to
        assign the field

        * tests/test-sparse.C (main): Don't use NonzeroRandIter for
        RandomSparseStream -- that's already implied

        * linbox/field/gf2.inl (class RandomDenseStreamGF2, class
        RandomSparseStreamGF2): Rename from specializations of
        RandomDenseStream and RandomSparseStream

        * tests/Makefile.am: Enable test-gf2

        * linbox/vector/bit-vector.inl (BitVector::resize): Set _size

        * linbox/randiter/mersenne-twister.h
        (MersenneTwister::randomDoubleRange): Move this to the header file

        * linbox/randiter/mersenne-twister.C (randomInt): Make this not
        inline

        * linbox/field/gf2.inl (class RandomDenseStream): Use the Mersenne
        Twister
        (class RandomSparseStream): Use the Mersenne Twister

        * linbox/randiter/gf2.h (class GF2RandIter): Use the Mersenne
        Twister
        (GF2RandIter::random): Overload with two reference types rather
        than using template <reference>

        * linbox/field/gf2.h (class GF2): Eliminate template <reference>
        declarations; instead use manual overloading. This means we only
        support bool & and BitVector::reference. Use a straight bool on
        const parameters

        * linbox/vector/bit-vector.inl: Add inserter and extractor
        overloading for BitVector::(const_)reference

        * linbox/vector/Makefile.am (include_HEADERS): Add missing
        bit-vector.inl

        * linbox/randiter/Makefile.am (BASIC_HDRS): Add missing gf2.h

2003-03-16  Bradford Hovinen  <bghovinen@math.uwaterloo.ca>

        * linbox/util/commentator.C (Commentator::setMaxDepth,
        Commentator::setMaxDetailLevel): Use ++i, not i++

        * linbox/vector/subvector.h (Subvector::at): Use const_reference
        rather than const reference

        * linbox/vector/reverse.h (ReverseVector): Use const_reference
        rather than const reference

        * linbox/util/commentator.h (class Commentator): Add setMaxDepth
        and setMaxDetailLevel to disabled commentator

2003-03-21 Austin Lobo <alobo2@washcoll.edu>
        *  test-generic.h:  added testApply(..) and testApplyTranspose(...)
                           to testBlackBox, so that timings for these two
                           operations can be obtained.
        
        *  test-ntl-toeplitz.C, test-ntl-hankel.C: cosmetic changes to
                           give slightly cleaner status message.

        *  ntl-toeplitz.inl: modifications in the
                           limits of iterations to take into account the
                           possibility of rectangular matrices.
        
2003-03-20  Giorgi Pascal  <pascal.giorgi@ens-lyon.fr>
        * linbox/field/givaro-zpz.h  fix bugs for init function
        
2003-03-15  Bradford Hovinen  <bghovinen@math.uwaterloo.ca>

        * linbox/randiter/modular.h (RandIter::RandIter): Copy _size and
        _seed in copy constructor

        * linbox/vector/stream.h (class RandomSparseStream): Use
        MersenneTwister
        (class RandomSparseStream): Declare the base random iterator
        locally

        * linbox/randiter/modular.h (Modular<uint32>::RandIter,
        Modular<uint16>::RandIter): New specializations; use the new
        Mersenne Twister random number generator

        * linbox/randiter/Makefile.am (noinst_LTLIBRARIES): Add libranditer.la
        (libranditer_la_SOURCES): Add mersenne-twister.C
        (BASIC_HDRS): Add mersenne-twister.h

        * linbox/Makefile.am (liblinbox_la_LIBADD): Add libranditer.la

2003-02-07  Bradford Hovinen  <bghovinen@math.uwaterloo.ca>

        * linbox/matrix/Makefile.am (BASIC_HDRS): Add matrix-domain.{h|inl}

        * linbox/vector/Makefile.am (include_HEADERS): Add
        vector-domain.{h|inl}

2002-03-04 Pascal Giorgi <pascal.giorgi@ens-lyon.fr>
        * linbox/field/givaro-zpz.h    added specialization for DotProductDomain and FieldAxpy  
        * linbox/field/givaro-zpz.inl  added specialization for DotProductDomain and FieldAxpy

2003-03-03 Zhendong Wan <wan@cis.udel.edu>
        *linbox/matrix/matrix-domain.h, include header file linbox/vector/vector-domain.h

2003-02-26 Austin Lobo <alobo@cis.udel.edu>
        * linbox/blackbox/Makefile.am (include_HEADERS) : added ntl-hankel.h
        * linbox/blackbox/ntl-hankel.h:  added to library after testing
        * linbox/blackbox/ntl-hankel.inl: added to library after testing
        * linbox/tests/test-ntl-hankel.C: added to library after testing
        * linbox/tests/Makefile.am: (test_ntl_hankel_SOURCES) added
        * linbox/tests/test-generic.h: minor changes to make output clearer.
2003-02-25  Zhendong Wan <wan@mail.eecis.udel.edu>
        *linbox/blackbox/zero-one.h, zero-one.inl. Correct one typo.

2003-02-25  Zhendong Wan <wan@mail.eecis.udel.edu>
        
        *linbox/blackbox/zero-one.h, zero-one.inl. Seperate the Intereface and i
        implementation, put them in seperate files.And make apply specialization        for Modular<uint32> work.


2003-02-24  David Saunders and Zhendong Wan

        * linbox/util/timer.h: #define __LINBOX_TIMER_H to avoid conflict with givaro timer

        * tests/Makefile.am: reinstate givaro test

2003-02-22  David Saunders

        * tests/test-solve.C: comment out "Sparse preconditioner", MethodTrait::Wiedemann::SPARSE
          It's segfaulting, likely due to Compose changes.

        * linbox/blackbox/transpose.h compose.h: remove cloning

        * linbox/blackbox/triplesbb.h: coupla "typename"s to remove warnings. 

        * linbox/field/hom.h image-field.h:  Introduce a scheme for homomorphic images
          with injections in extension fields in mind, isoms in mind, ints to modular in mind.
          Specializations are now needed.

        * tests/test-hom.C test-image-field.C: Add prototype tests for 'em.

        * tests/test-generic.h: make statistical randiter test more likely to pass.

2003-02-05  Bradford Hovinen  <bghovinen@math.uwaterloo.ca>

        * tests/Makefile.am (NTL_TESTS): Move test-ntl-toeplitz here
        (NTL_TESTS): Move test-gssv_rank here

        * tests/test-solve.C (testSingularPreconditionedSolve)
        (testSingularInconsistentSolve): Use version of solve without
        exceptions

        * linbox/solutions/solve.h (solve): Return WiedemannSolver return
        status rather than reference to solution vector. Require parameter
        for certificate of inconsistency. New version that throws exceptions

        * linbox/algorithms/wiedemann.h (class WiedemannSolver): Remove
        exception code; have all functions return a new enum ReturnStatus

2003-02-04  Bradford Hovinen  <bghovinen@math.uwaterloo.ca>

        * linbox/vector/stream.h (class RandomSparseStream): Remove
        specialization for dense vectors

        * tests/test-generic.h: Remove testFieldAXPY
        (runFieldTests): Remove call to testFieldAXPY

        * linbox/vector/vector-traits.h (struct VectorCategories): Add
        ZeroOneVectorTag, SparseVectorTag for GF(2)

2003-02-03  Bradford Hovinen  <bghovinen@math.uwaterloo.ca>

        * tests/test-vector-domain.C: Include test-generic.h

        * tests/test-generic.h (testRandomIterator): Move from
        test-modular.C here
        (testDotProduct, testAddMul, testSubMul, testAXPY, testCopyEqual):
        Move from test-vector-domain.C here

        * tests/test-rank.C (testEliminationRank): New test

        * linbox/matrix/sparse.h (class SparseMatrixBase): Add operator []
        for row access
        (class SparseMatrixBase): Add typedef ConstRow

        * examples/blackbox/Makefile.am (EXTRA_PROGRAMS): Add random-rank

        * linbox/matrix/Makefile.am (BASIC_HDRS): Add dense-rows-matrix.h

        * linbox/vector/Makefile.am (include_HEADERS): Add bit-vector.h

        * linbox/field/Makefile.am (BASIC_HDRS): Add gf2.h, gf2.inl

        * linbox/algorithms/wiedemann.inl (makeLambdaSparseMatrix): Update
        RandomSparseStream

        * linbox/vector/stream.h (RandomSparseStream::RandomSparseStream):
        Put probability parameter before vector dimension

        * linbox/algorithms/gauss.h: Rename gauss_rankin as rankin and
        gauss_rank as rank

        * linbox/algorithms/block-lanczos.h (class BlockLanczosSolver): 

        * linbox/algorithms/block-lanczos.inl (solve): 

        * linbox/algorithms/lanczos.h (class LanczosSolver): 

        * linbox/algorithms/lanczos.inl (solve): 

        * linbox/solutions/solve.h (solve): 

        * linbox/algorithms/wiedemann.h (class WiedemannSolver): 

        * linbox/algorithms/wiedemann.inl: Port to new SolverTraits interface

        * linbox/solutions/methods.h (struct WiedemannTraits): Move
        Wiedemann-dependent traits here
        (struct LanczosTraits): Move Lanczos-dependent traits here
        (struct BlockLanczosTraits): New structure
        (struct SolverTraits): Parameterize by MethodTraits and include an
        instance thereof; remove all method-specific traits

        * linbox/matrix/dense.h (DenseMatrixBase::columnDensity): New
        function

        * linbox/matrix/archetype.h (MatrixArchetype::columnDensity,
        MatrixArchetype::transpose): New functions

        * linbox/matrix/sparse.h (SparseMatrixBase::columnDensity): New
        function

        * linbox/solutions/methods.h (struct RankTraits): New structure
        (struct MethodTrait): Add BlockLanczos

2003-03-4 Rich Seagraves <seagrave@cis.udel.edu>
        * interfaces/maple/demonstration.mws: Finished
        * interfaces/maple/lbmaple.C: Fixed the final bugs with LinBoxV 
        handling code.
        * interfaces/maple/lbmaple.mpl.tail: ditto.  Also, renamed LBApply and
  LBApplyTranpose as LBaply and LBapplyTranspose to be like the rest of
  the names
        * interfaces/maple/lbmaple.mpl.tail: ditto.
        * configure.in: Removed a double reference to matrix/Makefile in
  AC_OUTPUT[...]

2003-03-4 Rich Seagraves <seagrave@cis.udel.edu>
        * interfaces/maple/demonstration.mws: Updated file, should be working
        * interfaces/maple/README:  Added file
        * interfaces/maple/lbmaple.mpl.tail:  Edited final line, lbmaple.mpl
script now puts LinBox module into global maple namespace when run

2003-02-3 Rich Seagraves <seagrave@cis.udel.edu>
        * interfaces/maple/lbmaple.mpl.tail: Fixed some interface bugs
        * interfaces/maple/demosntration.mws: Updated file, it's almost finished

2003-01-30 Rich Seagrves <seagrave@cis.udel.edu>
        * interfaces/maple/Makefile.am:
        * interfaces/maple/Makefile.in.2:
        * macros/maple-check.m4: Fixed bug in maple interface build setup
        * linbox/blackbox/triplesbb.h: Added missing _max() function  

2003-01-30 Rich Seagraves <seagrave@cis.udel.edu>
        * tests/Makefile.am: Added entry for test-zero-one.C
        * tests/test-zero-one.C: Fixed file, now complies with standard for tests
        * macros/maple-check.m4: Now install maple interface in "prefix" directory
        * interfaces/maple/Makefile.am: Ditto
        * interfaces/maple/Makefile.in.2: Ditto as well :-)
        * linbox/blackbox/triplesbb.h: Added file (copy of maplebb.h)
        * interfaces/maple/maplebb.h: Removed file
        * interfaces/maple/lbmaple.C: Now use TriplesBB blackbox instead of MapleBB 
        * linbox/blackbox/zero-one.h: Removed some warnings

2003-01-30 Saunders
        * tests/test-scalar-matrix.C: simplify test to generic testBlackbox.
        * tests/test-*.C: modify " ... test suite" header line of output to be preceeded 
          by blank line rather than followed.
        * linbox/blackbox/hilbert.h, tests/test-hilbert.C: fix hilbert example 
          (for dense vector only) and insert a generic test 

2003-01-29 Rich Seagraves <seagrave@cis.udel.edu>
        * interfaces/maple/lbmaple.C: Killed all bugs
        * interfaces/maple/lbmaple.mpl.tail: Ditto
        * macros/maple-check.m4: Fixed problem with check whether specified maple dir 
          IS actually valid maple distribution

2003-01-29 Ahmet Duran and David Saunders

        * examples/gen_superlu/*: examples added and also removed as a subdir within 
          linbox, i.e. linbox/gen_superlu/example/ subdir.

2003-01-29 Ahmet Duran and David Saunders

        * linbox/gen_superlu/: directory and contents are a generic version of 
          superlu created by Ahmet.  Basics work but header comments and the like
          will be brought up to form in the near future, 
        * tests/test-gssv_rank: a proto test for gen_superlu, improvements will come.
        * test/data/gssv_rank_data: input matrix for test-gssv_rank.

2003-01-29 Rich Seagraves <seagrave@cis.udel.edu>
        * interfaces/maple/Makefile.am: Remove "if HAVE_MAPLE" check
        * interfaces/maple/lbmaple.C: Fixed some bugs, warnings
        * interfaces/maple/maplebb.h: Fixed some bugs, warnings
        * interfaces/maple/lbmaple.mpl.head: Changed formatting a bit
        * interfaces/maple/lbmaple.mpl.tail: Changed formatting a bit
        * macros/maple-check.m4: Requires the flag "--enable-shared" to build maple interface, 
          made some fixes to ensure proper building of lbmaple.mpl, interface script
        * linbox/blackbox/zero-one.h: Fixed in-file test functions
        * tests/test-zero-one.C: Added test for ZeroOne blackbox
        
2003-01-20 Austin Lobo <alobo@cis.udel.edu>

        * linbox/field/ntl-RR.h: Corrected clashes with LinBox  namespace
        
2003-01-20 Austin Lobo <alobo@cis.udel.edu>
        * tests/test-ntl-toeplitz.C: Corrected clashes with LinBox namespace
        * linbox/blackbox/ntl-toeplitz.inl: Corrected clashes with LinBox namespace
        * linbox/blackbox/ntl-toeplitz.h: Corrected clashes with LinBox namespace

2003-01-20 Austin Lobo <alobo@cis.udel.edu>

        * tests/Makefile.am: reinstated test-ntl-toeplitz
        * tests/test-generic.h: added LinBox namespace to commentator calls

2003-01-17  Bradford Hovinen  <bghovinen@math.uwaterloo.ca>

        * configure.in: Give a sane default for CFLAGS and CXXFLAGS

2003-01-17  David Saunders

        * CHANGED-INTERFACES: coupla edits to bring this summary up to date a bit

2003-01-16  Bradford Hovinen  <bghovinen@math.uwaterloo.ca>

        * configure.in: Disable shared again

2003-01-14  David Saunders

        *linbox/linbox.dxx, interfaces.dxx: Text edits.  interfaces.dxx should be renamed archetypes.dxx.
         Much text added to interfaces.dxx, some of it speculative.  Further editing definitely desirable.

2003-01-14  Bradford Hovinen  <bghovinen@math.uwaterloo.ca>

        * linbox/matrix/matrices.dxx: Add missing

        * interfaces/maple/Makefile.am (mapledir): Put all build rules
        inside a conditional

        * configure.in: Add linbox/matrix/Makefile

        * linbox/matrix/matrix-domain.h: Move from linbox/field

        * linbox/matrix/matrix-domain.inl: Move from linbox/field

        * linbox/vector/vector-domain.h: Move from linbox/field

        * linbox/vector/vector-domain.inl: Move from linbox/field/vector-domain.C

2003-01-11  Bradford Hovinen  <bghovinen@math.uwaterloo.ca>

        * linbox/blackbox/Makefile.am (BASIC_HDRS): Remove files listed
        below

        * */*.{h|C|inl}: Update to reflect changes below;
        s/SparseMatrix0/SparseMatrix/

        * linbox/matrix/dense.h: Move from blackbox/dense-base.h

        * linbox/matrix/dense.inl: Move from blackbox/dense-base.inl

        * linbox/matrix/sparse.h: Move from blackbox/sparse-base.h

        * linbox/matrix/sparse.inl: Move from blackbox/sparse-base.inl

        * linbox/matrix/transpose.h: Move from blackbox/transpose-matrix.h

        * linbox/matrix/dense-submatrix.h: Move from blackbox/dense-submatrix.h

        * linbox/matrix/dense-submatrix.inl: Move from blackbox/dense-submatrix.inl

        * linbox/Makefile.am (SUBDIRS): Add matrix

2003-01-09  Bradford Hovinen  <bghovinen@math.uwaterloo.ca>

        * linbox/solutions/det.h (det): Give correct solution when deg
        minpoly is odd

2003-01-08  Brad Botting  <bbotting@math.uwaterloo.ca>

        * linbox/blackbox/dense.h (DenseMatrix::read, DenseMatrix::write):
        Use fully-qualified name for calling overloaded read and write

2003-01-08  Rich Seagraves <seagrave@cis.udel.edu>
        * linbox/blackbox/dif.h (very top): changed __TRANSPOSE_H to __DIF_H
         in the preprocessor test directive at the top of the file

        * linbox/blackbox/sum.h (very top): changed __TRANSPOSE_H to __SUM_H
        in the preprocessor test directive at the top of the file

        * linbox/blackbox/zero-one.h: begin implementing modular template
        specialization

        * linbox/util/timer.h (class Timer): change members ut, st, and rt
        into private members instead of public members (changed second
        appearance of "public" to "private").

2003-01-08  Saunders
        * tests/test-dif.C, blackbox/dif.h: difference of two matrices.  Minor tweak on sum.h.

2003-01-08  Bradford Hovinen  <bghovinen@math.uwaterloo.ca>

        * linbox/blackbox/dense.h (DenseMatrix::write): Use os, not file

        * tests/test-matrix-domain.C (testMatrixDomain): Don't refer to
        stream.dim when constructing stream (remaining two
        specializations)

2003-01-07  Brad Botting  <bbotting@math.uwaterloo.ca>

        * linbox/switch/Makefile.am (includedir): Install to switch, not
        vector

2003-01-07  Bradford Hovinen  <hovinen@algol.cis.udel.edu>

        * linbox/algorithms/block-lanczos.h: Undefine _S, _M, _N for the
        benefit of Solaris

2003-01-07  Bradford Hovinen  <bghovinen@math.uwaterloo.ca>

        * linbox/algorithms/wiedemann.h: #include sparse.h

        * tests/test-matrix-domain.C (testMatrixDomain): Don't refer to
        stream.dim when constructing stream

2002-1-7  Saunders
        * tests/test-subvector.cpp: removed.  Superceded by test-subvector.C

2002-1-6  Rich Seagraves <seagrave@cis.udel.edu>

        * linbox/algorithms/massey-domain.h:  changed swap() to std::swap()
        * linbox/randiter/modular.h:         changed endl to std::endl in commentator line
        * linbox/blackbox/zero-one.h:  added RawIterator and RawIndexIterator support to ZeroOne blackbox

2003-01-06  Bradford Hovinen  <bghovinen@math.uwaterloo.ca>

        * tests/test-common.C: #include <cmath>

2002-12-23  Bradford Hovinen  <bghovinen@math.uwaterloo.ca>

        * tests/test-common.h: Add incompleteGamma, chiSquaredCDF

        * tests/test-modular.C (testRandomIterator): New test
        (main): Call testRandomIterator

2002-12-18  Bradford Hovinen  <bghovinen@math.uwaterloo.ca>

        * linbox/* (LinBox): Doc++ fixes

        * configure.in: Add check for latex

2002-12-16  Rich Seagraves <seagrave@cis.udel.edu>
        * linbox/blackbox/zero-one.h:  Added file
        * linbox/blackbox/nag-sparse.h: Fixed some errors

2002-12-11  Bradford Hovinen  <bghovinen@math.uwaterloo.ca>

        * linbox/util/commentator.h: Include streambuf

        * linbox/blackbox/butterfly.h (buildIndices): Remove check that _n
        is nonnegative, since _n is unsigned

        * linbox/blackbox/dense-base.inl (ColIterator::operator +): Make
        this non-const
        (ConstColIterator::operator +): Ditto

        * linbox/blackbox/diagonal.h (class Diagonal): 

        * linbox/blackbox/moore-penrose.h (class MoorePenrose): 

        * linbox/blackbox/butterfly.h (class Butterfly): 

        * linbox/blackbox/dense.h (class DenseMatrix): 

        * linbox/blackbox/compose.h (class Compose): 

        * linbox/blackbox/scalar-matrix.h (class ScalarMatrix):
        Parameterize on _Vector and typedef Vector

        * linbox/field/modular.h: Cast to signed quantities when comparing
        with 0
        (LinBox): Add template <> when needed

        * linbox/blackbox/butterfly.h (setButterfly): Eliminate unused
        j_1, j_2
        (setButterfly): Eliminate check for j < 0, as we are dealing with
        unsigned quantities

        * linbox/blackbox/archetype.h (class BlackboxArchetype): Remove
        std:: from size_t

        * linbox/algorithms/block-lanczos.inl (eliminate_col)
        (find_pivot_row, permute): Take an std::vector for indices rather
        than a pointer
        (compute_Winv_S): Use _indices; don't declare indices
        (compute_Winv_S, find_pivot_row, eliminate_col): Make these
        non-const

        * linbox/algorithms/block-lanczos.h (class BlockLanczosSolver):
        Add vector _indices

        * linbox/blackbox/sparse-base.inl (refEntry):

        * linbox/field/vector-domain.C: Make sure there's an std:: before
        pair

        * linbox/util/debug.C: 

        * linbox/field/lidia-gfq.h: 

        * linbox/util/debug.h: 

        * linbox/blackbox/archetype.h: Get rid of 'using namespace std'

        * linbox/blackbox/transpose.h (class Transpose): Use linbox_check

        * linbox/blackbox/sparse.h: 

        * linbox/vector/stream.h: Parameterize all classes by _Vector and
        typedef to Vector

        * linbox/field/modular.h: 

        * tests/test-common.C: 

        * linbox/util/debug.h: 

        * linbox/field/vector-domain.C: 

        * linbox/field/vector-domain.h: 

        * linbox/blackbox/sparse-base.inl: Make sure there's an std::
        before iostream references

        * gmp++/gmp++_int.inl: Move constructor and destructor definitions
        to gmp++_int.h to avoid compiler complaints

2002-12-09  Bradford Hovinen  <bghovine@math.uwaterloo.ca>

        * linbox/blackbox/dense-base.inl (RowIterator): Add operator +=
        (ColIterator): Ditto

2002-12-10  Bradford Hovinen  <bghovinen@math.uwaterloo.ca>

        * tests/test-solve.C (main): Add CLI option for blocking factor

        * linbox/algorithms/lanczos.inl (iterate): Use DETAILED_TRACE ala
        block-lanczos.inl

        * linbox/solutions/methods.h (SolverTraits::Preconditioner): Add
        DEFAULT

        * linbox/algorithms/wiedemann.inl (precondition): Add default case
        label for unsupported preconditioners

        * linbox/solutions/solve.h (solve): Add support for Block Lanczos

        * tests/test-solve.C (testRandomSolve): New test
        (main): Add calls to testRandomSolve for Lanczos and Block Lanczos

        * linbox/solutions/methods.h (SolverTraits::Method): Add
        BLOCK_LANCZOS
        (struct SolverTraits): Add _blockingFactor and related methods

        * linbox/algorithms/Makefile.am (include_HEADERS): Add
        block-lanczos.{h|inl}

        * linbox/algorithms/lanczos.inl (solve): Import code from
        block-lanczos.inl to support more preconditioner types

2002-12-09  Bradford Hovinen  <bghovinen@math.uwaterloo.ca>

        * configure.in: Bump version number to 0.1.4

2002-12-07  Bradford Hovinen  <bghovinen@math.uwaterloo.ca>

        * linbox/util/commentator.C (Commentator::finishActivityReport):
        Show the timings in the finalized report, if requested

        * linbox/field/modular.h (Modular::negin): Fix in case where x ==
        0

        * linbox/util/commentator.C (Commentator::printActivityReport):
        Reset _last_line_len if no length is given

        * linbox/field/vector-domain.C (axpyinSpecialized): Add explicit
        specializations for Dense/*

        * linbox/field/matrix-domain.inl (mulColSpecialized): Fix
        non-dense code

        * linbox/field/matrix-domain.h (MatrixDomain::mulColSpecialized):
        Create specializations for dense/* and have everything route to
        that combination

        * linbox/solutions/methods.h (SolverTraits::Preconditioner): Add
        SYMMETRIZE, PARTIAL_DIAGONAL, and FULL_DIAGONAL

2002-12-06  Bradford Hovinen  <bghovinen@math.uwaterloo.ca>

        * linbox/blackbox/sparse-base.inl (write): Tweak output slightly

        * linbox/blackbox/sparse.h (class MatrixTraits): Define
        specialization for SparseMatrix0

        * linbox/blackbox/dense-base.inl (ConstRowIterator::operator +):
        Don't return a reference
        (write): Tweak output slightly

2002-12-05 Rich Seagaves

        * interfaces/maple/Makefile.in.1: fixed a small break in the build
                stage

2002-12-01 Rich Seagraves

        * interfaces/maple/Makefile.blank: removed, not needed
        * interfaces/maple/lbmaple.mpl: also removed
        * interfaces/maple/Makefile.in.1: 
        * interfaces/maple/Makefile.in.2: added files
        * macros/maple-check.m4: modified for new maple build system
        * interfaces/maple/lbmaple.C: fixed a bunch of boo-boo's
        * interfaces/maple/maplebb.h: fixed a boo-boo

2002-12-01 Rich Seagraves

        * interfaces/maple/lbmaple.C:
        * interfaces/maple/lbmaple.mpl.head:
        * interfaces/maple/lbmaple.mpl.tail:
        * interfaces/maple/maplebb.h:
        * interfaces/maple/Makefile.am:
        * interfaces/maple/Makefile.blank:
        * interfaces/maple/demonstration.mws:
        * macros/maple-check.m4:  Added files for interface

        * configure.in: Added checks for interface build, installation

2002-12-01  Bradford Hovinen  <bghovinen@math.uwaterloo.ca>

        * configure.in (AC_OUTPUT): Add missing interfaces/Makefile

2002-11-30  Bradford Hovinen  <bghovinen@math.uwaterloo.ca>

        * linbox/field/matrix-domain.inl (axpyinRowRowRow) 
        (axpyinColColCol): Fix allocation sizes for t

        * tests/test-matrix-domain.C (testInvMul, testInvLeftMulin,
        testInvRightMulin): Split these into three cases: square,
        over-determined, and under-determined. Use the product of the
        matrix and its transpose (in the appropriate order) in the latter
        cases

        * linbox/algorithms/block-massey-domain.h (class
        MasseyBlockDomain): Make _MD a MatrixDomain<Field>

        * linbox/field/matrix-domain.inl: Comment out pow_apply and pow_horn

        * linbox/blackbox/sparse-base.h (class SparseMatrix0WriteHelper)
        (class SparseMatrix0ReadWriteHelper): Compilation fixes
        (class SparseMatrix0Base): Update iterator interfaces to match the
        dense matrix archetype
        (class SparseMatrix0Base): Make Row a typedef of _Row

        * linbox/blackbox/dense.h (DenseMatrix::read, DenseMatrix::write):
        Swap order of arguments for consistency

        * linbox/blackbox/dense-submatrix.h
        (DenseSubmatrix::DenseSubmatrix): Take a reference rather than a
        pointer

        * linbox/blackbox/dense-base.inl (ConstRowIterator::operator ++) 
        (RowIterator::operator ++): Use ++*this rather than ++_row

        * tests/Makefile.am (BASIC_TESTS): Add test-matrix-domain

        * linbox/randiter/modular.h (ModularRandIter::ModularRandIter):
        clock was always returning 0, so go back to time (NULL)

        * linbox/blackbox/sparse.h (SparseMatrix0::write): Make
        FORMAT_PRETTY the default

        * linbox/blackbox/sparse-base.h (SparseMatrix0Base::write): Make
        FORMAT_PRETTY the default

        * linbox/field/Makefile.am (BASIC_HDRS): Add matrix-domain.h,
        matrix-domain.inl

        * linbox/util/commentator.C (Commentator::printActivityReport):
        (Commentator::updateActivityReport):
        (Commentator::finishActivityReport): Don't indent 

        * tests/test-trace.C: 

        * tests/test-sum.C: 

        * tests/test-submatrix.C: 

        * tests/test-sparse.C: 

        * tests/test-solve.C: 

        * tests/test-rank.C: 

        * tests/test-moore-penrose.C: 

        * tests/test-minpoly.C: 

        * linbox/blackbox/dense-base.inl: 

        * linbox/blackbox/sparse-base.inl:

        * tests/test-matrix-domain.C: 

        * tests/test-inverse.C: 

        * tests/test-diagonal.C: 

        * tests/test-det.C: 

        * tests/test-dense.C: 

        * tests/test-butterfly.C: 

        * tests/test-vector-domain.C: 

        * tests/test-generic.h: Eliminate calls to commentator.indent

        * linbox/util/commentator.C (Commentator::report): Don't initially
        indent

        * linbox/util/commentator.h (class MessageClass): Define
        smartStreambuf, build _stream from that; add Commentator to all
        constructors; add copy constructor

        * linbox/util/commentator.C (Commentator::indent): Make this const

2002-11-29  Bradford Hovinen  <bghovinen@math.uwaterloo.ca>

        * linbox/field/vector-domain.h (class VectorDomain): Add support
        for add/sub/mul/axpy with vectors of different representations,
        using GenericVectorTag to control the number of specializations
        required

        * linbox/vector/vector-traits.h (struct VectorCategories): Add
        GenericVectorTag; make everything else inherit that

        * linbox/blackbox/dense-base.inl (DenseMatrixBase::read): Return
        the input stream

        * linbox/blackbox/dense-base.h (DenseMatrixBase::read,
        DenseMatrixBase::write): Swap order of arguments, to be consistent
        with SparseMatrix0Base

        * linbox/blackbox/dense-base.h:

        * linbox/blackbox/dense-submatrix.h:

        * linbox/blackbox/sparse-base.h: Add struct MatrixTraits

        * linbox/blackbox/dense-base.h:

        * linbox/blackbox/sparse-base.h:

        * linbox/blackbox/dense-submatrix.h: Make Element a typedef from
        _Element

2002-11-28  Bradford Hovinen  <bghovinen@math.uwaterloo.ca>

        * linbox/blackbox/dense-submatrix.h (class DenseSubmatrix): Use a
        reference rather than a pointer

        * linbox/blackbox/sparse-base.h (class
        SparseMatrix0ReadWriteHelper): Make all methods const

2002-11-26  Bradford Hovinen  <bghovinen@math.uwaterloo.ca>

        * linbox/blackbox/Makefile.am (BASIC_HDRS): Add transpose-matrix.h

        * linbox/blackbox/dense-submatrix.h (struct MatrixTraits): Define

        * linbox/blackbox/dense-base.h (struct MatrixTraits): Define

        * linbox/field/matrix-domain.h (struct MatrixCategories) 
        (struct MatrixTraits): Define

        * linbox/field/matrix-domain.inl: Moved all the arithmetic from
        matrix-domain.C here, in accordance with the convention

        * linbox/field/matrix-domain.h: Added detailed documentation,
        cleaned up the interface slightly, and added support for matrix
        traits. Added read, write, neg, negin, axpy, matrix-vector and
        matrix-black box operations

        * linbox/field/vector-domain.h (class VectorDomain): Extend axpyin
        so that it can work with vectors of more than one
        representation. Create specializations for input and output
        vectors of different representations that just use copy. For the
        benefit of MatrixDomain

2002-11-27  Rich Seagraves and David Saunders

        * interfaces, interfaces/maple: directories added to hold the Maple 
        linbox interface (which Rich will put there soon ).

        * Makefile.am interfaces/Makefile.am: subdir entries.

2002-10-29  Bradford Hovinen  <bghovinen@math.uwaterloo.ca>

        * linbox/blackbox/dense-base.inl (ColIterator::operator +): Make this
        work like a real + operator
        (RowIterator::operator +): Ditto
        (RowIterator, ConstRowIterator): Fixed some ID10T errors

2002-10-28  Bradford Hovinen  <bghovinen@math.uwaterloo.ca>

        * linbox/blackbox/dense-submatrix.inl: Ditto below

        * linbox/blackbox/dense-base.h: Rename ColOfRowsIterator as
        RowIterator; similarly with RowOfColsIterator

2002-10-28  Zhendong Wan and David Saunders

        * linbox/blackbox/dense.h:  tweak doc++, delete RowIterator and 
        ColIterator types in matrix class.  Change name of RawIndexIterator
        to RawIndexedIterator.

        * linbox/blackbox/dense.inl: update impl to reflect dense.h changes.

2002-10-28  Bradford Hovinen  <bghovinen@math.uwaterloo.ca>

        * tests/test-trace.C (testDiagonalTrace): Make sure vectors get
        declared to the right length

        * tests/test-sum.C (testZeroApply): Make sure vectors get declared
        to the right length

        * linbox/vector/stream.h (RandomSparseStream::get,
        RandomDenseStream::get): Don't try to resize the vector

        * linbox/blackbox/dense-base.inl (write): Make output format a
        little prettier

        * linbox/algorithms/lanczos.inl (solve): Length of b1 should be
        row dimension of A

        * linbox/field/vector-domain.h (neg, negin): Add these interfaces
        and implement
        (class VectorDomain): Parameterize arithmetic methods by separate
        vector types for each vector argument. Though they do not support
        arithmetic on different vector *representations* at the same time,
        one can use this to, say, add a column vector into a standalone
        vector

2002-10-27  Bradford Hovinen  <bghovinen@math.uwaterloo.ca>

        * linbox/blackbox/dense.inl: 

        * linbox/blackbox/dense.h: Split out container/iterator
        functionality into new DenseMatrixBase

        * linbox/blackbox/Makefile.am (BASIC_HDRS): Add dense-submatrix.h,
        dense-submatrix.inl

        * linbox/blackbox/dense.inl (read): Compilation fix
        (write): Prefer ISO standard outputs

        * linbox/blackbox/dense-submatrix.inl: Rename from densesubmatrix.C

        * linbox/blackbox/dense-submatrix.h (class DenseSubmatrix): Fix
        constructor interface; add interfaces missing from DenseMatrix;
        add Doc++ documentation; reindent

        * linbox/blackbox/dense-submatrix.h: Rename from densesubmatrix.h

        * linbox/blackbox/dense.h (DenseMatrix::refEntry): Define
        (class DenseMatrix): Reorder the declarations to match
        SparseMatrix0Base; reindent; add Doc++ documentation to the
        interfaces
        (DenseMatrix::getEntry): Add a form that returns a read-only
        reference to the entry
        (class DenseMatrix): Make generic wrt vector type
        (class DenseMatrix): Move some of the one-liners from dense.inl
        into the class
        (DenseMatrix::resize): Implement

        * macros/saclib-check.m4: 

        * macros/givaro-check.m4: 

        * macros/lidia-check.m4: 

        * macros/ntl-check.m4: 

        * macros/gmp-check.m4: Preserve user-specified CXXFLAGS and LIBS
        when running test

2002-10-26  Bradford Hovinen  <bghovinen@math.uwaterloo.ca>

        * tests/Makefile.am (CLEANFILES): Add $(TESTS)

        * .cvsignore: Update

        * acconfig.h: Remove this file

        * macros/gmp-check.m4: 

        * macros/ntl-check.m4: 

        * macros/lidia-check.m4: 

        * macros/givaro-check.m4: 

        * macros/saclib-check.m4: Use modernized AC_DEFINE

        * configure.in: Bump version to 0.1.3

        * .cvsignore: 

        * tests/.cvsignore: Update

        * tests/test-solve.C (testIdentitySolve, testNonsingularSolve):
        Don't explicitly give whether the matrix is symmetric

        * linbox/algorithms/Makefile.am (include_HEADERS): Add
        lanczos.{h|inl}

        * linbox/solutions/solve.h (solve): Add support for Lanczos
        iteration

        * tests/test-solve.C (testIdentitySolve, testNonsingularSolve)
        (testSingularConsistentSolve, testSingularInconsistentSolve): Add
        support for specifying the solver to be used
        (testSingularPreconditionedSolve): Add support for specifying the
        preconditioner to be used

2002-10-14  Bradford Hovinen  <bghovinen@math.uwaterloo.ca>

        * linbox/algorithms/wiedemann.inl (solveNonsingular): Add support
        for symmetric containers, using _traits.symmetric

        * linbox/algorithms/blackbox-container-symmetric.h (class
        BlackboxContainerSymmetric): Add parameter for the field

        * linbox/solutions/methods.h (struct SolverTraits): Add parameter
        symmetric, telling whether the matrix is symmetric

        * tests/test-solve.C: Update with changes to solve

2002-10-13  Bradford Hovinen  <bghovinen@math.uwaterloo.ca>

        * linbox/solutions/methods.h (struct SolverTraits): Add
        documentation; remove unimplemented string constructor

        * linbox/solutions/solve.h (solve): Add a variant that does not
        throw any exceptions

        * linbox/solutions/methods.h (struct SolverTraits): Make default
        maxTries 100

        * linbox/solutions/methods.h (class InconsistentSystem, class
        SolveFailed): Move these from WiedemannSolver here, since they
        apply to more than just Wiedemann

2002-10-09  Bradford Hovinen  <bghovinen@math.uwaterloo.ca>

        * linbox/blackbox/ntl-toeplitz.inl: Compilation fixes

        * tests/test-ntl-toeplitz.C: Compilation fixes

2002-10-03  Bradford Hovinen  <bghovinen@math.uwaterloo.ca>

        * linbox/switch/cekstv.h (applyTranspose, apply): Fix formulae

        * linbox/algorithms/wiedemann.inl (findNullspaceElement)
        (findRandomSolution): Pass _randiter to RandomDenseStream
        constructor

        * linbox/algorithms/wiedemann.h (class WiedemannSolver): Add
        constructor that accepts random iterator

        * linbox/algorithms/wiedemann.inl (solveNonsingular)
        (precondition, makeLambdaSparseMatrix): Use _randiter
        (solveNonsingular): Add parameter useRandIter to determine whether
        to use the random iterator, or to use b for the Krylov sequence
        computation
        (findNullspaceElement, certifyInconsistency): Remove
        preconditioner support
        (solveSingular): Use non-preconditioned A for certificate of
        inconsistency
        (makeLambdaSparseMatrix): Use the existing randiter, since
        RandomSparseStream already constructs a NonzeroRandIter
        (certifyInconsistency): Pass _randiter to WiedemannSolver
        constructor

        * linbox/algorithms/wiedemann.h (class WiedemannSolver): Add _randiter

        * linbox/algorithms/wiedemann.inl (solveSingular): Throw a
        BadPreconditioner exception if the reason for failure was a bad
        preconditioner, since this means the rank computation was probably
        correct and can be reused
        (solveSingular): Move rank computation to solve
        (solve): Compute rank and try to reuse when possible; set rank to
        (unsigned long) -1 when SolveFailed thrown

        * tests/test-solve.C (testSingularPreconditionedSolve): Return
        success value rather than always returning true

        * linbox/randiter/modular.h (LinBox): Use clock () rather than
        time (NULL) to get a higher-resolution timer

        * tests/test-solve.C (testSingularPreconditionedSolve): Don't fill
        matrix with 1's; just build a diagonal black box

2002-10-02  Bradford Hovinen  <bghovinen@math.uwaterloo.ca>

        * linbox/algorithms/wiedemann.h: Refactoring: Put everything
        inside a WiedemannSolver class, with the following interface    
          solveNonsingular - Solve a nonsingular system
          solveSingular - Solve a general singular system
          findRandomSolution - Find a random solution to a singular preconditioned problem
          findNullSpaceElement - Find an element of the right nullspace
          certifyInconsistency - Find a certificate of inconsistency for a linear system
          precondition - Form a preconditioner and return it

        * tests/test-solve.C (testSingularPreconditionedSolve)
        (testSingularInconsistentSolve, testSingularConsistentSolve):
        Update according to interface changes in wiedemann.h

        * linbox/field/vector-domain.C (VectorDomain::writeSpecialized):
        Remove debugging code

        * tests/test-butterfly.C (main): Use Modular<uint32> and make
        GF(2147483647) the default
        (testCekstvSwitch): Use preconditioner PDQ rather than just PD

        * tests/test-solve.C (testSingularPreconditionedSolve): Always
        return true

        * linbox/blackbox/moore-penrose.h (MoorePenrose::MoorePenrose):
        Update use of Submatrix

        * tests/test-moore-penrose.C (testRandomApply1): Update use of
        Submatrix

        * tests/test-solve.C (main): Reenable tests other than
        preconditioned solve

        * linbox/algorithms/wiedemann.h (solveWiedemannSingular):
        Implement sparse preconditioner

        * linbox/blackbox/sparse-base.h (class SparseMatrix0Base): Add
        method transpose
        (class SparseMatrix0Base): Rename VectorTrait as RowTrait in
        specializations

        * linbox/blackbox/sparse-base.inl (transpose): Implement

2002-09-30  Bradford Hovinen  <bghovinen@math.uwaterloo.ca>

        * linbox/solutions/methods.h (struct SolverTraits): Add enum
        Preconditioner; rename precondition to preconditioner; add methods to
        set parameters
        (SolverTraits::SolverTraits): Initialize _singular with singular, not
        UNKNOWN

        * linbox/vector/stream.h (RandomSparseStream::setP): Implement

        * tests/test-butterfly.C (testSetButterfly): Reset the stream

        * tests/test-solve.C (testSingularPreconditionedSolve): Use a
        SparseMatrix0 and fill in the entries below the zeros with 1's

        * tests/test-butterfly.C (testCekstvSwitch): Ditto

2002-09-26  Bradford Hovinen  <bghovinen@math.uwaterloo.ca>

        * linbox/algorithms/wiedemann.h (solveWiedemannSingular):
        Construct a CekstvSwitchFactory and use it as input for the
        CekstvSwitch constructor
        (solveWiedemannSingular): Commentator fixes

        * linbox/blackbox/butterfly.h (class Butterfly): Parameterize on
        the field, give a reasonable default for Vector

        * linbox/switch/boolean.h (class BooleanSwitch): 

        * linbox/switch/cekstv.h (class CekstvSwitch): Don't maintain
        vector of 2x2 block information; just hold data for one 2x2 block;
        eliminate field and temporary

        * linbox/blackbox/butterfly.h (Butterfly): Make the vector of
        switches
        (class Butterfly): Constructor reorganization; see header file

2002-09-25  Bradford Hovinen  <bghovinen@math.uwaterloo.ca>

        * linbox/switch/cekstv.h (class CekstvSwitch): Add copy
        constructor
        (CekstvSwitch::CekstvSwitch): Implement copy constructor

        * tests/test-butterfly.C (testRandomTranspose)
        (testRandomLinearity): Implement these tests
        (testCekstvSwitch): Construct a random vector and pass it to
        CekstvSwitch

        * linbox/algorithms/wiedemann.h (solveWiedemannSingular): Prepare
        rhs before obtaining minpoly

        * linbox/blackbox/submatrix.h (Submatrix::apply,
        Submatrix::applyTranspose): Fill unused portions of temporary
        input vector with zeros
        (class Submatrix): Parameterize by field
        (class Submatrix): Give a reasonable default for the vector type

        * tests/test-submatrix.C (testRandomLinearity) 
        (testRandomTranspose): Implement these tests

        * linbox/blackbox/submatrix.h (Submatrix::Submatrix): Initialize
        _z with column dimension

        * tests/test-submatrix.C (testRandomApply): Make vector output
        LEVEL_UNIMPORTANT
        (testRandomTranspose): Implement this

        * linbox/blackbox/submatrix.h (class Submatrix): Make _z, _y
        mutable; delete _zt, _yt
        (Submatrix::apply, Submatrix::applyTranspose): Don't declare local
        vectors

        * tests/test-submatrix.C (testRandomApply): Reset stream when done
        (testRandomLinearity): Implement this test

2002-09-23  Bradford Hovinen  <bghovinen@math.uwaterloo.ca>

        * linbox/algorithms/wiedemann.h (solveWiedemannSingular): Don't
        use DenseVector
        (solveWiedemann): Compute m_A rather than m_A,b
        (solveWiedemannSingular): Fix generator for random solution
        (solveWiedemannSingular): Add butterfly preconditioner support
        (solveWiedemannSingular): Cancel this loop iteration if the
        leading principal minor turned out to be singular

        * tests/test-solve.C (testSingularConsistentSolve): Implement
        (testNonsingularSolve): Rename from testDiagonalSolve
        (testSingularInconsistentSolve): Implement

        * linbox/algorithms/cra.h (cra): Use unsigned long in casts
        (cra): Fix order of arguments to invmod
        (cra): Reduce the result modulo the product of the primes

        * linbox/blackbox/sparse-base.h (_RawIndexIterator::operator ++):
        Update _curr.second properly

        * linbox/util/prime-stream.h (PrimeStream::next): Move _curr
        by 2

        * linbox/algorithms/cra.h (cra): Invoke commentator

        * linbox/solutions/det.h (det): Invoke commentator

        * tests/test-det.C (testIntegerDet): Implement this test
        (main): Call testIntegerDet

        * linbox/blackbox/sparse.inl (makeBlackbox): Implement (smarter
        version now, taking over for the constructor that was removed)

        * linbox/blackbox/sparse.h (class SparseMatrix0): Remove
        constructor from SparseMatrix0Base -- this will be handled by
        SparseMatrixFactory from now on

        * linbox/blackbox/sparse-base.h (class
        SparseMatrix0Base::RawIterator): Remove _A, add _A_end; add
        default constructor; update other constructors
        (class SparseMatrix0Base::RawIndexIterator): Ditto
        (class SparseMatrix0Base): Remove implementations from default
        class
        (class SparseMatrix0Base::RawIterator): Make this a parameterized
        class to allow const version to be defined easily (N.B. I hate
        C++)
        (class SparseMatrix0Base::RawIndexIterator): Same as RawIterator
        (N.B. Same note applies, doubly so)

        * linbox/blackbox/sparse.h (SparseMatrixFactory): Pull declaration
        of tmp out of the loop

        * tests/test-det.C (testDiagonalDet2): Don't specify template
        parameters explicitly
        (testSingularDiagonalDet): Ditto

        * linbox/blackbox/factory.h: Include vector-traits.h

        * gmp++/gmp++_int.h (Integer::invmod): Make this static

        * linbox/algorithms/cra.h (cra): Compilation fixes

        * linbox/solutions/det.h (det): Compilation fixes

        * linbox/blackbox/sparse.h (class SparseMatrixFactory): Make sure
        SparseMatrix0Base is used with its own element and row types

        * linbox/blackbox/factory.h (BlackboxFactory::makeBlackbox): Make
        F const

        * linbox/algorithms/cra.h (cra): Use integer:: on integer
        operations

        * linbox/blackbox/sparse-base.h (class SparseMatrix0Base): Provide
        a reasonable default for Row; clean up template declaration

        * linbox/blackbox/sparse.h (class SparseMatrix0): Clean up
        template declaration

2002-09-22  Bradford Hovinen  <bghovinen@math.uwaterloo.ca>

        * linbox/blackbox/sparse-base.inl (write): Add support for
        FORMAT_MATLAB in sparse parallel specialization
        (write): Write closing bracket; put opening bracket at the
        beginning of the matrix, not the beginning of each row

        * linbox/blackbox/sparse.h (SparseMatrixFactory::maxNorm,
        SparseMatrixFactory::rowdim, SparseMatrixFactory::coldim):
        Implement

        * linbox/util/gmp++/gmp++_int_gcd.C (invmod): Implement

        * gmp++/gmp++_int.h (class Integer): Add invmod

        * linbox/field/modular.h (class ModularBase): Remove assignment
        operator
        (Modular::operator =): Copy documentation from ModularBase; use F
        rather than rhs; copy _two_64 rather than calling init again

        * linbox/util/gmp++/gmp++_int_misc.C (nextprime, prevprime):
        Implement
        Include cmath

        * gmp++/gmp++_int.h (class Integer): Add nextprime, prevprime

        * linbox/blackbox/factory.h (class BlackboxFactory): Make a
        reasonable default for Vector

        * linbox/Makefile.am (BASIC_HDRS): Add rational.h

        * linbox/rational.h: Add this file

        * tests/test-butterfly.C (testBooleanSwitch): Remove this test; it
        is redundant

        * linbox/switch/cekstv.h (class CekstvSwitch): Make _iter,
        _riter, and _R mutable

        * linbox/blackbox/diagonal.h (class Diagonal): Give a reasonable
        default for Vector

        * tests/test-butterfly.C (testSetButterfly): Use stock typedef for
        dense vectors
        (testCekstvSwitch): Implement

2002-09-21  Bradford Hovinen  <bghovinen@math.uwaterloo.ca>

        * linbox/solutions/det.h (det): Add versions for integer and
        rational determinant
        Comilation fixes

        * examples/dot-product.C (main): Update according to new
        interfaces; remove unnecessary typedefs

        * linbox/vector/vector-traits.h (class RawVector): Rename from
        Vector; parameterize on Element rather than Field
        (class Vector): Declare to inherit RawVector<typename Field::Element>

        * linbox/blackbox/sparse.h (class SparseMatrixFactory): Don't
        require that the field and the SparseMatrixBase share the same
        element type

        * examples/blackbox/.cvsignore: Update

        * linbox/field/modular.h: Reinsert two deleted lines

        * linbox/util/commentator.C (Commentator::printActivityReport):
        Don't print percentage unless _len is positive

2002-09-21 Rich Seagraves <seagrave@cis.udel.edu>

        * linbox/field/modular.h:  Added = assignment operator.

2002-09-21  Bradford Hovinen  <bghovine@math.uwaterloo.ca>

        * examples/blackbox/Makefile.am (EXTRA_PROGRAMS): Add load-minpoly

        * linbox/blackbox/sparse-base.inl (readMatlab): Use is.putback,
        not is.unget

        * linbox/blackbox/sparse-base.h
        (SparseMatrix0WriteHelper::Format): Add FORMAT_MATLAB

2002-09-20  Bradford Hovinen  <bghovine@math.uwaterloo.ca>

        * linbox/randiter/param-fuzzy.h (ParamFuzzyRandIter::random):
        Uncomment ElementAbstract version
        Include element/abstract.h, element/envelope.h

        * linbox/field/param-fuzzy.h: Reintroduce forward declaration of
        RandIter; move include randiter/... to the end

        * linbox/randiter/param-fuzzy.h (class ParamFuzzyRandIter): Add a
        version of the constructor that *really* takes a field as an
        argument

        * tests/test-param-fuzzy.C (main): Add arguments n and i; call
        runFieldTests

        * tests/test-lidia-gfq.C (main): Add arguments n and i; fix
        description text for argument q; call runFieldTests

        * tests/test-ntl-RR.cpp (main): 

        * tests/test-unparametric-field.C (main): Return 0 always

        * linbox/randiter/unparametric.h (UnparametricRandIter::random):
        Remove debugging code

        * tests/test-unparametric-field.C (main): 

        * tests/test-ntl-RR.cpp (main): 

        * tests/test-ntl-ZZ_p.cpp (main): 

        * tests/test-ntl-zz_p.cpp (main): Add arguments n and i; call
        runFieldTests

        * tests/test-gmp-rational.C (main): 

        * tests/test-givaro-zpz.C (main): 

        * tests/test-modular.C (main): Reverse order of iterations and n
        when calling runFieldTests

        * tests/test-generic.h: Do b / a rather than a / b

        * tests/test-givaro-zpz.C (main): Add arguments n and i; fix
        description text for argument q; call runFieldTests
        (main): Don't print out separate headers for each test; just use
        the runFieldTests wrapper.
        (main): Add a parameter e and a field F5 which is GF(q^e); run a
        test on that

        * linbox/randiter/gmp-rational.h: Reindent
        (GMPRationalRandIter::random): Initialize value properly
        (GMPRationalRandIter::random): Canonicalize before returning

        * linbox/field/gmp-rational.h: 

        * linbox/element/gmp-rational.h: Reindent

        * linbox/randiter/gmp-rational.h (class GMPRationalRandIter): Fix
        compile errors

        * tests/test-generic.h (runFieldTests): Move from test-modular.C
        here

        * linbox/field/gmp-rational.h
        (GMPRationalField::GMPRationalField): Initialize all the const
        integers
        (class GMPRationalField): Make integers not static const; fix
        compile errors

        * linbox/blackbox/dense.inl (apply): Remove unused variables
        (applyTranspose): Remove unused variables

        * linbox/blackbox/dense.h: Include vector-domain.h

        * linbox/blackbox/sparse1.h: Fix compile warning

        * examples/mmZZ_pE.C: Fix header and indentation; include dense.h
        rather than dense-matrix1.h

2002-09-18  zhendong wan  <wan@aphrodite.cis.udel.edu>

        * linbox/blackbox/dense.h 
          Add RawIndexIterator, which looks like RawIterator 
          expect that it has two more member function.
          rowIndex returns the row index,
          colIndex returns the column index.
        
2002-09-17  Bradford Hovinen  <bghovine@math.uwaterloo.ca>

        * linbox/solutions/det.h (det): Use commentator.start /
        commentator.stop

        * linbox/field/vector-domain.h (VectorDomain::copySpecialized):
        Don't call resize

        * linbox/blackbox/dense.h (class DenseMatrix): Remove template
        parameter from VectorStream constructor; support a different
        vector type in the representation

        * tests/.cvsignore: Update

        * linbox/blackbox/dense.h (class DenseMatrix): Add constructor
        that takes a VectorStream

2002-09-16  Bradford Hovinen  <bghovine@math.uwaterloo.ca>

        * linbox/blackbox/dense.h (class DenseMatrix): Define a vector
        domain _VD

        * linbox/blackbox/dense.inl (applyTranspose, apply): Use vector
        domain

2002-09-15  Bradford Hovinen  <bghovine@math.uwaterloo.ca>

        * linbox/blackbox/sparse-base.h (class
        SparseMatrix0ReadWriteHelper): Add readMatlab
        (SparseMatrix0WriteHelper::Format): Add FORMAT_MATLAB
        (SparseMatrix0Base::Format): Add FORMAT_MATLAB

        * linbox/blackbox/sparse-base.inl (write, read): Add support for
        FORMAT_MATLAB
        (readMatlab): Implement

2002-09-12  Bradford Hovinen  <bghovine@math.uwaterloo.ca>

        * configure.in (EIGHT_BYTES): Fix typo

2002-09-11  Rich Seagraves  <seagrave@cis.udel.edu>

        * linbox/blackbox/nag-sparse.h: Add RawIterator and
        RawIndexIterator support, altered test suite appropriately

        * linbox/blackbox/archetype.h: include cstddef to ensure support
        for size_t type.

2002-09-10  Bradford Hovinen  <bghovine@math.uwaterloo.ca>

        * tests/test-generic.h (testFieldInversion): Make sure a is
        nonzero

2002-09-09  Bradford Hovinen  <bghovine@math.uwaterloo.ca>

        * configure.in: Support older versions of autoconf that give
        AC_SIZEOF results in bits

2002-09-09  Saunders & Wan 

        * solutions/lu.h: add comments

2002-09-08  Bradford Hovinen  <bghovine@math.uwaterloo.ca>

        * examples/blackbox/load-det.C: Cut out unnecessary typedefs

        * linbox/blackbox/sparse.h (class SparseMatrixFactory): Define
        (class SparseMatrix0): Introduce default of Dense for vector type

2002-09-08  Bradford Hovinen  <bghovine@math.uwaterloo.ca>

        * .cvsignore: Update

        * linbox/vector/stream.h (class RandomDenseStream, class
        RandomSparseStream): Set default vector types to dense and sparse,
        respectively

        * linbox/vector/vector-traits.h: Add class Vector with canonical
        vector types

        * linbox/vector/Makefile.am (include_HEADERS): Add stream.h

        * linbox/util/Makefile.am (include_HEADERS): Remove vector-factory.h

        * tests/test-trace.C: 

        * tests/test-sum.C: 

        * tests/test-submatrix.C: 

        * tests/test-minpoly.C: 

        * tests/test-inverse.C: 

        * tests/test-diagonal.C: 

        * linbox/solutions/trace.h: 

        * linbox/algorithms/wiedemann.h: 

        * tests/test-butterfly.C: 

        * linbox/algorithms/wiedemann.h: 

        * tests/test-generic.h: 

        * tests/test-vector-domain.C: 

        * tests/test-solve.C: 

        * tests/test-moore-penrose.C: 

        * tests/test-sparse.C: Update with changes to linbox/vector/stream.h

        * tests/test-moore-penrose.C (buildRandomSparseMatrix): Work with
        sparse parallel vectors

2002-09-05  Bradford Hovinen  <bghovine@math.uwaterloo.ca>

        * linbox/vector/stream.h:
           - Renamed to stream.h and moved to linbox/vector
           - VectorFactory is now called VectorStream, which fits its purpose
             somewhat better
           - The interface is now closer to the interface for istream
           - RandomDenseVectorFactory, et al. are refactored into classes
             parameterized on the vector type and specialized appropriately. This
             allows, e.g. construction of a random dense vector in sparse
             representation and so on.
           - New constructor interface for RandomSparseStream accepts proportion of
             nonzero entries
           - Reindented, since the other changes are so numerous that diffs aren't a
             big deal anyway

        * linbox/blackbox/archetype.h: s/stddef.h/cstddef/

2002-09-04    <hovinen@cis.udel.edu>

        * tests/test-vector-domain.C (main): Remove srand call

        * examples/blackbox/load-symmetrize.C (main): Remove srand call
        (main): Fix help text

        * examples/blackbox/load-det.C (main): Remove srand call

2002-08-28  Bradford Hovinen  <hovinen@cis.udel.edu>

        * NEWS: Updated text

        * tests/Makefile.am (BASIC_TESTS): Remove test-lu due to
        compilation problems

        * configure.in: Bump version to 0.1.2

        * linbox/field/lidia-gfq.h (LidiaGfq::read, LidiaGfq::write): Use
        std::ostream, std::istream

        * macros/gmp-check.m4: Add directives to allow use of uninstalled
        GMP

        * configure.in: Use AM_CONDITIONAL statements for Doc++; Add
        arguments --enable-doc and --enable-doc-tex for building
        documentation

        * doc/Makefile.am (SUBDIRS): Mandary inclusion of html and tex

        * doc/html/Makefile.am: 

        * doc/tex/Makefile.am: Add mechanism for optionally compiling in
        targets if USE_DOCPLUSPLUS is set

2002-08-27  Bradford Hovinen  <hovinen@cis.udel.edu>

        * NEWS: Update text

        * linbox/*/Makefile.am (EXTRA_DIST): Merge in contents of
        EXTRA_HEADERS

        * NEWS: Update text

        * configure.in: Bump version number to 0.1.1

        * tests/test-commentator.C (testBriefReport): Output brief report
        data to the same file used for the other data

        * linbox/util/commentator.C (MessageClass::checkConfig): Make
        depth and level unsigned
        (Commentator::Commentator): Set default max depth of BRIEF_REPORT
        to 1
        (Commentator::start): Push new activity after printing activity
        report
        (Commentator::stop): Pop new activity before finishing activity
        report
        (Commentator::progress): Test on _activities.size () - 1 for
        updateActivityReport
        (Commentator::progress): Tweak output
        (Commentator::setPrintParameters, Commentator::setMaxDepth,
        Commentator::setMaxDetailLevel): Omit BRIEF_REPORT
        (Commentator::printActivityReport,
        Commentator::updateActivityReport,
        Commentator::finishActivityReport): Tweak output parameters
        (Commentator::updateActivityReport): Don't show progress if deeper
        messages are printed

        * linbox/util/commentator.h (Commentator::isPrinted,
        MessageClass::isPrinted): Make depth and level unsigned

        * tests/.cvsignore: Update

        * tests/Makefile.am (BASIC_TESTS): Add test-commentator.C

        * linbox/algorithms/blackbox-container-base.h
        (BlackboxContainerBase::~BlackboxContainerBase): Delete _BB, as it
        was a clone

        * linbox/util/commentator.h (Commentator::MessageLevel): Renumber
        so that LEVEL_ALWAYS is 0

        * linbox/util/commentator.C (MessageClass::fixDefaultConfig): Add
        a directive to make sure LEVEL_ALWAYS messages always get printed

        * linbox/util/commentator.h (Commentator::setPrintParameters,
        MessageClass::setPrintParameters): Interface adjustment: only one
        depth is specified, the maximum for which the directive is valid;
        make depth and level unsigned

2002-08-26  Bradford Hovinen  <hovinen@cis.udel.edu>

        * linbox/randiter/modular.h (ModularRandIter::random): Fix call to
        linbox_check

        * tests/test-sparse.C (runSparseMatrixTests): Tweak text

        * linbox/util/vector-factory.h
        (RandomSparseSeqVectorFactory::next,
        RandomSparseParVectorFactory::next): Initialize i to -1 so that
        the first index might get an entry

        * tests/test-generic.h (testTranspose, testLinearity): Declare new
        reports inside the loop

        * tests/test-sparse.C (testRandomApply2): Reset A_factory when
        done

        * linbox/util/field-axpy.h (class FieldAXPY): Make _F mutable

        * tests/test-sparse.C (testRandomApply2): Remove this test
        (testRandomApply3): Rename as testRandomApply2
        (testRandomApply1, testRandomApply2): Accept a factory as a
        parameter and use it to build the matrix
        (testRandomTranspose, testRandomLinearity): Accept a factory as a
        parameter and use it to build the matrix

        * tests/test-generic.h (testGeometricSummation): Make sure a != 1

        * tests/test-modular.C (runFieldTests): Implement; copy code from
        relevant section of main
        (main): Use runFieldTests

2002-08-25  Bradford Hovinen  <hovinen@cis.udel.edu>

        * linbox/field/.cvsignore: Update

        * tests/.cvsignore: Update

        * linbox/blackbox/butterfly.h (applyTranspose, apply): Call
        std::copy (x.begin (), x.end (), y.begin ())

        * configure.in (AC_OUTPUT): Add linbox/switch/Makefile

        * macros/ntl-check.m4: Remove EX_FIELDS_NTL, as it is not needed

        * linbox/Makefile.am (BASIC_HEADERS): Rename from include_HEADERS;
        have include_HEADERS use the mechanism in tests/Makefile.am for
        optional inclusion

        * macros/ntl-check.m4 (NTL_HEADERS_*): Remove

        * macros/givaro-check.m4 (GIVARO_HEADERS_*): Remove

        * macros/lidia-check.m4 (LIDIA_HEADERS_*): Remove

        * linbox/field/Makefile.am (BASIC_HEADERS): Rename from
        include_HEADERS; have include_HEADERS use the mechanism in
        tests/Makefile.am for optional inclusion

        * tests/test-ntl-toeplitz.C: Rename from test-toeplitz.C

        * tests/Makefile.am: Rename test-toeplitz as test-ntl-toeplitz

        * macros/lidia-check.m4 (HAVE_LIDIA): Define

        * macros/givaro-check.m4 (HAVE_GIVARO): Define

        * macros/ntl-check.m4 (HAVE_NTL): Define

        * tests/Makefile.am: Put {NTL|GIVARO|LIDIA}_TESTS in here; use
        conditionals to make inclusion in TESTS optional

2002-08-20  Bradford Hovinen  <hovinen@cis.udel.edu>

        * linbox/blackbox/butterfly.h (setButterfly): Remove Commentator
        parameter; update uses of commentator to current interface; remove
        TRACE code

        * linbox/Makefile.am (SUBDIRS): Add switch

        * examples/.cvsignore: Update

2002-08-19  Bradford Hovinen  <hovinen@algol.cis.udel.edu>

        * linbox/randiter/modular.h (ModularRandIter::random): Protect
        from getting a result equal to the size of the sample

        * tests/test-sparse.C (testRandomApply1): Remove debugging code

        * linbox/randiter/modular.h (class ModularRandIter): Make _size a
        double and _seed an Element, as they can never be larger than
        Element
        (ModularRandIter::randIter): Initialize _card
        (ModularRandIter::random): Don't use temp_integer; don't mod out
        by cardinality as it should not be necessary; don't convert _size
        to a double

2002-08-18  Bradford Hovinen  <hovinen@cis.udel.edu>

        * linbox/field/modular.inl (dotSpecializedDSP): Add optimized
        variant for very short vectors, to avoid cost of additional mod
        operation
        (dotSpecializedDSP, dotSpecializedDD): Defer declarations until
        needed

        * configure.in (AC_DEFINE_UNQUOTED): Don't quote description

        * examples/blackbox/ex-mat0.C (main): Use Modular<uint32>

        * examples/blackbox/example.C: Use Modular<uint32>

        * examples/fields/ex-fields0.C (main): Use Modular<uint32>

        * examples/fields/ex-fields.C (main): Use Modular<uint32>

        * examples/blackbox/load-symmetrize.C: Use Modular<uint32>

        * examples/blackbox/load-det.C: Use Modular<uint16>

        * examples/dot-product.C: Use Modular<uint32>

        * linbox/field/modular.inl (dotSpecializedDD, dotSpecializedDSP):
        Update signatures of specialization

        * tests/test-trace.C (main): Use Modular<uint32>

        * tests/test-sum.C (main): 

        * tests/test-submatrix.C (main): 

        * tests/test-sparse.C (main): 

        * tests/test-solve.C (main): 

        * tests/test-scalar-matrix.C (main): 

        * tests/test-minpoly.C (main): 

        * tests/test-inverse.C (main): 

        * tests/test-diagonal.C (main): 

        * tests/test-det.C (main): 

        * tests/test-rank.C (main): 

        * tests/test-dense.C (main): 

        * tests/test-randiter-nonzero.C (main): 

        * tests/test-moore-penrose.C (main): 

        * tests/test-vector-domain.C: Use Modular<uint*>

        * tests/test-modular.C: 

        * linbox/field/modular.h: Change Modular, FieldAXPY, and
        DotProductDomain specializations to use new Linbox uint* types

        * linbox/integer.h: Add typedefs for int*

        * acconfig.h: Add #undef __LINBOX_INT*

        * configure.in: Define __LINBOX_INT* based on results of
        AC_SIZEOF

        * linbox/field/modular.inl (dotSpecializedDD, dotSpecializedDSP):
        Reintroduce faster modding out

        * linbox/field/modular.h (Modular<long>::init_two_64): Start
        counter at 0

        * tests/test-vector-domain.C (main): Test vector domains for all
        basic modular types
        (testVectorDomain): Implement

        * examples/blackbox/.cvsignore: Update

        * examples/Makefile.am (EXTRA_PROGRAMS): Add dot-product

2002-08-13  Bradford Hovinen  <hovinen@cis.udel.edu>

        * configure.in: Bump version to 0.1.0

        * linbox/field/modular.inl (dotSpecializedDSP, dotSpecializedDD):
        Use traditional modding out pending getting the more advanced
        version working correctly

        * linbox/algorithms/wiedemann.h (solveWiedemannSingular): Fix
        start/stop pairing

        * linbox/field/modular.h (Modular<long>::inv): Keep the inputs
        from sign-extending to long long

        * linbox/util/commentator.C (Commentator::startIteration): Store
        string in _iteration_str so that it is not deallocated when the
        call returns

        * linbox/util/commentator.h (class Commentator): Add _iteration_str

        * tests/test-diagonal.C (testRandomMinpoly): Make vector reports
        at LEVEL_UNIMPORTANT
        (testRandomTranspose): Use factory to generate diagonal vector;
        make it a dense vector, use VectorDomain::write
        (testRandomLinearity): Implement

        * tests/test-vector-domain.C (main): Used unsigned short field

        * tests/test-modular.C (main): Make default n 10000; reorder test
        invocations to group fields together

2002-08-12  Bradford Hovinen  <hovinen@cis.udel.edu>

        * tests/test-vector-domain.C (testDotProduct): Make vector output
        LEVEL_UNIMPORTANT
        (testCopyEqual, testAXPY, testSubMul, testAddMul, testDotProduct):
        Terminate vector displays with endl's

        * linbox/field/modular.inl (dotSpecializedDD, dotSpecializedDSP):
        Make sure arithmetic takes place without sign-extension

        * tests/test-generic.h (testFieldAssociativity): Implement

2002-08-11  Bradford Hovinen  <hovinen@cis.udel.edu>

        * tests/test-modular.C (main): Call tests indicated below for each
        modular type

        * tests/test-generic.h (testFieldNegation, testFieldInversion) 
        (testFieldAxioms, testGeometricSummation) 
        (testFieldCharacteristic, testFreshmansDream) 
        (testArithmeticConsistency, testAxpyConsistency): Implement

        * tests/test-minpoly.C (main): Make A_factory sparse parallel
        (testIdentityMinpoly, testNilpotentMinpoly): Define Row to be
        sparse parallel

        * linbox/field/modular.h (read): Do arithmetic in the domain
        integer

        * linbox/randiter/modular.h (ModularRandIter::random): Remove
        check for negativity

        * linbox/field/modular.h (Modular<short>::init): Fix in case
        modulus > 2^15
        (Modular<short>::init): Perform modding out operation in class
        integer
        (class Modular<short>): Convert to Modular<unsigned short> to
        allow larger moduli

        * tests/test-modular.C (main): Test Modular<integer> and
        Modular<short> as well; add CLI parameters for that

        * linbox/field/modular.h (class Modular<short>): Make _k a long
        long
        (class FieldAXPY<Modular<short> >): Make sure _y uses long long
        arithmetic
        (class Modular<short>): Do add and sub in a long to remove
        restriction on modulus

        * tests/test-vector-domain.C (main): Use a typedef for the field

        * linbox/field/modular.h (class Modular<short>): Rename 'k' as '_k'

        * linbox/field/modular.inl (dotSpecializedDSP): Fix compiler errors
        (dotSpecializedDD): Ditto

        * linbox/field/modular.h: Add specializations of DotProductDomain;
        include modular.inl
        (class Modular): Make DotProductDomain<...> a friend
        (Modular<long>::init_two_64): Implement
        (class Modular<long>): Add field _two_64
        (Modular<long>::Modular): Call init_two_64

        * linbox/blackbox/sparse-base.inl (setEntry): Use v.first.size ()

        * examples/blackbox/load-symmetrize.C: Ditto

        * examples/blackbox/load-det.C: Don't explicitly specify row type

        * linbox/field/vector-domain.h (class VectorDomain): Pull out the
        dense/dense and dense/sparse parallel dot products into a separate
        class DotProductDomain, which VectorDomain inherits. Put the field
        in a virtual base class VectorDomainBase
        (VectorDomain::field): Implement this

        * linbox/blackbox/sparse.h (class SparseMatrix0): Make default row
        type a sparse parallel

        * examples/blackbox/Makefile.am (EXTRA_PROGRAMS): Add
        load-symmetrize

        * linbox/algorithms/blackbox-container-symmetrize.h (class
        BlackboxContainerSymmetrize): Fix compiler warnings

        * linbox/blackbox/sparse-base.inl (read): Fix arguments to
        readPretty
        (read): Remove unused variables
        (read): Add dummy return statement

        * examples/blackbox/load-det.C: Fix order of template arguments;
        add using namespace std

        * linbox/blackbox/sparse-base.h (class SparseMatrix0Base): Fix
        member initializer order

2002-08-10  Bradford Hovinen  <hovinen@cis.udel.edu>

        * linbox/util/vector-factory.h (class StandardBasisFactory): Add
        specialization for sparse parallel vectors

        * tests/test-generic.h (testLinearity): Use VD.write
        (testTranspose): Use VD.write
        (testFieldAXPY): Use VD.write, commentator.startIteration

        * tests/test-sparse.C (test*): Use VD.write rather than
        printVector

        * linbox/blackbox/sparse-base.inl (write): Implement
        specialization for sparse parallel vectors

        * linbox/blackbox/sparse-base.h (class
        SparseMatrix0ReadWriteHelper): Implement class NoField to avoid
        having twice as many implementations as otherwise
        (class SparseMatrix0ReadWriteHelper): Split out writing portions
        into SparseMatrix0WriteHelper, which is partially specialized for
        sparse parallel vectors

        * linbox/blackbox/sparse-base.inl (getEntry, refEntry, setEntry):
        Implement specializations for sparse parallel vectors

        * linbox/blackbox/sparse.h: Implement specialization for sparse
        parallel vectors

        * linbox/blackbox/sparse.h (class SparseMatrix0): Specialize
        applyTranspose so that it can handle sparse parallel vectors,
        without having to specialize the entire class

        * linbox/algorithms/Makefile.am (include_HEADERS): Add
        wiedmemann.h

        * linbox/solutions/Makefile.am (include_HEADERS): Add solve.h

2002-08-09  Bradford Hovinen  <hovinen@cis.udel.edu>

        * tests/Makefile.am (BASIC_TESTS): Remove test-dense-matrix

        * tests/.cvsignore: Update

        * linbox/blackbox/Makefile.am (include_HEADERS): Remove
        dense-matrix.h
        (include_HEADERS): Change dense-matrix1.[Ch] to dense.inl, dense.h

        * tests/test-submatrix.C: #include dense.h

        * tests/test-inverse.C: 

        * linbox/blackbox/dense.h (class DenseMatrix): Make F const

2002-08-09  Dave Saunders

        * linbox/vector/subvector.h: homage to the indentation police.

2002-08-09  Bradford Hovinen  <hovinen@cis.udel.edu>

        * linbox/blackbox/dense.h (class DenseMatrix): Make _F a const
        reference
        (DenseMatrix::DenseMatrix): Make F const

        * linbox/blackbox/dense.h:

        * linbox/blackbox/dense.inl: Reindent and remove compiler warnings

        * tests/test-dense.C: Rename from test-dense-matrix1.C; update
        header

        * linbox/algorithms/wiedemann.h (solveWiedemannSingular): Give up
        if tries exceeds maxTries
        (solveWiedemannSingular, solveWiedemann): Fix order of arguments
        to VD.axpy

        * linbox/solutions/methods.h (struct SolverTraits): Add maxTries

        * linbox/algorithms/wiedemann.h (solveWiedemann): Output minimal
        polynomial at LEVEL_UNIMPORTANT

        * tests/test-solve.C (main): Correct output
        (testDiagonalSolve): Correct output
        (testDiagonalSolve): Print output vector too

        * linbox/util/commentator.C (Commentator::start): Don't output
        starting activity method if messages at that activity's depth
        aren't printed
        (Commentator::stop): Give a different message if this is the
        greatest depth at which messages are printed

        * linbox/algorithms/wiedemann.h (solveWiedemann): Use traditional
        indexing approach; eliminate count
        (solveWiedemannSingular): Ditto

        * linbox/solutions/methods.h (struct SolverTraits): Add singular,
        checkResult, certificate

        * tests/Makefile.am (BASIC_TESTS): Remove test-solver, add
        test-solve

        * linbox/solutions/solve.h: Move solveWiedemann[Singular] to
        linbox/algorithms/wiedemann.h; solve is now just a wrapper

        * linbox/solutions/solve.h: Rename from solver.h, tweak
        indentation, add header
        (solve): Add argument SolverTraits
        (solve): Remove randiter
        (solve): Use P.front () rather than P[0]
        (solve): Use iterator to go through polynomial
        (solve): Don't use applyIn and axpyin; allocate another vector
        (solve): Split into nonsingular case
        (solveWiedemann): Move Wiedemann-based method here
        (solveWiedemann): Rename y as b

        * linbox/solutions/methods.h (struct SolverTraits): Add a
        constructor that takes a string

        * linbox/blackbox/inverse.h (apply, applyTranspose): Remove
        template spec on minpoly call

        * linbox/solutions/rank.h: Update header

        * linbox/solutions/trace.h (trace): Reorder template parameters so
        that only Vector need be specified explicitly

        * tests/test-moore-penrose.C: Remove compiler warnings

        * tests/test-det.C: Remove compiler warnings

        * tests/test-rank.C: Remove compiler warnings

        * linbox/solutions/rank.h (rank): Make i a size_t

        * linbox/solutions/det.h (det): Make i a size_t

        * tests/test-trace.C: Remove compiler warnings

        * linbox/solutions/trace.h (trace): Remove unused int i

        * linbox/blackbox/dense-matrix.h (DenseMatrix::DenseMatrix): Make
        F a const
        (class DenseMatrix): Make _F a const

        * tests/test-common.h (multiEvalPoly): Make j a size_t

        * tests/test-inverse.C: Fix compiler warnings
        (testHilbertInverse, testIdentityInverse, testVandermondeInverse)
        (testDiagonalInverse): Make generic wrt vector type; use
        VectorFactory
        (main): Add CLI argument -N for number of vectors to apply
        Vandermonde inverse to

        * tests/test-diagonal.C: Update header; remove compiler warnings
        (testIdentityApply): Use commentator.startIteration; make generic
        wrt vector type; use VectorFactory
        (testRandomMinpoly): Ditto above

        * linbox/blackbox/scalar-matrix.h: Remove unused y_end

        * linbox/field/vector-domain.C (VectorDomain::writeSpecialized):
        Make idx a size_t

        * linbox/blackbox/inverse.h (Inverse::apply): Fix order of
        arguments to axpy
        (Inverse::applyTranspose): Ditto

        * linbox/field/vector-domain.C (VectorDomain::axpySpecialized):
        Fix order of arguments to _F.axpy

        * linbox/algorithms/blackbox-container-base.h (class
        BlackboxContainerBase): Add virtual destructor

        * linbox/algorithms/massey-domain.h (MasseyDomain::massey): Cast
        to avoid compiler warning

        * tests/test-common.h (printPolynomial): Make val a size_t

        * tests/test-minpoly.C (testRandomMinpoly1): Use VD in more places
        (testRandomMinpoly1): Use startIteration
        (testRandomMinpoly1): Use a vector factory to build the matrix
        (testRandomMinpoly): Rename from testRandomMinpoly1
        (testRandomMinpoly2): Eliminate this test, as it is now redundant
        (main): Remove CLI argument -N; construct vector factories
        (testNilpotentMinpoly): Make i a size_t

        * tests/test-common.h (applyPoly): Fix order of arguments to
        VD.axpy
        (applyPoly): Make generic wrt vector type

2002-08-08  Bradford Hovinen  <hovinen@cis.udel.edu>

        * tests/.cvsignore: Remove test-dense-vector-domain, add
        test-subiterator, test-param-fuzzy, test-dense-matrix1

        * linbox/vector/subvector.h (Subvector::Subvector): Use Iterator
        () rather than 0

        * linbox/field/param-fuzzy.h (class ParamFuzzy): Use std:: for
        istream and ostream

        * tests/test-scalar-matrix.C (testScalarApply): Make j a size_t

        * tests/test-submatrix.C (testRandomApply): Make i, j, k, l
        size_t's

        * tests/test-subvector.C (testSubvector): Remove unused variable
        i, make z a size_t

        * linbox/vector/const-iterator-type.h: Qualify vector with std::

        * tests/test-subiterator.C (test): Use
        Subiterator<std::vector<int>::iterator>

        * linbox/vector/subiterator.h: Reindent

        * linbox/vector/const-iterator-type.h: Rename from
        constiteratortype.h; reindent

        * tests/test-randiter-nonzero.C: Remove #include <strstream>

2002-08-06  Bradford Hovinen  <hovinen@cis.udel.edu>

        * tests/.cvsignore: Update

        * examples/blackbox/example.C: Compilation fixes

        * linbox/blackbox/sparse.h: Rename from sparse0.h

        * linbox/blackbox/sparse.inl: Rename from sparse0.inl

        * linbox/blackbox/sparse-base.h: Rename from sparse0-base.h

        * linbox/blackbox/sparse-base.inl: Rename from sparse0-base.inl

        * tests/test-sparse.C: Rename from test-sparse0.C

2002-08-05  Bradford Hovinen  <hovinen@cis.udel.edu>

        * Change local variable header so that it actually works

2002-08-05  Bradford Hovinen  <hovinen@cis.udel.edu>

        * linbox/blackbox/Makefile.am (include_HEADERS): Update

        * tests/Makefile.am (BASIC_TESTS): Remove test-toeplitz and
        test-lu, since they depends on an optional library (i.e. NTL)
        (EXTRA_PROGRAMS): Add test-toeplitz, test-lu
        (BASIC_TESTS): Remove test-stub (test-stub.C is missing)

2002-08-03  Dave Saunders  <saunders@cis.udel.edu>

        * linbox/field/param-fuzzy.h, linbox/randiter/param-fuzzy.h: update.

        * tests/test-param-fuzzy.C: Added this test.  Passes, but fails thru archetype
          We need to sharpen our testing.  Fields should work thru the arch and
          there should be exact field tests that fuzzy fields fail.

2002-08-02  Dave Saunders  <saunders@cis.udel.edu>

        * linbox/field/field-interface.h:  empty parent class for fields added for the sake of doc++

        * linbox/interfaces.dxx:  summary of the various interface concepts.  Many have archtypes, but not all 

        * consequential changes to these files: doc/Makefile.am doc/html/Makefile.am linbox/Makefile.am linbox/linbox.dxx 
        linbox/field/Makefile.am linbox/field/archetype.h linbox/field/fields.dxx linbox/field/givaro-gfq.h linbox/field/givaro-zpz.h 
        linbox/field/gmp-rational.h linbox/field/lidia-gfq.h linbox/field/modular.h linbox/field/param-fuzzy.h linbox/field/unparametric.h

2002-08-01  Dave Saunders  <saunders@cis.udel.edu>

        * linbox/field/Makefile.am: delete ref to the previously removed dense-vector-domain

        * tests/Makefile.am: add comments

        * HACKING: mod to indent policy, more "cvs up" info. 

2002-07-31  Bradford Hovinen  <hovinen@cis.udel.edu>

        * linbox/blackbox/nag-sparse.h: Tweak header

        * linbox/blackbox/sparse0-base.h (class SparseMatrix0Base): Remove
        copyToRow and swapRows, as they are unnecessary

2002-07-31  Dave Saunders  <saunders@cis.udel.edu>

        * linbox/blackbox/ntl-toeplitz.h: fix indentation

        * linbox/blackbox/ntl-toeplitz.inl: replace .C and fix indentation

2002-07-30 Saunders and Lobo

        * linbox/blackbox/ntl-toeplitz.* and it's test.  Adding a toeplitz black box.
        * First version, more general capability is coming.

2002-07-26  Bradford Hovinen  <hovinen@algol.cis.udel.edu>

        * linbox/field/modular.h (class Modular, class FieldAXPY): Add
        specializations for int element type

        * linbox/util/commentator.h
        (Commentator::nullstreambuf::showmanyc): Return std::streamsize

2002-07-29  Rich Seagraves <seagrave@cis.udel.edu>

        * linbox/blackbox/Makefile.am (include_HEADERS): Added nag-sparse.h

2002-07-26  Bradford Hovinen  <hovinen@cis.udel.edu>

        * linbox/blackbox/sparse0-base.C (readTurner, readGuillaume): Use
        A.refEntry

        * linbox/blackbox/sparse0.[Ch]: Move apply, applyTranspose
        definitions to sparse0.C

        * tests/test-minpoly.C (testRandomMinpoly1, testRandomMinpoly2):
        Update as per change below

        * linbox/blackbox/sparse0-base.C (getEntry): Make the Row
        reference const
        (getEntry): Have specialization for sparse associative vectors use
        find to avoid const issues

        * tests/test-sparse0.C (testRandomApply1, testRandomApply2)
        (testRandomApply3, testRandomTranspose, testRandomLinearity):
        Update as per change below

        * tests/test-moore-penrose.C (buildRandomSparseMatrix): Update as
        per change below

        * linbox/blackbox/sparse0-base.h (class SparseMatrix0Base): Change
        non-const version of getEntry to refEntry

2002-07-26  Bradford Hovinen  <hovinen@stimpy.eecis.udel.edu>

        * linbox/blackbox/Makefile.am (include_HEADERS): Remove
        densesubmatrix.H

2002-07-25  Bradford Hovinen  <hovinen@cis.udel.edu>

        * linbox/util/commentator.C (Commentator::stop): Make sure all
        timings get the same precision

        * linbox/field/modular.h (clsas Modular<short>): Define k for
        delayed modding out
        (class FieldAXPY<short>): Use static modding out procedure; make
        _y a long long

2002-07-24  Bradford Hovinen  <hovinen@cis.udel.edu>

        * tests/test-vector-domain.C (main): Add calls to test sparse
        parallel vectors
        Use VD.write rather than printVector

        * linbox/util/vector-factory.h (class
        RandomSparseParVectorFactory): Added this class for random sparse
        parallel vectors

        * tests/test-vector-domain.C (testDotProduct, testAddMul)
        (testSubMul, testAXPY, testCopyEqual): Reset factories when done

        * linbox/field/vector-domain.C (VectorDomain::addinSpecialized,
        VectorDomain::subinSpecialized, VectorDomain::axpyinSpecialized):
        Use a temporary vector and copy when done for the sparse sequence
        specialization (O(n) vs. O(n^2))
        Don't use iterator operator < unless necessary

        * linbox/field/vector-domain.h (class VectorDomain): Add support
        for SparseParallelVectorTag
        (VectorDomain::copySpecialized): Use std::copy for inline
        implementations, just in case there are two different vector types
        with the same tag

        * linbox/vector/vector-traits.h (struct VectorCategories): Add
        SparseParallelVectorTag
        (struct VectorTraits): Add specialization for sparse parallel
        vectors
        (refSpecialized, constRefSpecialized, ensureDimSpecialized): Add
        specialization for sparse parallel vectors

        * tests/test-moore-penrose.C (testRandomApply1): Add commentator
        activity for constructing the matrix
        (testRandomApply1): Delete A when done

        * linbox/field/vector-domain.C (VectorDomain::copySpecialized):
        Add version optimized for copying to vectors of the same type

2002-07-23  Bradford Hovinen  <hovinen@cis.udel.edu>

        * examples/blackbox/load-det.C: Fix include directive

        * linbox/field/vector-domain.C (VectorDomain::write): Write out
        i->second, not *i

        * tests/test-moore-penrose.C (testRandomApply1): Make this generic wrt
        vector and row type
        (buildRandomSparseMatrix): Use VectorDomain and facilities of new
        SparseMatrix0; make generic wrt row type
        (testRandomApply1): Indent correct and computed output messages

        * linbox/field/vector-domain.C (VectorDomain::copySpecialized):
        Implement version described below

        * linbox/field/vector-domain.h (class VectorDomain): Add a form of copy
        that allows copying a subvector into a subvector

        * linbox/util/commentator.C (MessageClass::fixDefaultConfig):
        Clear entire list

2002-07-23  Saunders

        * tests/Makefile.am includes test-subiterator.  Advise me if it doesn't
          work for you.

2002-07-22  Bradford Hovinen  <hovinen@cis.udel.edu>

        * tests/test-minpoly.C: Updated to reflect changes to
        SparseMatrix0
        (testNilpotentMinpoly, testIdentityMinpoly): Use a
        StandardBasisFactory object

        * tests/test-sparse0.C: Updated to reflect changes to SparseMatrix0

        * linbox/blackbox/sparse0.h: 
        * linbox/blackbox/sparse0-base.h: Refactoring:
            - Eliminated SparseMatrix0Aux and moved that functionality into Sparse0
            - Made SparseMatrix0Base parameterized only on the element type
            - New read/write implementations for SparseMatrix0Base, supporting multiple
              formats
            - Eliminated Gaussian elimination code
            - Added iterators, including ColOfRowsIterator, RawIterator, and
              RawIndexIterator
            - Eliminated operator []; added getEntry; changed put_value to setEntry

        * linbox/util/commentator.C (Commentator::progress): Enable
        act->_timer.stop ()

        * linbox/util/timer.C (stop, start): Use _start_t

        * linbox/util/timer.h (class BaseTimer): Added _start_t

        * linbox/vector/subvector.h (struct VectorTraits): Use
        Subvector<Iterator> to get value_type

2002-07-18  Bradford Hovinen  <hovinen@cis.udel.edu>

        * linbox/vector/vector-traits.h: Add #include <algorithm>

        * linbox/util/commentator.h (class Commentator): Add form of
        isPrinted that does not require activity depth; add isNullStream

        * macros/*-check.m4: Don't add a -I and -L arguments if they refer
        only to /usr or to /usr/local

        * macros/*-check.m4: Add rules for cross-compiling

        * macros/*-check.m4: Tweak argument documentation

        * macros/gmp-check.m4: Remove note that GMP installation is
        optional

2002-07-12  Bradford Hovinen  <hovinen@cis.udel.edu>

        * linbox/field/ntl-RR.h (LinBox): Ditto

        * linbox/field/ntl-ZZ_p.h (LinBox): Ditto

        * linbox/field/ntl-zz_p.h (LinBox): Ditto

        * linbox/blackbox/submatrix.h (LinBox): Ditto

        * linbox/blackbox/hilbert.h (LinBox): Ditto

        * linbox/blackbox/diagonal.h (LinBox): Ditto

        * linbox/blackbox/scalar-matrix.h (LinBox): Ditto

        * tests/test-scalar-matrix.C: Update as per C++ standard

        * linbox/solutions/methods.h (struct SolverTraits): First stab at
        this structure

        * linbox/algorithms/blackbox-container.h (LinBox): Ditto

        * linbox/vector/reverse.h (LinBox): Ditto

        * linbox/vector/subvector.h: Ditto

        * linbox/vector/subiterator.h (LinBox): Ditto

        * linbox/field/unparametric.h (LinBox): Update as per C++ standard

        * linbox/util/commentator.C (Commentator::updateActivityReport):
        Make i signed

        * linbox/util/error.C: Ditto

        * linbox/util/timer.C: Updates to C++ standard; place everything
        inside LinBox namespace

        * linbox/util/gmp++/gmp++_int_misc.C: Ditto

        * linbox/util/gmp++/gmp++_int_io.C: Update header file names
        Add using namespace std
        Updates to conform to C++ standard

        * linbox/util/gmp++/gmp++_int_cstor.C: s/iostream.h/iostream/

        * linbox/vector/vector-traits.h (struct
        SparseSequenceVectorPairLessThan): Use std:: namespace qualifier
        (class CompareSparseEntries): Use std:: namespace qualifier
        (refSpecialized): Use std:: namespace qualifier

        * linbox/util/error.h: s/iostream.h/iostream/
        Use std:: namespace qualifier for iostream

        * linbox/field/envelope.h (class FieldEnvelope): Ditto

        * linbox/field/archetype.h (class FieldArchetype): Ditto

        * linbox/field/abstract.h (class FieldAbstract): Use std::
        namespace qualifier for ostream/istream

        * gmp++/gmp++_int.inl (Integer::random): Eliminate default from
        definition

        * gmp++/gmp++_int.h: Use namespace qualifier std:: for parts of
        the STL; update header names in accordance with C++ standard

        * linbox/util/timer.h: s/iostream.h/iostream/ as per updated C++
        standard; put everything inside the LinBox namespace; use
        std::ostream

2002-07-08  Bradford Hovinen  <hovinen@cis.udel.edu>

        * linbox/solutions/methods.h: Put everything inside the LinBox
        namespace

        * linbox/solutions/rank.h (rank): Update
        (rank): Use VectorWrapper::ensureDim; add commentator calls

        * linbox/solutions/det.h (det): Update

        * linbox/solutions/minpoly.h (minpoly): Update

        * linbox/solutions/methods.h: Changed the name
        _DEFAULT_EarlyTerm_THRESHOLD_ to the more standard-consistent
        DEFAULT_EARLY_TERM_THRESHOLD; changed the name
        Early_Term_Threshold to earlyTermThreshold, also in keeping with
        the standard.

2002-07-05  Bradford Hovinen  <hovinen@cis.udel.edu>

        * linbox/blackbox/sparse0-aux.h
        (SparseMatrix0Aux::applyTranspose): Avoid use of operator [];
        tweak performance with iterators

        * linbox/util/field-axpy.h (class FieldAXPY): Add assignment
        operator; make _F a real copy and not a reference

        * linbox/field/modular.h (FieldAXPY::FieldAXPY): Add copy
        constructor; use direct assignment for 0
        (class FieldAXPY): Make _F a real copy; add assignment operator

        * linbox/util/field-axpy.h (class FieldAXPY): Add copy constructor

        * linbox/blackbox/sparse0-base.h (SparseMatrix0Base::prettyPrint):
        Make i, j size_t's

        * linbox/blackbox/sparse0-aux.h (class SparseMatrix0Aux): Add
        _faxpy
        (SparseMatrix0Aux::applyTranspose): Use _faxpy vector to enable
        delayed modding out

2002-07-02  Bradford Hovinen  <hovinen@cis.udel.edu>

        * linbox/field/modular.h (class FieldAXPY): Add template <>

        * examples/blackbox/.cvsignore: Update

        * tests/.cvsignore: Update

        * tests/test-moore-penrose.C (testIdentityApply): Make display of
        vectors LEVEL_UNIMPORTANT
        (testRandomApply1): Ditto
        (testRandomApply1): Put the construction of Adagger inside a
        commentator activity; change "Computing" to "Applying" for the
        activity surrounding the application

        * HACKING: Update instructions for adding a test

        * tests/Makefile.am (BASIC_TESTS): Move all mandatory tests here
        (TESTS): Include BASIC_TESTS
        (EXTRA_PROGRAMS): Include BASIC_TESTS
        (noinst_PROGRAMS): Remove

        * linbox/util/vector-factory.h
        (RandomSparseSeqVectorFactory::next): Make i a size_t

        * linbox/field/vector-domain.C (VectorDomain::mulSpecialized):
        Eliminate unused j
        (VectorDomain::addinSpecialized, VectorDomain::subinSpecialized,
        VectorDomain::axpyinSpecialized): Make i a size_t
        (VectorDomain::copySpecialized,
        VectorDomain::areEqualSpecialized): Make idx a size_t

        * linbox/util/vector-factory.h
        (RandomSparseSeqVectorFactory::RandomSparseSeqVectorFactory):
        Reorder initializers
        (class VectorFactory): Add virtual destructor

        * tests/test-vector-domain.C (testSubMul): Remove unused i, j
        (testAXPY): Ditto

        * linbox/blackbox/inverse.h (Inverse::apply): Eliminate unused j

        * tests/test-vector-domain.C (testCopyEqual, testAddMul): Remove
        unused i, j
        (testDotProduct): Make j a size_t

        * linbox/util/vector-factory.h (StandardBasisFactory::next): Make
        idx a size_t

        * linbox/blackbox/sparse0-aux.h
        (SparseMatrix0Aux::applyTranspose): Initialize y to all zeros
        first

        * tests/test-sparse0.C (testRandomApply3, testRandomApply2,
        testRandomApply1): Remove unused VD

        * linbox/util/vector-factory.h
        (RandomSparseSeqVectorFactory::next): Don't die if skip is 0; just
        increment i

        * tests/test-generic.h (testTranspose, testLinearity): Remove
        unused i, j

2002-07-01  Bradford Hovinen  <hovinen@cis.udel.edu>

        * linbox/field/vector-domain.C (dotSpecialized): Don't initialize
        res; it's not necessary here

        * linbox/algorithms/blackbox-container-base.h (class
        BlackboxContainerBase): Tweak indentation

        * linbox/blackbox/sparse0-aux.h
        (SparseMatrix0Aux::applyTranspose): Use linbox_check and _F.axpyin

        * linbox/algorithms/Makefile.am (include_HEADERS): Add
        blackbox-container-symmetrize.h

        * linbox/field/modular.h (FieldAXPY::get, FieldAXPY::assign):
        inline these

        * linbox/util/field-axpy.h (FieldAXPY::get, FieldAXPY::assign):
        inline these

        * linbox/field/vector-domain.C (VectorDomain::dotSpecialized):
        inline this

        * linbox/blackbox/sparse0-aux.h (SparseMatrix0Aux::apply):
        Eliminate Element temp

        * linbox/util/commentator.C (Commentator::progress): Show elapsed time
        (Commentator::progress): Get a pointer to the top activity first

        * linbox/algorithms/massey-domain.h (MasseyDomain::massey): Use
        COMMOD for progress reports

        * linbox/util/commentator.C (Commentator::updateActivityReport):
        Use a strstream and update _last_line_len
        (Commentator::finishActivityReport): Use _last_line_len
        (Commentator::setReportStream): Disable brief report if we are
        outputing to the same stream it is

        * linbox/util/commentator.h (class Commentator): Add _last_line_len

        * linbox/util/commentator.C (Commentator::stop): Increase output
        precision; make sure output is nonnegative

        * examples/blackbox/Makefile.am (EXTRA_PROGRAMS): Add load-det

        * linbox/field/givaro-zpz.h: Reindent

        * examples/run/Makefile.am: Kill _DEPENDENCIES lines

        * examples/integers/Makefile.am: Kill _DEPENDENCIES lines

        * examples/fields/Makefile.am: Kill _DEPENDENCIES lines

        * examples/blackbox/Makefile.am: Kill _DEPENDENCIES lines

        * examples/Makefile.am: Kill _DEPENDENCIES lines

        * HACKING: Remove note about _DEPENDENCIES lines

        * tests/Makefile.am: Get rid of _DEPENDENCIES lines; turns out
        they aren't necessary

        * linbox/util/commentator.C (Commentator::stop): Modified report
        format; display all three timings

2002-06-28  Bradford Hovinen  <hovinen@cis.udel.edu>

        * linbox/util/commentator.C (Commentator::updateActivityReport):
        Use floor (percent + 0.5) rather than round (percent)

        * linbox/util/commentator.h (Commentator): Redefine Commentator to
        CommentatorDisabled when disabled; define the existing commentator
        regardless of whether it is disabled -- the new #defines will
        deflect any access

        * tests/test-minpoly.C (main): Re-enable commentator

        * linbox/util/commentator.C (Commentator::Commentator): Set
        default max depth for BRIEF_REPORT to 2; use macros for detail
        levels
        (MessageClass::fixDefaultConfig): Make sure j is not erased from
        the list before insertion

        * gmp++/gmp++_int.h: Add short, unsigned short implicit
        conversions

2002-06-27  Bradford Hovinen  <hovinen@cis.udel.edu>

        * linbox/util/commentator.C (Commentator::updateActivityReport):
        Use round (percent) rather than setting precision
        (MessageClass::checkConfig): Use depth < (*i).first
        (MessageClass::fixDefaultConfig): Erase everything after
        _max_depth and everything before _max_depth that is not more
        restrictive

        * tests/test-vector-domain.C (testAXPY): Update use of VD.axpy

        * tests/test-common.h (applyPoly): Update use of VD.axpy

        * tests/test-generic.h (testLinearity): Update use of VD.axpy

        * linbox/blackbox/inverse.h (Inverse::apply,
        Inverse::applyTranspose): Update

        * linbox/field/vector-domain.h (class VectorDomain): Change order
        of parameters to match FieldArchetype::axpy

2002-06-26  Bradford Hovinen  <hovinen@eos.cis.udel.edu>

        * tests/test-minpoly.C: Report minpoly degree; tweak report
        parameters

        * linbox/algorithms/blackbox-container.h
        (BlackboxContainer::BlackboxContainer): Initialize _applyTime and
        _dotTime if INCLUDE_TIMING is defined

2002-06-26  Bradford Hovinen  <hovinen@cis.udel.edu>

        * linbox/field/vector-domain.C (VectorDomain::addinSpecialized,
        VectorDomain::subinSpecialized): Use i->first < j->first

        * linbox/util/vector-factory.h
        (RandomSparseSeqVectorFactory::next): Add check that skip > 0

        * linbox/field/vector-domain.C (VectorDomain::axpySpecialized):
        Fix order of arguments to F.axpy

        * tests/test-generic.h (testLinearity): Fix variable names to be
        more descriptive

        * linbox/util/vector-factory.h (LinBox): Use v[] rather than
        v.insert

        * tests/test-generic.h (testDenseConsistency): Eliminate this test
        (testLinearity): Fix formulae

        * linbox/solutions/trace.h (trace): Make sure v has correct
        dimension

        * tests/test-inverse.C (testRandomTranspose): Update according to
        changes in testTranspose

        * tests/test-diagonal.C (testRandomTranspose): Update according to
        changes in testTranspose

        * linbox/blackbox/sparse0-aux.h
        (SparseMatrix0Aux::SparseMatrix0Aux): Initialize _VD for sparse
        associative specialization

        * tests/test-generic.h (testTranspose): Use VectorFactory, make
        this generic wrt vector type

        * tests/test-sparse0.C (testRandomTranspose, testRandomLinearity):
        New tests
        (main): Call tests on all combinations of vector types

        * linbox/util/vector-factory.h (StandardBasisFactory::next):
        Initialize the whole vector for the dense case

        * linbox/blackbox/sparse0-base.h (SparseMatrix0Base::put_value,
        SparseMatrix0Base::operator[]): Use linbox_check

        * tests/test-sparse0.C (testRandomApply1, testRandomApply2,
        testRandomApply3): Make these generic wrt vector and row type

        * */*.[Ch]: Change top Emacs identifier to mode: C++ so that it
        does the correct thing with templates and so on

        * linbox/util/vector-factory.h (class RandomDenseVectorFactory):
        Use RandIter, not Field::RandIter for _r

2002-06-25  Bradford Hovinen  <hovinen@cis.udel.edu>

        * tests/test-sparse0.C (testIdentityApply): Use VectorFactory
        (testNilpotentApply): Use VectorFactory

        * linbox/blackbox/sparse0-aux.h (class SparseMatrix0Aux): Use
        VectorDomain for the sparse associative specialization; replace
        Field1 with VectorDomain<Field>
        (SparseMatrix0Aux::apply): Use VectorDomain::dot for all
        specializations
        (class SparseMatrix0Aux): Restore compilation of sparse
        associative specialization
        (SparseMatrix0Aux::apply): Use iterator rather than integer

        * tests/Makefile.am (TESTS): Add test-subvector

        * linbox/algorithms/blackbox-container.h (class
        BlackboxContainer): Add optional timing facilities, enabled with
        INCLUDE_TIMING

        * linbox/algorithms/massey-domain.h (class MasseyDomain): Add
        optional timing facilities, enabled with INCLUDE_TIMING

        * linbox/vector/Makefile.am (include_HEADERS): Add subvector.h,
        subiterator.h, reverse.h

        * linbox/vector/subvector.h: Reindent; fix headers

        * linbox/algorithms/massey-domain.h (class MasseyDomain): Replace
        _field with _F; declare VectorDomain _VD; use const long rather
        than #define when possible

        * linbox/algorithms/blackbox-container-base.h (class
        BlackboxContainerBase): Add member VectorDomain _VD; rename _field
        to _F (for consistency); eliminate operators; align members
        (BlackboxContainerBase::size): Make this const

        * linbox/algorithms/blackbox-container.h
        (BlackboxContainer::_launch): Use _VD.dot rather than home-cooked
        dot product
        (class BlackboxContainer): Make RandIter a template parameter,
        defaulted to Field::RandIter

        * linbox/algorithms/Makefile.am (include_HEADERS): Add
        blackbox-container-symmetric.h

        * linbox/solutions/trace.h (trace): Use factory.j () - 1

2002-06-24  Bradford Hovinen  <hovinen@cis.udel.edu>

        * tests/test-vector-domain.C (main): Reset factory 5 before sparse
        sequence/sparse associative dot product; factory 6 before sparse
        associative add/mul test
        (testDotProduct): Add timing

        * linbox/util/vector-factory.h (VectorFactory): Fix output of j ()

        * HACKING: Update with consolidated ChangeLogs

        * linbox/vector/vector-traits.h (refSpecialized,
        cosntRefSpecialized): Check that size is nonzero before conducting
        binary search; check that return iterator is not past-the-end

2002-06-21  Bradford Hovinen  <hovinen@cis.udel.edu>

        * examples/integers/.cvsignore: Update

        * examples/.cvsignore: Update

2002-06-21  Bradford Hovinen  <hovinen@cis.udel.edu>

        * linbox/field/vector-domain.C (VectorDomain::axpyinSpecialized): Don't use an
        iterator here, since we invalidate iterators by calling insert

        * linbox/field/modular.h (Modular::neg): Make sure -0 = 0

        * linbox/field/vector-domain.C (VectorDomain::axpySpecialized): Use _F.axpy
        when possible; avoid use of temporaries
        (VectorDomain::addSpecialized, VectorDomain::addinSpecialized,
        VectorDomain::subSpecialized, VectorDomain::subinSpecialized,
        VectorDomain::isZeroSpecialized,
        VectorDomain::areEqualSpecialized,
        VectorDomain::convertSpecialized, VectorDomain::readSpecialized,
        VectorDomain::writeSpecialized, VectorDomain::copySpecialized):
        Implement
        (VectorDomain::mulSpecialized, VectorDomain::mulinSpecialized):
        Implement specialization for sparse associative vectors

        * linbox/randiter/nonzero.h (class NonzeroRandIter): Set default RandIter to
        Field::RandIter

        * linbox/util/vector-factory.h (class RandomSparseSeqVectorFactory, class
        RandomSparseMapVectorFactory): Use NonzeroRandIter

        * linbox/vector/vector-traits.h (class CompareSparseEntries): Implement
        (refSpecialized, constRefSpecialized): Use lower_bound

        * tests/test-generic.h (testLinearity): New test

        * tests/test-vector-domain.C (testAddMul, testSubMul, testCopyEqual): 
        New tests; call these from main

        * tests/test-vector-domain.C (testAXPY): Use VD.isZero

        * tests/.cvsignore: Update

2002-06-20  Bradford Hovinen  <hovinen@cis.udel.edu>

        * examples/Makefile.am (EXTRA_PROGRAMS): Add mmZZ_pE

        * examples/integers/Makefile.am (EXTRA_PROGRAMS): Don't compile programs by
        default

2002-06-20  Bradford Hovinen  <hovinen@cis.udel.edu>

        * examples/blackbox/Makefile.am (EXTRA_PROGRAMS): Don't compile examples by default

        * examples/fields/Makefile.am (EXTRA_PROGRAMS): Don't compile programs by default

        * linbox/blackbox/dense-matrix1.h (DenseMatrix::Row::Row): Fix typos in default
        initialization

        * linbox/blackbox/dense-matrix1.C (DenseMatrix::write): Remove default for
        parameter
        (DenseMatrix::ColOfRowsIterator::ColOfRowsIterator): Remove
        default for first parameter
        (DenseMatrix::RowOfColsIterator::RowOfColsIterator): Remove
        default for first parameter
        (class DenseMatrix::RowOfColsIterator): Add constructor with no
        parameters
        (class DenseMatrix::ColOfRowsIterator): Add constructor with no
        parameters

        * linbox/field/Makefile.am (EXTRA_DIST): Add EXTRA_HEADERS

2002-06-20  Pascal Giorgi   <pascal.giorgi@ens-lyon.fr>

        * linbox/field/givaro-gfq.h: Replace cast according to gmp++ .

2002-06-20  Bradford Hovinen  <hovinen@cis.udel.edu>

        * linbox/randiter/Makefile.am (include_HEADERS): Add nonzero.h

        * linbox/util/vector-factory.h (class RandomDenseVectorFactory, class
        RandomSparseSeqVectorFactory, class RandomSparseMapVectorFactory):
        Add constructor specifying a particular random iterator

2002-06-20  Dave Saunders  <saunders@cis.udel.edu>

        * insert LinBoxSrcOnly flag for all-source compilation (fixed)

2002-06-20  Bradford Hovinen  <hovinen@cis.udel.edu>

        * macros/ntl-check.m4 (AC_TRY_LINK): Don't include iostream -- it was
        causing compiler trouble wrt autoconf
        (NTL_HEADERS_FIELD): Add ntl-ZZ_pE.h

        * tests/Makefile.am (TESTS): Add test-randiter-nonzero
        (test_diagonal_DEPENDENCIES): Remove duplicate definition

2002-06-19  Bradford Hovinen  <hovinen@cis.udel.edu>

        * configure.in (AC_OUTPUT): Remove linbox/iterators/Makefile,
        remove examples/run/Makefile

2002-06-19  Bradford Hovinen  <hovinen@cis.udel.edu>

        * examples/Makefile.am (SUBDIRS): Add integers

        * examples/fields/Makefile.am (ex_fields_wrapper_SOURCES): Don't comment out this
        line

        * linbox/util/gmp++/Makefile.am (INCLUDES): Add -I$(top_srcdir)

        * linbox/util/vector-factory.h (RandomSparseSeqVectorFactory::next): Use
        simpler formulas ala Knuth
        (class RandomSparseSeqVectorFactory): Remove extraneous variables

        * tests/test-sum.C (main): Use GF(101) by default
        (testZeroApply): Use VD.mul rather than VD.axpy

2002-06-18  Bradford Hovinen  <hovinen@cis.udel.edu>

        * Makefile.am (SUBDIRS): Add gmp++

        * configure.in (AC_OUTPUT): s/integer/gmp++/

2002-06-18  Bradford Hovinen  <hovinen@cis.udel.edu>

        * examples/blackbox/ex-mat0.C: Add using namespace std

        * linbox/integer.h: Use GMP++

2002-06-18  Zhendong Wan <wan@cis.udel.edu>

        * dense-matrix1.h dense-matrix1.C

        * FieldBASL.h FieldBLAS.C

        * linbox/field/ntl-ZZ_pE.h

2002-06-18  Bradford Hovinen  <hovinen@cis.udel.edu>

        * linbox/util/vector-factory.h (RandomSparseMapVectorFactory::next): Use a
        simpler mechanism for constructing vectors

        * linbox/util/gmp++/gmp++_int.h: Define GMPXX_PREFIX if not already done

        * linbox/util/gmp++/*.[Ch]: Prefix #include lines with GMPXX_PREFIX

        * linbox/util/Makefile.am (SUBDIRS): s/integer/gmp++/
        (libutil_la_LIBADD): s/integer/gmpxx/

2002-06-14  Bradford Hovinen  <hovinen@cis.udel.edu>

        * examples/blackbox/.cvsignore: Update

2002-06-14  Bradford Hovinen  <hovinen@cis.udel.edu>

        * linbox/field/vector-domain.C (VectorDomain::dotSpecialized): Make sure not to
        accumulate if j is at v2.end.
        (VectorDomain::dotSpecialized): Add specialization for sparse
        associative/sparse associative dot product

        * linbox/field/modular.h (class ModularBase, class Modular): Replace
        Modular[Base]::Modular[Base] (Element) with unsigned long version

2002-06-14  zhenddong wan <wan@cis.udel.edu>

        * linbox/vector/subvector.h: fix the const_iterator problem

2002-06-14  Bradford Hovinen  <hovinen@cis.udel.edu>

        * tests/test-vector-domain.C (main): Add call to test sparse
        associative/sparse associative dot product

2002-06-13  Bradford Hovinen  <hovinen@cis.udel.edu>

        * .cvsignore: Remove config.h[.in] and add linbox-config.h[.in]

        * configure.in: Change AM_CONFIG_HEADER to linbox-config.h

        * */*.C: Change #include "config.h" to #include "linbox-config.h"

        * Makefile.am (include_HEADERS): Add linbox-config.h

        * acconfig.h: Add GMP_VERSION_4

2002-06-13  Bradford Hovinen  <hovinen@cis.udel.edu>

        * examples/blackbox/.cvsignore: Update

        * linbox/integer.h: Only use extern "C" if GMP_VERSION_4 is not set

        * linbox/vector/vector-traits.h: Add #include linbox/field/archetype.h

        * macros/gmp-check.m4: Added check for GMP 4.0 or greater

        * tests/test-vector-domain.C (main): Invoke testDotProduct for sparse
        sequence/sparse sequence vectors

        * tests/Makefile.am: Commented out subiterator and solveNonsingular as
        the former has compilation problems and the latter was not added
        properly

2002-06-11  Dave Saunders  <saunders@cis.udel.edu>

        * linbox/field/ntl-ZZ_p.h: include sys/time.h

2002-06-11  Dave Saunders  <saunders@cis.udel.edu>

        * tests/test-subiterator.C: new test of vector/subiterator.h

2002-06-10  Dave Saunders  <saunders@cis.udel.edu>

        * linbox/vector/subiterator.h, subvector.h: subvector now constructs from
        subiterators, not from underlying vector.  This avoids
        copy and reference problems with underlying vector.

2002-06-07  Bradford Hovinen  <hovinen@cis.udel.edu>

        * linbox/field/vector-domain.C (VectorDomain::axpySpecialized): Implement
        specialization for sparse associative vectors
        (VectorDomain::axpyinSpecialized): Implement specialization for
        sparse associative vectors
        (VectorDomain::dotSpecialized): Implement specialization for
        sparse sequence/sparse sequence and sparse associative/sparse
        sequence vectors

2002-06-07  Bradford Hovinen  <hovinen@cis.udel.edu>

        * tests/test-vector-domain.C (main): Add call to test sparse associative
        vector axpy

2002-06-06  Bradford Hovinen  <hovinen@cis.udel.edu>

        * linbox/field/vector-domain.C (VectorDomain::dotSpecialized): Implement
        specialization for sparse associative/dense dot product

        * linbox/field/vector-domain.h (class VectorDomain): Add return statements

2002-06-06  Bradford Hovinen  <hovinen@cis.udel.edu>

        * linbox/util/vector-factory.h
        (RandomSparseSeqVectorFactory::RandomSparseSeqVectorFactory): Make
        sure k < n
        (RandomSparseSeqVectorFactory::next): Tweak formulae
        (RandomSparseMapVectorFactory::next): Tweak formulae the same way
        as above

        * tests/test-vector-domain.C (testAXPY): Rename from testDenseAXPY. Make
        this generic with respect to the vector type being tested
        (main): Update according to the above

        * tests/.cvsignore: Update

        * tests/test-vector-domain.C (main): Add call to test sparse associative
        dot product

2002-06-05  Bradford Hovinen  <hovinen@cis.udel.edu>

        * tests/test-vector-domain.C (testDotProduct): Rename from
        testDenseDotProduct. Make this generic with respect to the vector
        type being tested

2002-06-04  Bradford Hovinen  <hovinen@aphrodite.cis.udel.edu>

        * .cvsignore: Update

2002-06-04  Bradford Hovinen  <hovinen@aphrodite.cis.udel.edu>

        * examples/run/.cvsignore: Update

2002-06-04  Bradford Hovinen  <hovinen@cis.udel.edu>

        * linbox/blackbox/inverse.h (class Inverse): Update use of VectorDomain

        * linbox/blackbox/sparse0-aux.h (class SparseMatrix0Aux): Update use of VectorDomain

        * linbox/blackbox/dense-matrix.h (class DenseMatrix): Update use of VectorDomain

2002-06-04  Bradford Hovinen  <hovinen@aphrodite.cis.udel.edu>

        * linbox/blackbox/moore-penrose.h (class MoorePenrose): s/_B/_B1/ since _B seems
        to be a macro of some type on Solaris

2002-06-04  Bradford Hovinen  <hovinen@cis.udel.edu>

        * linbox/field/vector-domain.h (class VectorDomainBase, class VectorDomain): 
        Merge these classes together
        (class VectorDomain): Parameterize methods on the vector types
        rather than parameterizing the whole class. Add methods

        * Specialized for template specialization

        * linbox/field/vector-domain.C: Update according to changes in vector-domain.h

2002-06-04  Dave Saunders  <saunders@cis.udel.edu>

        * linbox/vector/subvector.h: tweak to have reference semantics to underlying vect.

        * tests/test-subvector.C: new test for check adapted from Will's 
        test-subvector.cpp

        * tests/Makefile.am: new target test-subvector, part of check. 

2002-06-04  Bradford Hovinen  <hovinen@cis.udel.edu>

        * tests/test-moore-penrose.C (testRandomApply1): 
        s/VectorDomainBase/VectorDomain/ and update

        * tests/test-common.h (applyPoly): Update use of VectorDomain

        * tests/test-generic.h (testDenseConsisntency): Update use of
        VectorDomain
        (testTranspose): Update use of VectorDomain

2002-05-31  Bradford Hovinen  <hovinen@cis.udel.edu>

        * macros/gmp-check.m4 (min_gmp_version): s/{gmp_prefix}/${gmp_prefix}/

2002-05-28  Bradford Hovinen  <hovinen@cis.udel.edu>

        * configure.in: AC_OUTPUT linbox-config

        * Makefile.am (bin_SCRIPTS): Add linbox-config

2002-05-28  Bradford Hovinen  <hovinen@cis.udel.edu>

        * linbox/blackbox/Makefile.am: Add sum.h

2002-05-25  Bradford Hovinen  <hovinen@cis.udel.edu>

        * linbox/blackbox/compose.h (Compose::Compose): Add call to
        VectorWrapper::ensureDim
        (class Compose): Make _z mutable

2002-05-25  Bradford Hovinen  <hovinen@cis.udel.edu>

        * tests/Makefile.am (TESTS): Reorder tests in approximate order of
        dependence
        (TESTS): Add test-sum

2002-05-19  Bradford Hovinen  <hovinen@cis.udel.edu>

        * linbox/blackbox/sparse0-aux.h (SparseMatrix0Aux::applyTranspose): Don't
        construct a new vector for y; just fill in existing values

        * linbox/blackbox/inverse.h (class Inverse): Add _transposeMinpoly for the minimal
        polynomial of the transpose of the matrix
        (Inverse::Inverse): Don't construct minimal polynomials; just
        clear them
        (Inverse::apply, Inverse::applyTranspose): Construct minimal
        polynomials if needed

        * linbox/blackbox/moore-penrose.h (MoorePenrose::MoorePenrose): Reverse order of
        arguments for call to Submatrix
        (MoorePenrose::MoorePenrose): Construct _B too

        * linbox/blackbox/compose.h (Compose::Compose): Don't set _z's size
        (Compose::apply, Compose::applyTranspose): use
        VectorWrapper::ensureDim rather than setting _z's size

        * linbox/blackbox/inverse.h (Inverse::apply, Inverse::applyTranspose): Don't
        resize the output vector
        (Inverse::Inverse): Check that the input matrix is square
        (Inverse::Inverse): Use VectorWrapper::ensureDim rather than
        _z.resize

        * linbox/blackbox/Makefile.am (include_HEADERS): Added moore-penrose.h

2002-05-19  Bradford Hovinen  <hovinen@cis.udel.edu>

        * linbox/field/modular.h (class FieldAXPY): Update get () form; remove obsolete
        forms

        * linbox/field/vector-domain.C (VectorDomain::dotprod): Fix use of FieldAXPY::get

        * linbox/solutions/trace.h (trace): Use constRef

        * linbox/util/field-axpy.h (class FieldAXPY): Remove obsolete get form

        * linbox/util/vector-factory.h (class VectorFactory): Add interface n(), which
        returns the dimension of the space from which vectors are being
        generated

        * linbox/vector/vector-traits.h (class VectorWrapper): Add method ensureDim
        (namespace VectorWrapper): Convert this to a namespace and use
        function specialization

        * tests/test-moore-penrose.C (main): Switch to field GF(2147483647) by
        default

        * tests/test-generic.h (testTranspose): Rename from testTranpose
        (testTranspose): Use commentator.startIteration

        * tests/test-moore-penrose.C (testIdentityApply): Ensure w has space for
        result
        (buildRandomSparseMatrix): Implement
        (testRandomApply1): New test

        * tests/test-trace.C (testDiagonalTrace): Use constRef

2002-05-18  Bradford Hovinen  <hovinen@cis.udel.edu>

        * configure.in: Make disabling shared libraries the default

2002-05-18  Bradford Hovinen  <hovinen@cis.udel.edu>

        * linbox/util/vector-factory.h: Refactor: Create one class
        StandardBasisFactory, parameterized by vector type, with
        specializations for dense, sparse map, and sparse associative
        vectors

        * linbox/util/commentator.C (Commentator::setMaxDepth,
        Commentator::setMaxDetailLevel): Implement

        * linbox/vector/vector-traits.h (class VectorWrapper): Implement

2002-05-17  Bradford Hovinen  <hovinen@cis.udel.edu>

        * examples/.cvsignore: Update

2002-05-17  Bradford Hovinen  <hovinen@cis.udel.edu>

        * linbox/blackbox/submatrix.h (class Submatrix): Add Trait to template parameters
        and specialize for dense vectors
        (Submatrix::Submatrix): Check that the row and column dimensions
        given are valid

        * linbox/blackbox/sparse0-aux.h: Backed out revision 1.6
        (SparseMatrix0Aux::apply): Restore use of _VD.dotprod

        * linbox/field/vector-domain.h (LinBox): Added specialization for
        SparseSequence, SparseSequence type

        * linbox/field/vector-domain.C: Update as per changes in vector-domain.h
        (VectorDomainBase::mul, VectorDomainBase::mulin): Don't resize and
        don't invalidate iterators

        * linbox/field/vector-domain.h (class VectorDomainBase): New class. Pull out
        all functions from VectorDomain that only need one vector type.

        * linbox/util/vector-factory.h (RandomDenseVectorFactory::next): Resize input
        vector

        * linbox/util/debug.h (PreconditionFailed::PreconditionFailed): Put out a
        couple of newlines before printing the error message

        * linbox/util/vector-factory.h (class VectorFactory): Add method reset ()

        * linbox/util/commentator.C (Commentator::startIteration): Implement
        Include strstream and not cstdio

        * linbox/util/commentator.h (class Commentator): Add startIteration

        * macros/ntl-check.m4 (EX_FIELDS_NTL): Define

        * tests/Makefile.am (test_moore_penrose_SOURCES): New test

        * tests/test-submatrix.C: Don't include fstream or cstdio
        (testRandomApply): Use commentator.startIteration rather than
        forming a new string and calling start
        (testRandomApply): Put the declaration for report inside the loop
        and remove the call to indent
        (testRandomApply): Update report output
        (main): Don't construct factory2

        * tests/.cvsignore: Update

2002-05-14  William J. Turner <wjturner@acm.org>

        * linbox/field/archetype.h, envelope.h: changed randIter to RandIter.

2002-05-14  William J. Turner <wjturner@acm.org>

        * linbox/randiter/modular.h: Seeded random number generator in constructor.  _seed was
        never used before.

2002-05-07  William J. Turner <wjturner@acm.org>

        * linbox/field/ntl-zz_p.h, ntl-ZZ_p.h: modified random generator constructor and
        creating functions to use NTL functions.

2002-05-07  William J. Turner <wjturner@acm.org>

        * linbox/randiter/unparametric.h: static cast added to constructor

2002-04-26  Pascal Giorgi  <pascal.giorgi@ens-lyon.fr>

        * configure.in, acconfig.h: updating to allow Lidia Library

2002-04-26  Pascal Giorgi   <pascal.giorgi@ens-lyon.fr>

        * linbox/field/lidia-gfq.h, lidia.h: adding wrapper of extensions fields for Lidia

        * linbox/field/givaro-gfq.h, givaro-zpz.h: To use these wrappers you need 
        to get a modified version of givaro. You can find these version
        at this address : http://www.ens-lyon.fr/~pgiorgi/software.html
        version 3.0.1.

        * linbox/field/givaro-gfq.h: adding wrapper of extensions fields for Givaro

        * linbox/field/givaro.h: adding givaro-gfq.h

        * linbox/field/Makefile.am: adding givaro-gfq.h

        * linbox/randiter/lidia-gfq.h: adding randiter for lidia gfq field

        * linbox/randiter/lidia.h: file for all randiter of lidia library

        * linbox/randiter/Makefile.am: adding the header of Lidia and an EXTRA_DIST variable

        * macros/givaro-check.m4: adding headers of givaro fields wrappers 
        and the test test-givaro-zpz.h

        * macros/lidia-check.m4: creating for the library LiDIA

        * macros/Makefile.am: adding lidia-check.m4 to the EXTRA_DIST

        * tests/test-givaro-zpz.C: test for prime finites fields of givaro 
        using all type of zpz fields of givaro and an extension field of
        degree 1 for gfq.

        * tests/test-lidia-gfq.C: test for Lidia Gfq field.
        But the Gfq field is tested as a prime field (the extension degree 
        is 1)

        * tests/test-generic.h: Put in comment the line 56 which is inconsistant.
        Also make the test for the init/convert function generic for every
        fields (finite and inifinite fields).

2002-04-25  Zhendong Wan <wan@mail.eecis.udel.edu>

        * tests/test-dense-vector-domain.C: test for dense vector domain.

2002-04-24  Pascal Giorgi  <pascal.giorgi@ens-lyon.fr>

        * linbox/givaro.h: include file for all Givaro wrappers

        * linbox/lidia.h: include file for all Lidia wrappers

        * linbox/Makefile.am: adding file givaro.h and lidia.h and adding 
        all Lidia header base

2002-04-24  Pascal Giorgi   <pascal.giorgi@ens-lyon.fr>

        * linbox/field/givaro-zpz.h, givaro.h: Adding wrappers of primes fields for 
        givaro and his file givaro.h associated.
        NB: this wrappers is template class which wrapps three sorts of
        givaro fields. For more information see the file itself.

        * linbox/field/Makefile.am: adding givaro fields wrapper

2002-04-18  William J. Turner  <wjturner@acm.org>

        * linbox/vector/subvector.h, subiterator.h: New wrappers for subvector of dense
        vector.

2002-04-18  William J. Turner <wjturner@acm.org>

        * tests/test-subvector.cpp: New partial test program for subvector wrapper
        class.  This needs a lot of work, and is not in the makefile yet.

2002-04-17  Dave Saunders  <saunders@cis.udel.edu>

        * tweak identity case to copy

2002-04-13  Bradford Hovinen  <hovinen@cis.udel.edu>

        * linbox/field/modular.h (FieldAXPY<Modular<short|long> >): Add form of get
        where the element in which to store result is also passed

2002-04-13  Bradford Hovinen  <hovinen@cis.udel.edu>

        * linbox/util/Makefile.am (include_HEADERS): Added vector-factory.h

        * linbox/util/field-axpy.h (class FieldAXPY): Add form of get where the place
        in which to store the result is passed

        * tests/test-vector-domain.C (testDenseDotProduct): Convert this to use
        VectorFactories

2002-04-12  Bradford Hovinen  <hovinen@cis.udel.edu>

        * s/element/Element/ everywhere except in comments (I hope!)

        * Add a file dummy.C to fool libtool into actually building
        liblinbox.la

        * Move debug.[Ch] and error.[Ch] to linbox/util

2002-04-12  William J. Turner  <wjturner@acm.org>

        * linbox/blackbox/sparse0-aux.h: Made dense vector apply not invalidate iterators

2002-04-12  Bradford Hovinen  <hovinen@cis.udel.edu>

        * linbox/util/commentator.h (class Commentator): Added compatibility layer for
        Jean-Guillaume's code
        (class Commentator): Move cnull above protected section to fix
        crashes on DISABLE_COMMENTATOR

        * linbox/util/commentator.h: Added null commentator

        * linbox/util/Makefile.am (include_HEADERS): Put debug.h, error.h here
        (libutil_la_SOURCES): Put error.C, debug.C here

        * macros/givaro-check.m4: Fix definition of GIVARO_HEADERS_*, GIVARO_TESTS

        * tests/test-unparametric-field.C: Rename from test-unparametric-field.cpp

2002-04-11  Bradford Hovinen  <hovinen@cis.udel.edu>

        * Makefile.am: Remove EXTRA_DIST, since both of these files are
        for CVS developers only

2002-04-11  Bradford Hovinen  <hovinen@cis.udel.edu>

        * linbox/field/modular.h (FieldAXPY<Modular<short|long> >::accumulate): Use -t
        for overflow check
        (FieldAXPY<Modular<short|long> >::accumulate): Cast to unsigned
        when modding out to avoid sign flip problem
        (FieldAXPY<Modular<short|long> >::get): Cast to unsigned when
        modding out

        * tests/test-modular.C (main): Call testFieldAXPY

        * tests/test-generic.h (testField): Make title const
        (testFieldAXPY): Add this test

        * tests/test-diagonal.C (testRandomTranspose): Report diagonal vector
        used as input

        * tests/test-scalar-matrix.C: #include "modular.h"
        (main): Use integers mod 2147483647; update to use Modular interface

        * tests/.cvsignore: Add test-submatrix

        * tests/test-submatrix.C (main): Fix banner string

        * tests/test-diagonal.C (main): Enable printing of detailed messages

        * tests/test-unparametric-field.cpp (main): 

        * tests/test-modular.C (main): 

        * tests/test-inverse.C (main): 

        * tests/test-minpoly.C (main): 

        * tests/test-diagonal.C (main): 

        * tests/test-rank.C (main): Use GF(2147483647) by default; fix relevant
        documentation

        * tests/test-sparse0.C (main): Fix documentation string for default modulus

2002-04-10  Bradford Hovinen  <hovinen@cis.udel.edu>

        * examples/example.C: Update with new Modular signature

2002-04-10  Dave Saunders <saunders@udel.edu>

        * linbox/blackbox/scalar-matrix.h: New (simple) black box - sparse vector part not
        checked.

2002-04-10  Bradford Hovinen  <hovinen@cis.udel.edu>

        * macros/ntl-check.m4: Set NTL_TESTS, NTL_HEADERS_* to empty strings by
        default and to real data if NTL was found. Call AC_SUBST in all
        cases
        Fix check for whether NTL prefix was set

        * tests/.cvsignore: Add test-unparametric-field;
        s/test-sparse-matrix/test-sparse0/

2002-04-10  Dave Saunders <saunders@udel.edu>

        * tests/test-scalar-matrix.C: New test for new blackbox.

2002-04-08  Bradford Hovinen  <hovinen@cis.udel.edu>

        * linbox/util/commentator.h (class Commentator): Use std:: namespace for
        ofstream
        (class Commentator): Add std:: specifiers for nullstreambuf
        declarations and cnull

2002-04-08  Pascal Giorgi <pascal.giorgi@ens-lyon.fr>

        * macros/gmp-check.m4: Keep the current LD_LIBRARY_PATH

        * tests/test-generic.h: WARNING: The test of a field is not generic. The test
        of init and convert functions use a fixed number 49193295. So the test 
        failed if the characteristic is less than this number.          

2002-04-05  William J. Turner <wjturner@acm.org>

        * linbox/Makefile.am: Install NTL and Givaro wrapper headers only if
        libraries are installed.

2002-04-05  William J. Turner  <wjturner@acm.org>

        * linbox/blackbox/Makefile.am: Only install NTL and Givaro wrapper header files
        if libraries are installed.

        * linbox/blackbox/sparse0-aux.h: Fixed apply and applyTranspose for sparse vectors.

        * macros/ntl-check.m4, givaro-check.m4: Only run tests of NTL and Givaro
        wrappers, and install header files, if libraries are installed.

        * tests/test-common.h: Fix printVector to print correct number of zeros
        for sparse sequence vectors.  Made functions for testing equality of
        two vectors of the same type and to test if a vector is the zero
        vector.  These may need some work still.

        * tests/Makefile.am: Only run tests of NTL and Givaro wrappers if libraries
        are installed.

        * tests/test-sparse0.C: Attempted to convert test functions to be generic
        for the Row and Vector types.  These still need more work to be
        complete.  In particular, there still needs to be a function to 
        create a vector with no zero elements.

2002-04-04  William J. Turner <wjturner@acm.org>

        * configure.in: removed requirement of givaro

2002-04-04  William J. Turner <wjturner@acm.org>

        * linbox/ntl.h: include file for all NTL wrappers.

        * linbox/blackbox/archetype.h: Added virtual destructor to avoid warning.
        Removed resize() from apply and applyTranspose.

        * linbox/blackbox/sparse0-base.h: Fixed comparison between signed and unsigned
        integers, accessor function to field.

        * linbox/blackbox/sparse0-aux.h: Fixed constructor from SparseMatrix0Base.

2002-04-04  William J. Turner  <wjturner@math.ncsu.edu>

        * linbox/field/Makefile.am: Install NTL and Givaro wrapper header files only
        if libraries are installed.

        * linbox/field/ntl.h, ntl-RR.h, ntl-ZZ_p.h, ntl-zz_p.h: Broke NTL field wrappers
        into separate files.

2002-04-04  Pascal Giorgi <pascal.giorgi@ens-lyon.fr>

        * macros/ntl-check.m4, givaro-check.m4: Use GMP_CFLAGS and GMP_LIBS and
        appending to LD_LIBRARY_PATH, and removed UNSET LD_LIBRARY_PATH at
        end of file

        * macros/gmp-check.m4: removed UNSET LD_LIBRARY_PATH at end of file

2002-04-04  William J. Turner <wjturner@acm.org>

        * macros/ntl-check.m4: Use GMP_CFLAGS and GMP_LIBS

        * tests/test-ntl-zz_p.cpp, test-ntl-ZZ_p.cpp, test-ntl-RR.cpp: New tests

        * tests/test-common.h, test-vector-domain.C: generalized printVector to all
        vector types.  Created areVectorsEqual function.  Both need to be
        generalized to sparse associative vectors.

2002-04-03  William J. Turner <wjturner@acm.org>

        * examples/example.C: changed sparse-matrix to sparse0

2002-04-03  William J. Turner  <wjturner@acm.org>

        * linbox/blackbox/sparse1.h: Original port; needs work!

        * linbox/blackbox/sparse0*.h: Renamed from sparse-matrix*.h.

2002-04-03  Bradford Hovinen  <hovinen@cis.udel.edu>

        * linbox/field/modular.h (class Modular): Rename from LargeModular, make this a
        class parameterized on the element type

2002-04-03  William J. Turner  <wjturner@math.ncsu.edu>

        * linbox/field/ntl.h: Fixed random iterator random(x) for zz_p

2002-04-03  Bradford Hovinen  <hovinen@cis.udel.edu>

        * linbox/randiter/modular.h (class Modular): Rename from LargeModular; make this a
        class parameterized on the element type

2002-04-03  William J. Turner  <wjturner@acm.org>

        * linbox/randiter/unparametric.h: Ported UnparametricRandIter<K> from old module

        * macros/givaro-check.m4: Copy from gmp-check.m4 and fix for Givaro

        * macros/ntl-check.m4: Change to version >= 5.0 and C++ namespace

        * tests/test-unparametric-field.cpp: New test

        * tests/test-minpoly.C: Changed sparse-matrix to sparse0

        * tests/test-sparse0.C: Changed sparse-matrix to sparse0

2002-04-02  Bradford Hovinen  <hovinen@cis.udel.edu>

        * s/*_{abstract|archetype|envelope}/Abstract|Archetype|Envelope/g

2002-04-02  Bradford Hovinen  <hovinen@cis.udel.edu>

        * linbox/blackbox/dense-matrix.h (DenseMatrix::apply): Signedness fix

        * linbox/blackbox/submatrix.h (class Submatrix): Don't parameterize on the field;
        add rowdim, coldim
        (Submatrix::Submatrix): Pass rowdim, coldim; initialize vectors
        directly

        * linbox/field/Makefile.am (include_HEADERS): Add ntl.h

        * linbox/field/vector-domain.C (VectorDomain::axpy): Remove unused iterator k

        * linbox/util/commentator.C (Commentator::printActivityReport,
        Commentator::indent)
        (Commentator::updateActivityReport,
        Commentator::finishActivityReport): Make i unsigned
        (MessageClass::checkConfig): Signedness fix

        * linbox/util/integer/integer-io.C: Return v

        * tests/test-dense-matrix.C (test*): s/size_t/long/ for parameter n

        * tests/Makefile.am (TESTS): Add test test-submatrix

        * tests/test-common.h (printSparseSeqVector, printVector): Signedness
        fix

        * tests/test-vector-domain.C (test*): s/size_t/long/ for parameter n

        * tests/.cvsignore: Added test-det, test-rank

2002-04-01  Bradford Hovinen  <hovinen@cis.udel.edu>

        * Makefile.am (SUBDIRS): Build documentation last

2002-04-01  Bradford Hovinen  <hovinen@cis.udel.edu>

        * linbox/blackbox/transpose.h (Transpose::Transpose): Make A_ptr const
        (Transpose::Transpose): Use Transpose<Vector>, not Compose<Vector>
        for copy constructor

        * linbox/blackbox/compose.h (Compose::apply, Compose::applyTranspose): Declare
        local intermediate vector, since it was not compiling (for what
        reason I do not know) with the class member

        * linbox/solutions/rank.h: #include blackbox-container.h
        (rank): Compilation fixes

        * linbox/solutions/det.h: #include blackbox-container.h

        * tests/test-det.C (test*): Supply iterations to commentator.start

        * tests/Makefile.am (TESTS): Add test test-rank

2002-03-30  Bradford Hovinen  <hovinen@cis.udel.edu>

        * linbox/blackbox/compose.h (Compose::Compose): Use const pointers for inputs
        (Compose::Compose): Initialize _z directly

2002-03-30  Bradford Hovinen  <hovinen@cis.udel.edu>

        * linbox/solutions/det.h (det): Compilation fixes

2002-03-29  Bradford Hovinen  <hovinen@cis.udel.edu>

        * tests/test-generic.h (testDenseConsisntency): New test

2002-03-28  Bradford Hovinen  <hovinen@cis.udel.edu>

        * Makefile.am (EXTRA_DIST): Typo fix

2002-03-28  Bradford Hovinen  <hovinen@cis.udel.edu>

        * linbox/blackbox/dense-matrix.h (DenseMatrix::clone): Implement nontrivially
        (DenseMatrix::DenseMatrix): Implement copy constructor

        * linbox/util/commentator.C (Commentator::Commentator): Set default max depth
        for errors and warnings to 10; set max detail to 3
        (Commentator::registerMessageClass): Accept parameters max_depth
        and max_level for initial configuration of message class

        * tests/test-inverse.C (main): Set maximum depth on internal
        descriptions to 3
        (testDiagonalInverse): Add this test
        (main): Disable Hilbert inverse test pending test of Hilbert black
        box

        * tests/Makefile.am (test_large_modular_SOURCES): 
        s/test-field-common/test-generic/

        * tests/test-large-modular.C: Update

        * tests/test-field-common.h: Obsolete now; remove

        * tests/test-field-common.h (testField): Move to test-generic.h

        * tests/test-common.[Ch] (test_header, test_trailer): Remove

        * tests/test-field-common.h (isPower): Move to test-common.c/.h

2002-03-27  Bradford Hovinen  <hovinen@cis.udel.edu>

        * linbox/util/commentator.h (Commentator::Activity::Activity): Initialize
        _progress to 0

        * linbox/util/commentator.C (Commentator::Commentator): Initialize cnull
        (Commentator::Commentator): Kill customization of BRIEF_REPORT
        (MessageClass::dumpConfig): Implement. Dumps the state of this
        MessageClass
        (Commentator::updateActivityReport): #if out estimated time

        * linbox/util/commentator.h (class Commentator): Make cnull no longer static

        * linbox/util/commentator.C (MessageClass::MessageClass): Accept max_depth and
        max_level parameters
        (Commentator::progress): Remove redundant isPrinted check
        (MessageClass::checkConfig): Return false if we get all the way
        through the loop

2002-03-27  Bradford Hovinen  <hovinen@cis.udel.edu>

        * tests/test-inverse.C (test*): Use commentator, kill report parameter

        * tests/test-generic.h (testTranpose): Use commentator, kill report
        parameter

        * tests/test-diagonal.C (test*): Use commentator, kill report parameter

        * tests/test-minpoly.C (test*): Use commentator, kill report parameter

        * tests/test-large-modular.C (main): Kill report

        * tests/test-sparse-matrix.C (test*): Use commentator, kill report
        parameter

        * tests/test-dense-matrix.C (testVandermonde, testIdentity): Use
        commentator, kill report parameter

2002-03-26  Bradford Hovinen  <hovinen@cis.udel.edu>

        * configure.in: Add default CXXFLAGS

2002-03-26  Bradford Hovinen  <hovinen@cis.udel.edu>

        * linbox/util/commentator.[Ch]: Complete rewrite

        * tests/test-*.C (main): Fix argument list

        * tests/test-large-modular.C (main): Update; add Dave Saunders to
        credits

        * tests/test-field-common.h (test_field): Rename to testField
        (testField): Remove report parameter; rename iters as iterations
        (testField): Fix indentation
        (testField): Use commentator

2002-03-24  Bradford Hovinen  <hovinen@cis.udel.edu>

        * linbox/algorithms/massey-domain.h (class MasseyDomain): Remove commentator; use
        global commentator instead. Update

2002-03-24  Bradford Hovinen  <hovinen@cis.udel.edu>

        * tests/test-common.C (parseArguments): Remove report argument
        (parseArguments): Use commentator to set default report file

        * tests/test-vector-domain.C (testDenseDotProduct): Use commentator

2002-03-19  Bradford Hovinen  <hovinen@cis.udel.edu>

        * linbox/blackbox/dense-matrix.h (class DenseMatrix): Use VectorDomain rather than
        MatrixDomain; typedef Vector and use it throughout
        (DenseMatrix::setEntry): Implement
        (DenseMatrix::rowdim, DenseMatrix::coldim): Fix signatures
        (DenseMatrix::clone): Define this; implementation deferred
        (DenseMatrix::DenseMatrix): Accept field and build VectorDomain
        object

2002-03-19  Bradford Hovinen  <hovinen@cis.udel.edu>

        * tests/test-field-common.h: Prevent multiple inclusion

        * tests/Makefile.am (TESTS): Beatify listing; put test-large-modular at
        top

2002-03-18  Bradford Hovinen  <hovinen@cis.udel.edu>

        * tests/test-diagonal.C (testRandomTranspose): Add this test

        * tests/test-common.h (applyPoly, multiEvalPoly): Return resulting vector
        (interpolatePoly): Implement

        * tests/Makefile.am (TESTS): Add test-dense-matrix

2002-03-15  Bradford Hovinen  <hovinen@cis.udel.edu>

        * tests/test-inverse.C (testVandermondeInverse): New test; construct the
        inverse of a Vandermonde matrix and check that it behaves correctly

        * tests/test-common.h (applyPoly): Use VectorDomain; typedef Vector to
        reduce verbosity
        (multiEvalPoly): Implement

2002-03-12  Bradford Hovinen  <hovinen@cis.udel.edu>

        * CHANGED-INTERFACES: Updated text

        * TODO: Updates

2002-03-12  Bradford Hovinen  <hovinen@cis.udel.edu>

        * examples/example.C: Update to new interface

        * linbox/blackbox/sparse-matrix-aux.h (LinBox): Rename references to MatrixDomain
        to VectorDomain
        (apply): Use vector domain dotprod

        * linbox/blackbox/inverse.h (LinBox): Use matrix domain vector axpy
        (LinBox): Compute the negative of the inverse of the constant
        coefficient first, then multiply through by that
        (Inverse): Rename MatrixDomain _MD to VectorDomain _VD

        * linbox/field/large-modular.h (LinBox): Rename ParamModular to LargeModular

        * linbox/field/Makefile.am (include_HEADERS): Rename param-modular.h to
        large-modular.h

        * linbox/field/vector-domain.[Ch]: Rename references to MatrixDomain to
        VectorDomain

        * linbox/field/Makefile.am (include_HEADERS): Rename matrix-domain.* to
        vector-domain.*

        * linbox/field/matrix-domain.h (LinBox): Add scalar-vector multiplication

        * linbox/field/matrix-domain.C (LinBox): Use FieldAXPY for dot products
        (MatrixDomain::axpy): Remember to increment i in the last loop
        (LinBox): Use axpy and axpyin when possible
        (LinBox): Specialize everything using MatrixDomainType rather than
        MatrixDomainSimpleType

        * linbox/randiter/large-modular.h: Rename ParamModularRandIter to
        LargeModularRandIter

        * linbox/randiter/Makefile.am (include_HEADERS): Rename param-modular.h to
        large-modular.h

        * tests/test-*.C: Update

        * tests/.cvsignore: Update

        * tests/test-vector-domain.C: Rename references to MatrixDomain to
        VectorDomain

        * tests/Makefile.am (test_vector_domain_SOURCES): Rename
        test-matrix-domain to test-vector-domain

        * tests/test-matrix-domain.C (testSparseAXPY, testDenseAXPY): Add these
        tests

2002-03-11  Bradford Hovinen  <hovinen@cis.udel.edu>

        * linbox/field/matrix-domain.C (LinBox): Remove precondition checks for sparse
        axpy
        (LinBox): Check that i has not gone past the end of y in the loop

2002-03-06  Bradford Hovinen  <hovinen@cis.udel.edu>

        * linbox/field/matrix-domain.h (LinBox): Remove definitions that derive from
        the field class; they are not necessary right now

2002-02-28  Bradford Hovinen  <hovinen@cis.udel.edu>

        * TODO: Added notes here

2002-02-28  Bradford Hovinen  <hovinen@cis.udel.edu>

        * linbox/field/matrix-domain.h (LinBox): Remove extraneous template
        specialization

        * linbox/field/matrix-domain.C (LinBox): Use _F.init to initialize field
        elements

        * linbox/field/matrix-domain.h: #include vector-traits.h 

        * tests/test-common.h (printSparseSeqVector): Implement

        * tests/test-matrix-domain.C: Added this test

2002-02-27  Bradford Hovinen  <hovinen@cis.udel.edu>

        * doc/Makefile.am (SUBDIRS): Add $({DOCPLUSPLUS|TEX}_SUBDIRS)

2002-02-27  Bradford Hovinen  <hovinen@cis.udel.edu>

        * configure.in: Added doc/{html|tex}/Makefile; added call to check
        for Doc++; Add a check for latex and only build latex
        documentation if that is present
        (TEX_SUBDIRS): Make sure this gets included even if Doc++ isn't found

        * examples/example.C (main): Comment alignment fix

        * linbox/*/*.dxx: Update paths

        * Added missing *-wrappers.dxx

        * linbox/*/*.dxx: Update paths; add missing .dxx files

        * linbox/field/matrix-domain.h (LinBox): Add specialization for SparseSequence
        vectors

2002-02-20  Bradford Hovinen  <hovinen@cis.udel.edu>

        * tests/Makefile.am (noinst_PROGRAMS): Use $(TESTS)

2002-02-13  Bradford Hovinen  <hovinen@cis.udel.edu>

        * HACKING: Update information on directory structure

        * configure.in: Properly quote error message strings
        Use exit status 1 rather than -1 on error

        * HACKING: Added section with checklists for adding header files
        and tests to Linbox.

        * configure.in: Print error message if GMP was not found

        * HACKING: Update text
        (http): Added a section on having the right development tools and
        added some information on autogen.sh/configure options

        * CHANGED-INTERFACES: Update text

2002-02-09  Bradford Hovinen  <hovinen@cis.udel.edu>

        * COPYING: Copy over LGPL

2002-02-08  Bradford Hovinen  <hovinen@cis.udel.edu>

        * all: s/element_/Element_/g

2002-02-08  Saunders <saunders@udel.edu>

        * examples/Makefile.am: change load order

2002-02-08  Bradford Hovinen  <hovinen@cis.udel.edu>

        * linbox/blackbox/inverse.h: Update #include vector-traits.h
        (Inverse): Correctly instantiate minpoly
        Include minpoly.h
        (class Inverse): Make _z mutable

2002-02-08  Saunders <saunders@udel.edu>

        * macros/gmp-check.m4: set LD_LIBRARY_PATH

2002-02-08  Bradford Hovinen  <hovinen@cis.udel.edu>

        * macros/*-check.m4: Unset *_{CFLAGS|LIBS} if the library was not found
        Invoke found macro only if version check succeeded
        Invoke not found macro if version check failed

2002-02-08  Saunders <saunders@udel.edu>

        * tests/Makefile.am: change link order.

2002-02-08  Bradford Hovinen  <hovinen@cis.udel.edu>

        * tests/test-inverse.C (main): Use prevprime(2^32) for default modulus
        (main): Fix banner

        * tests/test-diagonal.C (main): Use prevprime(2^32) for default modulus

        * tests/test-sparse-matrix.C (main): Use 101 for default modulus

        * tests/test-minpoly.C (main): Use prevprime(2^32) for default modulus

        * tests/Makefile.am (TESTS): Added test test-inverse

2002-02-07  Bradford Hovinen  <hovinen@cis.udel.edu>

        * tests/test-sparse-matrix.C (main): Use GF(65521) by default

        * tests/test-minpoly.C (main): Use GF(65521) by default

        * tests/test-diagonal.C (main): Use GF(65521) by default

        * tests/Makefile.am (TESTS): Added test test-diagonal

        * tests/test-sparse-matrix.C: Don't #include minpoly.h

2002-02-04  Bradford Hovinen  <hovinen@cis.udel.edu>

        * configure.in (AC_OUTPUT): Add examples/data/Makefile

2002-02-04  Bradford Hovinen  <hovinen@cis.udel.edu>

        * configure.in (CFLAGS): Make sure all CFLAGS variables make it in
        to compilations
        (CXXFLAGS): s/CFLAGS/CXXFLAGS/

        * Makefile.am (SUBDIRS): Put examples last in the list

        * linbox/blackbox/sparse-matrix-aux.h (apply): Initialize *y_iter to 0 before
        looping

        * macros/ntl-check.m4: Correct check in error message

        * macros/*.m4: Remove setting LD_LIBRARY_PATH, etc.

        * tests/test-sparse-matrix.C (testNilpotentApply): Reset even with every
        iteration

        * tests/test-minpoly.C (testNilpotentMinpoly): Fix test of correctness

        * tests/test-common.h (printPolynomial): Write 0 for the zero polynomial
        (printPolynomial): Make sure 1 polynomial gets printed correctly

        * tests/test-minpoly.C (testIdentityMinpoly): Swap coefficients in the
        test

        * tests/test-minpoly.C (main): Update banner

        * tests/test-common.h (applyPoly): Implement; copy from
        linbox/blackbox/inverse.h

        * tests/test-sparse-matrix.C: Move minpoly tests to test-minpoly

        * tests/Makefile.am (TESTS): Add test test-minpoly

2002-02-03  Bradford Hovinen  <hovinen@cis.udel.edu>

        * */*.{C|h|inl}: Change Element to element, Integer to integer

        * */*.{C|h|inl}: Updated header comments to reflect correct
        filename locations

        * */.cvsignore: Added/updated .cvsignore files

        * configure.in: Add AC_PROG_CC, AC_PROG_RANLIB for building static
        libraries
        Add AM_PROG_LIBTOOL

        * */Makefile.am: Added infrastructure for building static library
        liblinbox.a so that we can avoid symbol collisions

2001-12-31  Bradford Hovinen  <hovinen@cis.udel.edu>

        * HACKING: Added documentation on coding style, fleshed out
        algorithms a bit

Generated by dwww version 1.15 on Thu May 23 22:34:26 CEST 2024.