Maple Share Library:  Linear Algebra
====================================

classical       > readshare(class, linalg);
                Rational canonical form for a matrix of rational numbers.
                Includes a utility routine HyperCompanion for constructing
		the hyper companion matrix of a univariate polynomial
                AUTHOR: Eugene Johnson, ejohnson@umaxc.weeg.uiowa.edu

eigen.ms	FILE: linalg/eigen.ms (32K)
		A Maple worksheet tutorial on how to use the eigenvals and
		eigenvects and related commands to compute exact symbolic
		values for eigenvalues and eigenvectors of both numeric and
		symbolic matrices.  This also includes a tutorial on computing
		with roots of polynomials using Maples RootOf notation.
		AUTHOR: Michael Monagan, monagan@inf.ethz.ch

lapack.ms	FILE: linalg/lapack.ms
		On the front cover of the LAPACK User's Guide is a 6 by 6
                matrix whose entries are +- the letters L A P A C K appearing
                in a particular pattern.  This worksheet shows how we can use
                Maples symbolic linear algebra tools to find out exactly what
                is so special about this matrix.
		AUTHOR: Michael Monagan, monagan@inf.ethz.ch

magic		> readshare(magic, linalg);
		Create an n by n magic square.
		Another family of matrices with interesting
		properties -- real eigenvalues.
		AUTHOR: Dominik Gruntz, gruntz@inf.ethz.ch

MatPade         > readshare(MatPade, algebra);  (47K)
                SEE ALSO: algebra/MatPade.ms
                A set of functions to compute matrix-type Pade approximants.
                Examples of such approximants include Hermite Pade,
                Simultaneous Pade, right and left matrix Pade approximants.
                AUTHOR: G. Labahn, glabahn@daisy.uwaterloo.ca

McConnel.ms     FILE: science/McConnel.ms
                A Maple worksheet on how to use matrix algebra, in particular
                matrix exponentials, for the symbolic solution of a system of
                first order differential equations in biochemistry, namely the
                McConnell equations.  The McConnell equations are used to
                analyse data obtained from solute-cell transport experiments
                using the nuclear magnetic resonance (NMR) technique.
                The formal parameters involved in the solutions
                are determined by nonlinear least-squares fitting.
                AUTHORS: Johannes Grotendorst, j.grotendorst@kfa-juelich.de
		AUTHORS: Paul Jansen, and Siegfried M. Schoberth

normform        > readshare(normform, linalg); (115K)
                A package of routines for computing matrix normal forms.
                Contains: ismithex, smithex, frobenius, jordan, and ratjordan.
                The ismithex and smithex routines compute the Smith normal form
                over Z and F[x] respectively.  The frobenius, jordan, and
                ratjordan routines compute the Frobenius, Jordan, and rational
                Jordan normal forms over a field K. These routines are
                typically faster than the routines in the Maple library,
                more general, and also compute the multiplier matrices.
                Example:  F := frobenius(A,K,'P');  computes Frobenius
                normal form F, and the matrix P such that F = P^(-1) A P
                AUTHOR: T.M.L. Mulders, mulders@sci.kun.nl,
                AUTHOR: A.H.M. Levelt, ahml@sci.kun.nl

Normform        > readshare(`mod/Normform`); (49K)
                A package of routines for computing normal forms for matrices
                over the integers mod p.  Contains Frobenius, Ratjordan, Jordan
                AUTHOR: T.M.L. Mulders, mulders@sci.kun.nl,
                AUTHOR: A.H.M. Levelt, ahml@sci.kun.nl

pascal		> readshare(pascal, linalg);
		Create an n by n Pascal matrix.
		A family of matrices with nice properties -- real
		eigenvalues, determinant = 1.
		AUTHOR: Michael Monagan, monagan@inf.ethz.ch

pffge           > readshare(pffge, linalg);
                Primitive fraction-free Gaussian elimination for a rectangular
                matrix of multivariate polynomials.  After a row operation,
                the gcd of the polynomials in the row is divided out.
                This minimizes the size of the intermediate polynomials.
                AUTHOR: Michael Monagan, monagan@inf.ethz.ch

RowEchelon      > readshare(Echelon, linalg);
		SEE ALSO: linalg/Echelon.tex
                Computes the reduced row echelon form R of a rectangular
                matrix A and also the multiplier matrices P, L, U such that
                A = P L U R where L is lower triangular, and U is upper
                triangular.  Also RowEchelonSolve solves the linear system
                A x = b.
                AUTHOR: Robert Corless, rcorless@uwovax.uwo.ca
                AUTHOR: David Jeffrey, djj@uwo.ca

sffge           > readshare(sffge, linalg);
                Performs Bareiss' fraction free Gaussian elimination algorithm
                on a rectangular matrix of polynomial entries and returns the
                reduces matrix (in upper triangular form) and optionally the
                rank and determinant.  This routine has the same functionality
                as the library routine linalg[ffgausselim] but is using
                a variation of Nguyen and Saunders algorithm which is suited
                to sparse matrices.
                AUTHORS: Igor Berchtold, Michael Monagan, monagan@inf.ethz.ch


