###############################################################################
#                                                                             #
# Trilinos Release 6.0 Changelog                                              #
#                                                                             #
###############################################################################

Release Update 6.0.20 August 16, 2006
Note: Release Update 6.0.20 includes changes made since Release Update 6.0.19.
Jonathan Hu requested this release update. 

Change number.  Package(s) affected - CVS log message

1. ML - Fixing a bug when ML_TIMING_DETAILED is defined.

2. ML - Fixing a bug when ML is compiled with detailed timing information.

3. ML - Fixing bad reference to ML_comminfoop pointer that is breaking 
nightly tests.

------------------------------------------------------------------------------
Release Update 6.0.19 August 2, 2006 (date corrected)
Notes: Release Update 6.0.19 includes changes made since release update 6.0.18.

Change number.  Package(s) affected - CVS log message

1. Framework level - Fixed the way runtests parses arguments. This had been 
fixed in the development branch, but not in the release branch. This causes it 
to choke when the full path to a program (such as mpirun) is given with the 
fully-qualified path. See bug 2293.

2. EpetraExt - Modified to handle rectangular matrices, as well as square. 
Xyce benchmarks passed on 6/27/06. Pushing this out to the release branch as 
ML functions that transform Epetra operators to ML operators must have this.

3. Amesos - Bug 2317.

Added epetraext to the list of possible replacements as suggested by Ross.
This should fix an incorrect path that Jonathan was seeing in an Amesos
Makefile.export file.

4. EpetraExt - Fixing a bug in the parallel printing of Epetra matrices whose
indexing starts at 1. This change has already been made in the developer trunk.

5. AztecOO - Added the new AZ_CLEAR_ALL action to AZ_manage_memory that has
already been added to the development branch.

6. EpetraExt - Fixes bug 2344.

Improved on Jonathan Hu's changes to support non-zero index bases. Added
tests to the test directory. All tests run and pass.

7. AztecOO - Added changes that were complained about by the C++ compiler. 
All tests run and pass.

8. Triutils - Added option to the CrsProblem generator to generate maps with 
non-zero bases. All tests run and pass.

9. Ifpack - Fixes bug 2346. Added a parameter list check for DropTolerance to 
Ifpack_ILUT. Without this, there was no way for the user to change the
default value. Also added information about the drop tolerance to the
Label for both ILUT and ICT.

Confirmed changes work properly. Ran all tests and they pass.

10. Framework level - Updating input files for Doxygen 1.4.2.

11. Epetra - Add a memory-leak fix that was already added to the development 
branch.

12. ML - Fixing a bug reported by Joseph Young. The Hiptmair damping 
parameter was being incorrectly overwritten.

13. ML - This is a further patch to a bug reported by Joseph Young (1431). If
the user did not explicitly set the damping factor for the Hiptmair 
subsmoother, it was set to 1.0. The correct behaviour is for the damping 
factor to calculated automatically in parallel.

14. ML - Migrating code fixes for bug #1637 into the release branch. This 
includes proper boundary conditions for Epetra grad matrix as well as 
EpetraExt column map fix.

15. ML - Removing configure check for namespace collisions between SuperLU 
1.0/2.0 and SuperLU 3.0. This is for ALEGRA.

16. Didasko - Fixing a problem in didasko's Makefile.export.in file. Didasko 
isn't using other package's export files, which it probably should. When I 
started using a new include path for epetraext in ml, didasko broke because 
it didn't know about the change. This should be fixed properly in the 
developer trunk.

17. ML - Fixing bug #2408. Freeing array encoded_dir_edge in the case 
of the hierarchy construction bailing early.

------------------------------------------------------------------------------
Release Update 6.0.18 June 4, 2006
Notes: Release Update 6.0.18 includes changes made since release update 6.0.17.
Jonathan Hu requested the release update to provide an extended capability to
Alegra.

Change number.  Package(s) affected - CVS log message

1. Framework level - Adding sample scripts for Opteron-based systems using
PGI compilers.

2. ML - Fixing a Latex problem that was already fixed in the developer's trunk.

3. Epetra - Epetra_SerialDenseMatrix Apply() method used to always return error
code -2; now it applies the matrix operator as expected.

