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 ------------------ Version x.y * * * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Bug Reproduced -------------- circumstances * * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Repair Plans ------------ * * (or technical problems) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Status of repair ---------------- * * * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Status of repair ---------------- * * (in long-running problems might need more than one) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Problem Rectified ----------------- version x.z - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Ongoing Caveats --------------- * * * ==================================================================