Regina 7.3 Calculation Engine
Namespaces | Functions
matrixops.h File Reference

Provides various complex matrix calculations. More...

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

Namespaces

namespace  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, MatrixInt &rowSpaceBasisInv, MatrixInt &colSpaceBasis, MatrixInt &colSpaceBasisInv)
 An alternative Smith normal form algorithm that also returns change of basis matrices. More...
 
size_t regina::rowBasis (MatrixInt &matrix)
 Find a basis for the row space of the given matrix. More...
 
size_t 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< size_t > &rowList)
 Transforms a given matrix into column echelon form with respect to a collection of rows. More...
 
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...
 
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-2023, 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).