Epetra_SerialDenseSolver EstimateSolutionErrors() method used to have
no effect; now it has the same functional effect as the
SolveToRefinedSolution() method, which automatically forces the
computation of solution error estimates.

Epetra_SerialDenseSolver now inherits from Epetra_Object. The only
known functionality this adds is that the python wrapper for the
Print() method now works as expected.

4. Epetra - Bug 2020.
Made some documentation changes that were suggested by Ken Stanley.

5. Epetra - Bug 2064.
Applying the patch suggested by Marzio to fix a few memory leaks to the
6.0 release branch. The patch was previously applied to the development
branch.

6. Epetra - bug 1729.
Applying the changed warning code modification to the 6.0 release branch.

7. Epetra - Bug 1729.
Applying the modified warning code for the InsertIndices method to the
release 6.0 branch.

8. EpetraExt - Bug 1729.
Changing the return code for the warning associated with bug 1729 caused
failures in EpetraExt because of an assert statement that was
written when the return code should be 1 or 0 (now it is also OK if it is
3) and an if statement that checked if the return code was greater than 1;
now we will check if the return code is exactly 2.

9. EpetraExt - Bug 1729.
More instances where the return code was asserted to be 0 or 1, but now
it can be 3 also. The associated test did not fail on my local machine
and failed only in serial on a subset of the test harness platforms.

10. ML - [Extending a feature that may be useful to various upcoming scalability runs.]

Extending operator profiling to all AMG setup methods, not just Maxwell.
The user can specify x number of matvecs to perform. Detailed information
about communication and computation is printed to screen during AMG setup for
all operators in the hierarchy. Note: ML must be compiled with -DML_TIMING
defined.

Usage:
ML_Operator_Profile_SetIterations(100); //old-style
ML_List.Set("profile: operator iterations", 100); //ml_MultiLevelPrecond.

Setting iterations to zero causes nothing to print to screen.

-----------------------------------------------------------------------------
Release Update 6.0.17 April 19, 2006
Notes: Release Update 6.0.17 includes changes made since release update 6.0.16.

Change number.  Package(s) affected - CVS log message

1. ML - changed usage of symm GS as coarse solver from ML_BOTH to 
ML_POSTSMOOTHER

2. ML - Added a teuchos parameter list interface to the nonlinear ML method, 
added documentation

3. ML - changed input of example to teuchos parameter list

4. Framework Level - Modified the reddish test harness script to make it 
easier for the test harness to parse it.

5. ML - removed some warnings on sun

6. Epetra - Patch suggested by Mike Heroux to fix Bug #2034

7. ML - making example identical to developer version

8. ML - minor

9. ML - Fixing a configure bug when epetra is not enabled.

10. ML - Bootstrapping

11. NOX - Changed the default maximum parameter contribution for arclength 
continuation from 0.0 to 0.8. The change was recently made in the development 
branch, and this commit puts the same change in the release 6.0 branch.

12. ML - Fixing a configure bug. The problem reported in bug #2040 turned out 
not be a bug itself. But it did reveal that configure was not catching the case
when amesos and ml's internal superlu interface were both enabled, which is not
permitted due to namespace conflicts.

13. Framework Level - Turned off the ml-superlu option on reddish. Per 
Jonathan, when building amesos, users should get superlu directly from Amesos.
The ml-superlu option should be used by those who build ml as a stand
alone package.

14. ML - Increasing problem size to avoid a test failure in the MLAPI interface.

15. Claps - Added and modified files so that building claps doesn't require 
Salinas include files

------------------------------------------------------------------------------
Release Update 6.0.16 March 16, 2006
Notes: Release Update 6.0.16 includes changes made since release update 6.0.15.
Jonathan Hu requested the release update to provide a fix to Alegra.

Change number.  Package(s) affected - CVS log message

1. ML - Adding const attribute to member name because it is assigned
using a string literal. This fixes a warning on the Sun10 compiler.

2. Claps - new scaling option in sparse_lu.cpp
correctly handle case of more than just corners for coarse problem
CLIP_solver for indefinite problems like structural acoustics

3. AztecOO - Related to bug 1934. Andy Salinger made a change to solve a memory issue
related to using AztecOO recursively. His fix was simply to change the
#define AZ_SYS from -14901 to -914901.
Andy's fix was made on the development branch, I'm now committing it to
the release-6-0 branch.

