
                           SHEAFHOM II

                    Release: October 5, 2004

Sheafhom II is a freeware package for large sparse linear algebra
computations over the integers and other exact number types.  It
provides efficient algorithms for the Smith normal form of sparse
matrices, and dense algorithms for LLL and Hermite normal form.
Graphs and windows are provided to show the progress of the
computation in real time, which helps in tuning the algorithms for
specific applications.  The package is motivated by algebraic
topology, and provides partial support for items from category theory
as first-class objects: vector spaces, morphisms of vector spaces, and
cochain complexes.

This directory contains the Java source code and documentation for
Sheafhom II.  Here are three ways to learn more about it:

(.) Download shh.jar and run the demo with
    java -jar shh.jar
    On Windows and some other operating systems, you can simply
    double-click on the shh.jar icon.

(.) Open the documentation at doc/index.html in a browser.  Start with
    the articles on CSparse, MPDQ, and ExactCategoryMorphism.

(.) If you prefer to read source code, start with the 'main' methods
    in the following files.
    (.) csparse/Test1.java runs a bare-bones Smith normal form computation
        on a small matrix.
    (.) util/Demo.java runs Smith normal form on a large matrix.
    (.) csparse/DenseMatrixZ.java illustrates LLL.
    (.) csparse/TestHNF.java illustrates Hermite normal form.
    (.) homolalg/QvspMorphism.java works with objects and arrows in
        the category of vector spaces over Q.

