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