4. AztecOO - Fix the value of AZ_SYS in az_aztecf.h to match the value that it 
has in az_aztec_defs.h.

5. ML - fixed some minor warnings showing up on redstorm

6. ML - removed another minor warning

7. ML - Ifdef'ing out some code that is causing some ALEGRA benchmarks to diff.

8. EpetraExt (Python) - Added #includes to EpetraExt.i for portability to gcc 
4.0 under SUSE Linux

9. ML (Python) - Added #includes to ML.i for portability to gcc 4.0 under SUSE 
Linux

10. Ifpack (Python) - Added #includes to IFPACK.i for portability to gcc 4.0
under SUSE Linux

11. Triutils (Python) - Added #includes to Triutils.i for portability to gcc 
4.0 under SUSE Linux

12. AztecOO  (Python) - Added #includes to AztecOO.i for portability to gcc 4.0 
under SUSE Linux

----------------------------------------------------------------------------
Release Update 6.0.15 March 2, 2006
Notes: Release Update 6.0.15 includes changes made since release update 6.0.14.

Change number.  Package(s) affected - CVS log message

1. ML - Added a check for epetra if --enable-ml_multiple_rhs is present. 
If epetra isn't available, configure issues an error message and quits.

2. Framework level - The dependencies file was updated to recognize that
the ml multiple rhs option depends on Epetra.

3. NOX - Removed the python tests. NOX does not currently support python in 
the 6.0 release.

4. ML - Turned off the failing python test.

5. NOX - Added an enum to NOX::EpetraNew::Interface::Required::FillType, 
MF_Jac.

This is to provide the ability for an application to distinguish
the residual fill used as the unperturbed state in the MatrixFree operator
and to simply return the same residual obtained for Group::computeF(...),
thereby saving a residual fill per Newton iteration.

6. Epetra (python wrappers) - Fixed memory leak exposed by swig 1.3.28

7. Epetra (python wrappers) - Updated to use new Norm method return signature

8. Framework level (test harness) - Fix to properly handle certain arguments 
with spaces.

-----------------------------------------------------------------------------
Release Update 6.0.14 February 10, 2006

Notes: Release Update 6.0.14 includes changes made since release update 6.0.13.

Change number.  Package(s) affected - CVS log message

1. ML - fixed major memory leak in ml_nox preconditioner

2. AztecOO - Address bug 1942. An expression in az_scaling.c modified a 
variable more than once without a sequence point (according to the compiler
on Q).
The expression was:
type = (type += 1) % AZ_NUM_MSGS;
I changed this to the following, which I believe matches the intent
of the author. (I'm not sure who wrote it originally, but it's been
in the code for a long time.)
++type;
type = type % AZ_NUM_MSGS;

AztecOO tests ran and passed.

3. Teuchos - Changed test for TRSM to use a relative error to determine i
pass/fail.  Before, the test used the absolute error to determine pass/fail, 
which is problematic for the block triangular solve. This addresses bug #1944.

4. ML - This example will now compiles and runs, even without a version of 
Aztec present.  (Maxwell/ml_simple_max)

5. ML - fixed minor memory leak

6. EpetraExt - Address bug 1969. Initializer list for
EpetraExt_Transpose_RowMatrix class had members listed in a different order
than they are declared, which produces warnings when the -Wall option is used
for gnu compilers.

7. Triutils - Bug 1971.  Modified some printf statements to satisfy the
latest compilers on sais028.

------------------------------------------------------------------------------
Release Update 6.0.13 January 31, 2006
Notes: Release Update 6.0.13 includes changes made since release update 6.0.12.
The timing of this release update was pushed up due to a special request.

Change number.  Package(s) affected - CVS log message

1. ML - Adding a half clone of the T matrix passed into the Maxwell 
constructor. This does two things. First, it avoids freeing the matrix twice. 
Second, it avoids having to wrap an ML_Operator as an Epetra CRS matrix, then 
wrapping that as an ML matrix, which is what the Maxwell hierarchy creation 
function wants.

2. Framework level - Updated the test harness scripts for reddish based on new 
information from Rich D.

3. NOX - Added const to method, isMassMatrix(), to fix an inconsistency in
inheritance. This was causing problems on the Sun with Sierra.

Also, renamed some local variables to avoid hiding class memeber
variables.

