matrixops.h File Reference

Provides various complex matrix calculations. More...

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

## Namespaces

| regina
| Contains the entire Regina calculation engine.

## Functions

void | regina::smithNormalForm (MatrixInt &matrix)
| Transforms the given integer matrix into Smith normal form. More...
void | regina::smithNormalForm (MatrixInt &matrix, MatrixInt &rowSpaceBasis, MatrixInt &rowSpaceBasisInv, MatrixInt &colSpaceBasis, MatrixInt &colSpaceBasisInv)
| A Smith normal form algorithm that also returns change of basis matrices. More...
void | regina::metricalSmithNormalForm (MatrixInt &matrix, MatrixInt *rowSpaceBasis=0, MatrixInt *rowSpaceBasisInv=0, MatrixInt *colSpaceBasis=0, MatrixInt *colSpaceBasisInv=0)
| An alternative Smith normal form algorithm that also returns change of basis matrices. More...
unsigned | regina::rowBasis (MatrixInt &matrix)
| Find a basis for the row space of the given matrix. More...
unsigned | regina::rowBasisAndOrthComp (MatrixInt &input, MatrixInt &complement)
| Finds a basis for the row space of the given matrix, as well as an "incremental" basis for its orthogonal complement. More...
void | regina::columnEchelonForm (MatrixInt &M, MatrixInt &R, MatrixInt &Ri, const std::vector< unsigned > &rowList)
| Transforms a given matrix into column echelon form with respect to a collection of rows. More...
std::unique_ptr< MatrixInt > | regina::preImageOfLattice (const MatrixInt &hom, const std::vector< Integer > &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...
std::unique_ptr< MatrixInt > | regina::torsionAutInverse (const MatrixInt &input, const std::vector< Integer > &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-2016, 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@maths.uq.edu.au).