LinearAlgebra Package -- Problem Tracking

==================================================================

LinearAlgebra 004:	EIgen misbehaves on NaNs

Initial Report					1/9/03
------------------
	Version 2.1.1

Herb Greenlee points out:
   In MatrixD::eigen, if you try to diagonalize a matrix containing nan's,
   the routine can get stuck in an infinite loop.  Naturally, this is
   assuming that trapping of floating point exceptions is not enabled.

 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
Technical Points
-----------------

While the routine should fail, it should not loop forever.  This is important
in large runs, where some events may be completely crazy, but you want to
discard them and move on.

The issue of what should be done could use some thoght, but for now, we
choose Herb's suggested behavior of returning a matrix of all NaNs.

Probably the "right" thing to do is to ZMthrow, but till we know this won't
harm user code we will wait.
 
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
Repair Plans 
-----------------

Done concurrently with cleanup of builds.

 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Status of repair				
----------------

 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Problem Rectified                               3/20/03
-----------------
        version 2.2

 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

==================================================================

LinearAlgebra 003:	tbin Compilation problems

Initial Report					1/04/03
------------------
	Version 2.1.1

linking of tbins (and sometimes compilation!) fails or yields excessive warnings
on many of the platforms for which ZOOM builds test releases.

 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
Technical Points
-----------------

This is both a matter of cleaning things up, and of determining which libraries
are superfluous for which tbin exceutables.

Because of the great quantitiy of tests, it turns out to be necessary (on IRIX)
to break the tests in to a few directories.  We have tests, moreTests, and
non-LA-tests which don't link in the package library(!)  (The latter do timing
and correctness tests on competing packages.)

 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
Repair Plans 
-----------------

Part of the big ZOOM cleanup -- phase 1 leading to the April build.

 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Status of repair				3/20/03
----------------

Done.

The package is now compiling and linking, including tbins, with no warnings.

 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Problem Rectified                               3/20/03
-----------------
        version 2.2

 
==================================================================

LinearAlgebra 002:	Comp[ilation problems in gcc 3.0

Initial Report					4/02
------------------
	Version 2.0.1

gcc 3.0.1 compilation fails (for example, MLC66 takes forever) and 
those classes which do compile generate many warnings.

 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
Technical Points
-----------------

MLC66 is taking forever in the 1000-line determinant routine.  There is
also a long block in the routine taking the product of two MLC66's.

 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
Repair Plans 
-----------------

WB is fixing a BUNCH of tough esoteric compiler-exposed issues.

MLC66.cc will be fixed by using the base class MLC determinant, which may
be faster anyway!  

The remaining compilation warning stuff is just a matter of pretend_to_use
and making certain counters unsigned to match a size_t sort of variable.
This will proceed in tandem with the resolution of Bug 001 and Enhancement
001 -- the implementation of sensible ZMthrows where applicable.

 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Status of repair				5/24/02
----------------

The package is now compiling (with some warnings).

Tests for correctness of the new MLC66 have been done.

Tests comparing speedsstill are desired - a summer student will be assigned.

Status of repair				7/22/02
----------------

The package is now compiling and all warnings are fixed.

THe compilation speed problem for gcc 3 has been successfully addressed.

Tests for correctness of all change code have been done.

Tests comparing speedsstill are desired - a summer student will be assigned.

 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Problem Rectified                               7/24/02
-----------------
        version 2.1

 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

==================================================================

LinearAlgebra 001:	Not using ZMexception mechanism 

Initial Report					10/19/01
------------------
	Version 2.0

A known structural defect is that errors are reported via messages to cerr.
It would be better (though a major change) to use the Exceptions package.

 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
Technical Points
-----------------

Since most errors are issued via a centralized mechanism, doing this change at
a superficial level would not be too hard.

 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
Repair Plans 
-----------------

as of 10/01:

There is no urgency in this, and the size of the change implis some degree of 
risk.  At this time, the change is not scheduled.

 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
Problem Rectified				7/24/02
-----------------
	version 2.1

as of 7/02:

JBK pointed out that the use of exit() is an abomination in this sort of
library code.  Enhancement 001 addresses this issue completely, resolving
this problem.
==================================================================


Template for each bug:

==================================================================
BugNumber:  BugName				

Initial Bug Report				<date>
------------------
	Version x.y
	*
	*
	*
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
Bug Reproduced					<date>
--------------
	circumstances
	*
	*
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
Repair Plans 
------------
	*
	* (or technical problems)
	*
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
Status of repair
----------------
	*
	*
	*
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
Status of repair
----------------
	*
	* (in long-running problems might need more than one)
	*
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
Problem Rectified				<date>
-----------------
	version x.z
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
	<if needed, include:>
Ongoing Caveats
---------------
	*
	*
	*

==================================================================