All tests pass.

------------------------------------------------------------------------------
Release Update 6.0.12 January 26, 2006
Notes: Release Update 6.0.12 includes changes made since release update 6.0.11.

Change number.  Package(s) affected - CVS log message

1. Framework level - Fixing a problem that was preventing BUILD-ONLY option 
from working. 

2. ML - Fixed some compiler warnings, mostly unused variables.

3. ML - Replace c++ style comment with /* */. This should fix bug #1933.

4. Teuchos - The "Teuchos_LAPACK.hpp" header should be conditionally included 
based on the existence of the numeric limits header. This is fixed in the
development branch, but was never put in the release branch.

Due to bug #1932, where there is a conflict of definitions with LAPACK
and BLAS functions between Teuchos and SuperLU, this fix is being put
into the release branch. Because of the Amesos-Thyra interface, the
inclusion of Teuchos_ScalarTraits enables this conflict. I was able to
reproduce the problem and ensure that it is indeed fixed by this "ifdef".

5. Anasazi - Needed to add Teuchos_LAPACK.hpp into includes, since it is only
conditionally included in Teuchos_ScalarType.hpp now.

6. ML - fixed memory leak 

7. NOX - Due to a recent change in the release 6.0 branch in Teuchos,
Teuchos_LAPACK.hpp was no longer being included in these files. This
commit fixes that, and the build now completes on my linux box. Hopefully
it will on all of the testharness platforms as well.

8. AztecOO - Small change to correct a compile-error on a machine at LANL. A 
function declaration needed to have the "extern C" qualifier removed. 

9. ML - fixed bug in using application provided Jacobian

10. NOX - Fix a memory leak. The variables 'grpPtr' and 'vecPtr' weren't being
deleted by the NonlinearCG destructor.

------------------------------------------------------------------------------
Release Update 6.0.11 January 19, 2006
Notes: Release Update 6.0.11 includes changes made since release update 6.0.10.

Change number.  Package(s) affected - CVS log message

1. ML - fixed a conflict between the internal recomputation of the 
preconditioner triggered by an offset and the external trigger by the 
application

2. Framework Level - Updated the scripts to load the new pgi compiler modules.
Verified that these scripts work for both the release and development
branches.

3. Epetra - Fix bug 1908. Clif Drumm reported that VbrMatrix::Multiply wasn't
working correctly when the matrix had rectangular sub-blocks. There
were a couple of places in the Multiply function where square sub-blocks
were assumed.

This fix has already been made in the development branch.

Epetra tests run and passed.

4. Epetra - Fix transpose-multiply case of bug 1908. This fix has already been
committed to the development branch.

5. ML - Fixed several minor compile-errors found when building on the various
Sierra platforms.

6. Framework Level - Modified the serial beowulf script to include explicit 
compiler selections.  The upgrades that beowulf has experienced is causing
problems with selecting C++, C and Fortran compilers from the same gcc release.

7. ML - Fixing boundary conditions for discrete grad operator for ALEGRA 
Maxwell matrices. For each dirichlet row "i" in A (and hence T), we find and 
eliminate the columns "j" and "k" in T. This checked out on the Lemke 
simulation, potential_postE, spread from 1-10 processors.

8. ML - This fixes bug#1883. For some bizarre reason, under Mac OS, ml_utils.h 
is not included during the compile of examples/FiniteElements/MLAPI.exe. It 
should be, as it appears in MLAPI_MultiVector.h. So, I duplicated the 
prototypes for ML_random_vec and ML_print_line in MLAPI_MultiVector.h, and the 
compile works.

9. ML - Coordinates were switched for nodes and edges. This should fix the 
failure on s858352 (Mac OS).

10. ML - Fixing a minor valgrind warning.

------------------------------------------------------------------------------
Release 6.0.10 December 21, 2005
Notes: Release 6.0.10 includes the changes made since release 6.0.9.

Change number.  Package(s) affected - CVS log message

1. ML - fixed memory bug in reusage of the preconditioner

2. ML - added outputlevel to the interface

3. ML - fixed memory bug in reusage of the preconditioner

4. Epetra - Fix bug 1864. User (Clif Drumm) was encountering a seg-fault when 
creating a STL vector of Epetra_FEVbrMatrix objects. The seg-fault was due to a
problem in the Epetra_VbrMatrix copy-constructor which didn't correctly
handle the situation where the matrix hasn't been fully allocated. This
is now fixed.

