Release notes for Trilinos v12.8

-  Graph/Matrix ordering:
   +  Scotch now can be used for graph/matrix ordering.
   +  The ordering interface Zoltan2::OrderingSolution has been updated
      to allow users to access separator info, if it is available.
   +  Zoltan2::OrderingSolution method getPermutation() is now 
      getPermutationView().

-  Partitioning Metrics:
   +  Partitioning metrics have been moved out of the PartitioningProblem.
      They are now accessed through a separate class:  
      Zoltan2::EvaluatePartition.  
   +  EvaluatePartition accepts as input a
      Zoltan2::Adapter and, optionally, a Zoltan2::PartitioningSolution.
      Thus, it can be used before or after partitioning, and before or
      after migration.
   +  Imbalance and graph metrics are available.

-  Task placement:
   +  A new PartitionMapping class maps parts to processors.  
   +  The MachineRepresentation has been updated, and specializations using
      Cray RCA and IBM TopoMgr are provided.
   +  Geometric task placement using Multijagged partitioning better handles
      cases where the machine's network dimension is greater than the 
      dimension of the coordinates.

-  Multijagged partitioning:
   +  Zoltan2's Multijagged partitioner can now partition wrt the longest
      coordinate dimension, or in specified x-y-z order.

-  TPLs:
   +  Conversions between the index types in TPLs (ParMETIS, Scotch, Zoltan)
      are handled more robustly through the TPL_Traits class.
   +  Interfaces to ParMETIS' AdaptiveRepart and RefineKway algorithms were
      added.
   +  Bugs in the Zoltan interface are fixed.

Release notes for Trilinos v12.6

-  New interface to graph partitioning third-party library PuLP (Partitioning
   using Label Propagation).  PuLP is currently single-node, multi-threaded
   with OpenMP.  Work for the next release will include extension to 
   MPI+OpenMP.

-  Improved handling of TPL data types, especially in the Zoltan interface.

-  Interface from MatrixAdapter to Zoltan hypergraph algorithms implemented.

-  Consistent handling of Tpetra explicitly instantiated types; in particular,
   enabled builds without GlobalOrdinal=int and without Epetra.

-  PartitioningSolutionQuality class is being refactored and renamed 
   EvaluatePartition; work will continue to next release.

Release notes for Trilinos v12.4

-  Template argument for arbitrary global identifiers (zgid_t) has been
   removed for greater efficiency in the code as well as greater conformity
   with Trilinos.  
   +  BasicUserTypes now has only three template parameters;
      the zgid_t template argument has been removed.
   +  OrderingSolution now has two different template parameters:
      <lno_t, gno_t> for <local ordinal type, global ordinal type>
   
-  A new test driver capability has been added to Zoltan2 for more robust
   testing and experimentation.

-  An interface to the Zoltan partitioners has been added to Zoltan2.
   Parameter "algorithm" == "zoltan" invokes Zoltan partitioners; parameters
   needed by Zoltan are provided through a parameter sublist called
   "zoltan_parameters".  Zoltan's geometric and hypergraph methods are
   available.

-  A new interface to third-party library ParMA (from Rensselaer Polytechnic
   Institute) is available.  ParMA provides mesh partition improvement to
   balance both primary and secondary entities.
   It assumes the number of processors is equal to the number of requested
   parts, and that the input mesh distribution corresponds to the input part 
   assignments.  RPI's SCOREC repository is needed to use ParMA.  

-  A new hypergraph mesh partitioning model is available in Zoltan2
   through the MeshAdapter.

-  Parameters to third-party libraries Scotch and ParMETIS are provided 
   through parameter sublists "scotch_parameters" and 
   "parmetis_parameters", respectively.

Release notes for Trilinos v11.14 

The PartitioningSolution class's interface has changed.
-  methods getPartList and getProcList have been renamed to 
   getPartListView and getProcListView to emphasize that a view, not a copy,
   is being returned.
-  method getPartListView now returns the part identifiers in the same order
   that the local data was provided.  The user's localData[i] is assigned 
   to getPartListView()[i].  Conversions from global identifiers
   from PartitioningSolution::getIdList() to local identifiers are no longer
   needed.  
-  methods getIdList and getLocalNumberOfIds have been removed.
-  method convertSolutionToImportList has been removed and replaced 
   by the helper function getImportList in Zoltan2_PartitioningHelpers.hpp.
-  pointAssign and boxAssign methods have been added for some geometric 
   partitioners.  Support is provided through MultiJagged (MJ) partitioning.
   pointAssign returns a part number that contains a given geometric point.  
   boxAssign returns all parts that overlap a given geometric box.

New graph coloring options:
- The parameter color_choice can be used to obtain a more balanced coloring.
  Valid values are FirstFit, Random, RandomFast, and LeastUsed.

New partitioning options:
-  Scotch interface updated to Scotch v6 or later (Tested against v6.0.3.)
-  Interface to ParMETIS v4 or later added.  (Tested against v4.0.3.)

Miscellaneous:
-  Parameter "rectilinear_blocks" has been renamed "rectilinear".

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

Release notes for Trilinos v11.8

Simplified input Adapter classes for easier implementation by applications.
(This change may break backward compatibility for some users.)

Added ability to associate coordinates with matrix rows and graph vertices
through the MatrixAdapter and GraphAdapter.

Improved the performance and readability of Multijagged Partitioning.
Some parameter names have changed or have been deleted:
        pqParts --> mj_parts
        parallel_part_calculation_count --> mj_concurrent_part_count
        migration_check_option --> mj_migration_option
        migration_imbalance_cut_off --> mj_minimum_migration_imbalance
        keep_part_boxes --> mj_keep_part_boxes
        recursion_depth --> mj_recursion_depth
        migration_processor_assignment_type deleted.
        migration_all_to_all_type deleted.
        migration_doMigration_type deleted.


Added weights to graph partitioning via Scotch.

Changed weight specifications in input Adapters; users can no longer provide
NULL weight arrays for uniform weights.

Added more robuts testing.

Fixed several bugs.

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


Trilinos v11 is the initial release of Zoltan2.  Zoltan2 is a redesign of the
Zoltan combinatorial scientific computing toolkit that uses templating and
Trilinos classes for tighter integration with Trilinos.  Zoltan2 supports
Epetra and Tpetra data structures through the Xpetra interface.

Capabilities that are supported by default in Zoltan2:
   Minimum-degree data ordering using the AMD TPL
   Reverse Cuthill-McKee data ordering
   Graph partitioning using the Scotch TPL
   Block partitioning

Experimental capabilities are supported only if the following CMake option 
is used; these capabilities are under development.
  -D Zoltan2_ENABLE_Experimental:BOOL=ON

Experimental capabilities include:
   Recursive Coordinate Bisection geometric partitioning
   Multidimensional-Jagged geometric partitioning
   Spectral data ordering
   Increasing degree data ordering
   Natural data ordering
   Random data ordering
