matrixops.h File Reference

Provides various complex matrix calculations. More...

`#include "regina-core.h"`
`#include "maths/nmatrixint.h"`
`#include <vector>`

## Namespaces

| regina
| Contains the entire Regina calculation engine.

## Functions

REGINA_API void | regina::smithNormalForm (NMatrixInt &matrix)
| Transforms the given integer matrix into Smith normal form. More...
REGINA_API void | regina::smithNormalForm (NMatrixInt &matrix, NMatrixInt &rowSpaceBasis, NMatrixInt &rowSpaceBasisInv, NMatrixInt &colSpaceBasis, NMatrixInt &colSpaceBasisInv)
| A Smith normal form algorithm that also returns change of basis matrices. More...
REGINA_API void | regina::metricalSmithNormalForm (NMatrixInt &matrix, NMatrixInt *rowSpaceBasis=0, NMatrixInt *rowSpaceBasisInv=0, NMatrixInt *colSpaceBasis=0, NMatrixInt *colSpaceBasisInv=0)
| An alternative Smith normal form algorithm that also returns change of basis matrices. More...
REGINA_API unsigned | regina::rowBasis (NMatrixInt &matrix)
| Find a basis for the row space of the given matrix. More...
REGINA_API unsigned | regina::rowBasisAndOrthComp (NMatrixInt &input, NMatrixInt &complement)
| Finds a basis for the row space of the given matrix, as well as an "incremental" basis for its orthogonal complement. More...
REGINA_API void | regina::columnEchelonForm (NMatrixInt &M, NMatrixInt &R, NMatrixInt &Ri, const std::vector< unsigned > &rowList)
| Transforms a given matrix into column echelon form with respect to a collection of rows. More...
REGINA_API std::auto_ptr< NMatrixInt > | regina::preImageOfLattice (const NMatrixInt &hom, const std::vector< NLargeInteger > &sublattice)
| Given a homomorphism from Z^n to Z^k and a sublattice of Z^k, compute the preimage of this sublattice under this homomorphism. More...
REGINA_API std::auto_ptr< NMatrixInt > | regina::torsionAutInverse (const NMatrixInt &input, const std::vector< NLargeInteger > &invF)
| Given an automorphism of an abelian group, this procedure computes the inverse automorphism. More...

## Detailed Description

Provides various complex matrix calculations.

Todo:
  Feature (long-term): Add a routine to find the rank of an integer matrix; use this to show the rank of the matching equations.

Copyright © 1999-2014, The Regina development team
This software is released under the GNU General Public License, with some additional permissions; see the source code for details.
For further information, or to submit a bug or other problem, please contact Ben Burton (bab@debian.org).