Epetra tests run and pass.

5. Framework level - Applying the fix for bug 1868 that was found by Ken to 
the 6.0 release branch. 

6. EpetraExt - Fix bug 1863, a problem with forming C = A*B^T in certain 
parallel cases. This change has already been committed to the development 
branch.

7. ML - fixing compile error on goodyear

8. Amesos - Tweak AmesosLapack test to allow it to pass on s858352 - fix bug 
#1890 in release branch  

------------------------------------------------------------------------------
Release 6.0.9 December 9, 2005
Notes: Release 6.0.9 includes the changes made since release 6.0.8.

Change number.  Package(s) affected - CVS log message

1. ML - worked on the efficieny of the coarse interface

2. ML - stripping out zeros from jacobian

3. ML - changed aparamter list to fine level finite differencing routine

4. ML - reseting count for computepreconditioner calls to zero in reset of 
preconditioner

5. ML - added fix for any negative main diagonal values in jacobian

6. ML - Added an additional double argument to the Maxwell hierarchy generation
call.  This allows the user to control the dropping of small entries in the 
edge prolongator. Previously, this was hard-coded as 1e-4. This will still be 
the default behavior if ML_DDEFAULT is passed in. This may be of interest in
H(curl) systems where sigma is allowed to be zero.

7. ML - Fixed a nightly compile failure. The call to 
ML_Gen_MGHierarchy_UsingReitzinger() has an additional argument for dropping 
small entries in the edge prolongator.

8. Claps - moved delete [] free_dofs; as suggested by Garth to remove minor 
memory leak 

------------------------------------------------------------------------------
Release 6.0.8 November 25, 2005
Notes: Release 6.0.8 includes the changes made since release 6.0.7. 

Change number.  Package(s) affected - CVS log message

1. AztecOO - address bug 1763 in the release-6.0 branch. These changes were 
already committed to the development branch.

The changes relate to the situation where the recursive residual
maintained by gmres and cg is not in agreement with the true residual.
In this case a convergence test can initially indicate that the
problem has converged, but then a test on the true residual shows that
it has not converged. In some cases the iterations can bounce back and
forth indefinitely. The solution, implemented by Mike H., is to cap the
number of "extra" iterations that are allowed before the solver returns.
Methods on the AztecOO_StatusTestResNorm class allow the value of
"MaxNumExtraIterations" to be set and queried. It defaults to 0.

2. ML - removed the calls to nox's prepostoperator and introduced a
ApplyAllConstraints method in the fine level interface
ApplyAllConstraints is applied to the search direction in the ApplyInverse 
method of the preconditioner (linear and nonlinear)

3. ML - changed hardcoded damping factors for sgs and jacobi smoothers to 0.2 
in ml_nox_preconditioner

4. ML - added a virtual method ApplyAllconstraints that can (but does not have 
to) be implemented by the user to apply constraints to the gradient as it 
comes out of the (non)linear ml_nox_preconditioner

5. Claps - moved delete [] NumEntriesPerRow to get rid of memory leak

6. ML - changes due to constraint enforcement in the nonlinear variant of the 
preconditioner

7. AztecOO - More clean-up related to bug 1763. The 'max-num-extra-iterations' 
attribute of AztecOO_StatusTestResNorm defaults to 0, but the
documentation (doxygen mark-up comments) said the default was 3.

8. ML - Enabling SuperLU 3.0 support in ML through Amesos. This is on by 
default, and can be disabled with the option --disable-ml-amesos. Note that
this cannot be used at the same time as any option --ml_with_superlu*, as
different versions of SuperLU have namespace conflicts.

Updated the User's Guide to reflect this change. Also updated the coarse grid
solution options.

Also updating the version in one spot in ml/configure.ac.

9. ML - added a wrapper for the ml multilevel operator to apply constraints 
after linear ml preocnditioning is applied

10. ML - added a file in the src/NonlinML dir

11. ML - Syncing up the Trilinos 6.0 guide and the developer version.

12. ML - fixed minor bug

13. Epetra - Address bug 1818. Epetra_FEVector::GlobalAssemble now accepts an 
argument of type Epetra_CombineMode so that the caller can specify whether 
remote data is imported using Add or Insert mode.

This cvs commit also includes work that's being done on Epetra_FECrsGraph
to address a bug encountered by David Turner. The code is working, but
a little more testing is needed before I'm comfortable saying that that
bug is resolved.

Epetra tests run and pass.

14. ML - Bootstrapping ML with AM 1.8.2. Most recently ML was bootstrapped 
with AM 1.9.5, which broke the tarball creation process.

------------------------------------------------------------------------------
Release 6.0.7 November 15, 2005
Notes: Release 6.0.7 includes the changes made since release 6.0.6.

Change number.  Package(s) affected - CVS log message

1. ML - added some adaptivity for the convergence norm on nonlinear coarse 
grids

2. ML - fixed example after changes to nonlinear preconditioner

3. ML - fixed some memory leaks and added calls to 
Epetra_CrsMatrix::OptimizeStorage()

4. ML - got rid of some memory in coarse grid computeF

5. Amesos - Removing the ksparse code from the default build. Since the Kundert 
option was removed a while back, the ksparse code has been built rather than 
not.  (Edited slightly from actual CVS log message.)

6. ML - Fixing a few UMRs reported by purify when the Uncoupled-MIS scheme is 
used in serial. Two variables, proc_flag and Request, were being passed in 
without initizlization. They were not initialized because the run is serial. 
In this case, The UMRS are completely innocuous and should not have caused 
any problems.

7. Claps - logic change to conjugate gradient solver to not perform 
iterations if relative residual tolerance < solver_tol after using previous 
search directions

8. Tpetra - 
- Added some conditionals to the Vector test so that certain calls 
are only made if that image owns entries.
- Changed the behavior of Vector so that minValue() and maxValue() return 0 
if that image doesn't own any entries.

These changes should fix bug 1656.

------------------------------------------------------------------------------
Release 6.0.6 October 28, 2005

Notes: Release 6.0.6 includes the changes made since release 6.0.5.  The 
7 changes deemed noteworthy are listed below.

Change number.  Package(s) affected - CVS log message

1. ML - added const modifier to maps in parameter list of constructor

2. ML - implement nox' pre/post operator on all levels

3. ML - remove domain/range map from constructor of nonlinear preconditioner. 
These maps (supposed to be equal anyway) are later received through the 
interface as underlying application may not be able to provide them at 
construction 

4. ML - added ml_nox_coarse_prepostoperator.cpp and .H

5. Claps - change in CLOP for structural acoustics

6. ML - made some minor beautifying changes,
changed the gernal fine level interface to be capable to supply to
different types of graphs (graph of A and a modified graph of A reflecting 
dependencies due to constraints to be used in the coloring process)

7. ML - when fixing the FD-Jacobian operator, make decision whether main 
diagonal is actually really zero (that is <1.e-10) or is just a tiny number 
(e.g. <1.0).
Real zero diagonal are fixed as Dirichlet-BCs (that is an average large 
number), while tiniy diagonals (due to frictionless contact) are fixed with 
some small but reasonable number (at the moment 10.0)

------------------------------------------------------------------------------
Release 6.0.5 October 19, 2005

Notes: Release 6.0.5 includes the changes made in 6 CVS commits since 
release 6.0.4.  

Change number.  Package(s) affected - CVS log message

1. ML - Mods for Alegra to use repartitioning.

2. ML - Fixing failure on beowulf cluster.

3. Claps - modified subspace iteration code for poorly conditioned matrices  

4. AztecOO - Fixes bug 1764.  Replace the method for computing N_ghost in 
AztecOO so it is correct for matrices that have co-owned rows. In some 
instances the previous approach did not work.
All test run and passed.

5. ML - fixing minor bug in handling of bc's in vbmetis aggregation scheme

6. Teuchos - Added missed dereferencing of integer being passed into LAPACK 
GETRI wrapper.  This was missing from every scalar type except double 
precision.
 
----------------------------------------------------------------------------- 
Release 6.0.4 October 12, 2005

Notes: Release 6.0.4 includes the changes made since release 6.0.3.  The
6 changes deemed noteworthy are listed below.

Change number.  Package(s) affected - CVS log message

1. ML - fixing bug in dimension of nullspace in the recomputation of adaptive 
setup

2. EpetraEXT - Address the following problems, described in bug 1732:

The function EpetraExt::MatrixMatrix::Add currently calls FillComplete on the
result B matrix, if B is not already Filled.
Instead, B.FillComplete should be called at the discretion of the user.

The solution will be to put an optional argument at the end of the Add
function's argument list. The argument will be a bool which will specify
whether B.FillComplete should be called or not. The argument will have a
default value of true, so that behavior will not change for existing user code.

Additionally, the Add function is calling B.FillComplete without specifying
domain and range maps, which is an error if B is rectangular.

Finally, if B is not already filled before calling Add, the scalar 'scalarB' is
not being correctly accounted for.

The test program test/MatrixMatrix/cxx_main.cpp was expanded to verify
that the above deficiencies are now fixed.

3. EpetraEXT - finish addressing bug 1732, by adding a new overloading of the 
function EpetraExt::MatrixMatrix::Add which forms the sum C = alpha*A + beta*B.

An initial test is in test/MatrixMatrix/cxx_main.cpp, more testing to come.

4. EpetraEXT - Minor performance improvement for matrix-matrix multiplication, 
specifically the case of A*B^T. It is now about 5 times faster, at least for 
the case I was experimenting with.

In the next few days I'll experiment with coding it in terms of outer products
instead of the current inner-product formulation. Erik Boman has suggested
trying the outer product formulation.

5. Thyra - Here I am checking in more updates to the Thyra documentation. I 
have the adatpers thread mustly edited but I think that I may have missed some 
of the classes. This is just such tedious work.

6. Framework level - Actually rolling back the changes to runtests. I did it 
wrong yesterday.

------------------------------------------------------------------------------
Release 6.0.3 October 5, 2005

Notes: Release 6.0.3 includes the changes made in 24 CVS commits since release
6.0.2.

Change number.  Package(s) affected - CVS log message

1. Thyra - Some editing for doxygen documentation (there is a lot more to do).

2. NOX - No longer subscript unsubscriptable object

3. Thyra - I have updated the rest of the documentation for the fundamental 
operator/vector interface code. There is still a *lot* more documentation to go
through but at least these basic interfaces are now documented and up to date. 
I have run a spell checker but I am sure there are more typos. 

4. PyTrilinos - Added string-replace.pl

5. PyTrilinos - Added config/string-replace.pl to EXTRA_DIST

6. ML - added an error message requested by Ulrich. This already fixes a bug 
that Ulrich will submit soon ;-)

7. Thyra - Fixed a bad set of #else directives with #endif directives.

8. Thyra - Fixed some bad #ifdef __sun with #ifndef __sun. I do not understand 
how this compiled on my laptop?

9. Framework level - If EpetraExt breaks, we will now turn off Thyra because 
some Thyra adapters depend on EpetraExt and we do not currently have the 
ability to turn off certain adapters by inserting disable options.

10. AztecOO - Fixes bugs 1722 and 1723.  Modified thresholds to be more 
reasonable, especially for situations where there is a large magnitude 
difference in values in the residual vs. the matrix coefficients.  Also added
the ability to choose between one and two steps of classical or modified
Gram-Schmidt orthogonalization.  Added a new test for az_gmres that builds a 5x5
diagonal matrix that has separated diagonal values with only one positive value.
This forces exactly 5 itertions and allows us to observe the behavior of the
four orthogonalization methods.

11. AztecOO - Added GMRES_Tests to test definitions.

12. Thyra - Adding same fix as given in the development branch for the missing 
initialization.

13. AztecOO - Fix an issue that was discovered by the Alegra/CEPTRE folks.
The MPI tag used by Aztec communications functions was stored in a
file-global variable called AZ_sys_msg_type. When Aztec was called
on a subset of processors, AZ_sys_msg_type could get out of sync, having
a different value on different processors. This lead to their program
hanging at a communication step.

The solution is to increase the size of Aztec's proc_config array by 1,
and store the MPI tag in a new position in that array. A new macro is
defined in az_aztec_defs.h, called AZ_MPI_Tag, such that an MPI tag can
be obtained in Aztec code by accessing proc_config[AZ_MPI_Tag].

Making this change required substitutions in several aztec files, as well
as an ML file (to be committed next). These are pretty mechanical
substitutions so they should be pretty safe. Also, every place in Aztec
that incremented the value of the tag still adds the same increment.
The only change is that the scope of the tag is now specific to the
proc_config array, rather than the source file.

I ran tests in aztecoo and ml using the script
commonTools/test/utilities/runtests, and everything looks good.

14. ML - Substitution to replace AZ_sys_msg_type with proc_config[AZ_MPI_Tag], 
since that is where Aztec's MPI tag is now stored. Code that increments the tag
was also updated appropriately.

15. AztecOO - Fixed an error in Aztec matrix dump utility for matrix free mode.

16. NOX - Changes for bug 1728. Not sure this is entirely fixed. I need Andy 
Salinger to verify the xyzt stuff isn't broke now.

17. ML - changes due to adaptive setup

18. ML - added flag for adaptive nullspace and some encapsulated viz capability 

19. Framework level - Adding build labels.

20. ML - fixed scaling for nullspace

21. Framework level - Added the BUILD_LABEL to the build.txt file.

22. Framework level - Added a lamhosts file to the lamboot invocation.

23. Thyra - Adding a missing file to the tarball.

24. Framework level - Added -d to mpirun on atlantis. Hopefully this will clear
up the path problems.
-------------------------------------------------------------------------------

Release 6.0.2 September 21, 2005

Notes: Release 6.0.2 includes the changes made in 14 CVS commits since release 
6.0.1. 

Change number. Package(s) affected - CVS log message

1. Framework level - Added commonTools/buildTools/MakefileVariables.py to the 
EXTRA_DIST Makefile variable 

2. ML - added functionality of adatpive recomputatation of preconditioner

3. ML - removing compile errors sierra experienced on sun7 and ibm

4. Framework level - Added line breaks at 80 characters so changelog will 
display well online. 

5. Framework level - Improved formatting. (of RELEASE_NOTES file)

6. ML - Updating the User's Guide.

7. Multiple - Upgrade of Release 6.0 branch python build system to use 
MakefileVariables module and transfer all make variables to the python build 
system

8. Multiple - Upgrade of Release 6.0 branch python build system to use 
MakefileVariables module and transfer all make variables to the python build 
system ... added TRILINOS_HOME_DIR.in files

9. Anasazi - (Merge from development branch)
ParameterList entry "Restart Timers" was mislabed as "Restarting" (weird)

10. Multiple - Bootstrapping with the AM 1.8.2 since we have had some 
difficulty with other versions lately, I don't want to tag a minor release 
with another version at this time.

11. ML - fixing minor bug

12. Framework level - Adding --with-gnumake to the mac and beowulf serial scripts. This should
clear up the two build errors from 9/20.

13. Multiple - The 6.0.2 tarball verification process failed due to some 
missing files in ml and new_package. I have added the files that caused 
the errors and have bootstrapped the top level with the proper version of AM. 
I will now regenerate the tarball with the hopes of releasing 6.0.2 soon.

14. NOX - More files missing from release tarball.

-------------------------------------------------------------------------
Release 6.0.1 September 16, 2005

Notes: Release 6.0.1 incorporates the changes made in 10 cvs commits since 
release 6.0.

Details:

Change number. Package(s) affected - CVS log message

1. Anasazi - Removing ModalAnalysisSolver directory. This directory contains 
code from Rich and Ulrich that is not supported for release.

2. Thyra - Fixed a bug in logic that was not skipping the unsymmetric matrices 
with symmetric only solvers. This should fix the problem on herouxsmp.

3. Thyra - Some updates to doxygen documentation.

4. ML - added missing call to base class constructor

5. ML - added functionality to recompute nonlinear preconditioner adaptively

6. ML - changed two methods to non-virtual

7. ML - removed the two methods which are no longer virtual in base class

8. AztecOO - Fixes bug 1701.  Moved input file inputToClassicAztec to 
In_inputToClassicAztec. Then modified the make procedure to copy from 
In_inputToClassicAztec to inputToClassicAztec. This addresses a "cp" error if 
configure is executed from the src tree.

9. AztecOO - Somehow, only part of the Makefile.include.am changes were 
committed, but the Makefile.include.in changes were all committed.

10. Framework level - Adding a few missing files that cause make install to 
fail when python is enabled.

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