Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

regina::NMatrixField< T > Class Template Reference
[Mathematical Support]

Represents a matrix of elements from a given field T. More...

#include <nmatrixfield.h>

Inheritance diagram for regina::NMatrixField< T >:

regina::NMatrixRing< T > regina::NMatrix< T > List of all members.

Public Member Functions

 NMatrixField (unsigned long rows, unsigned long cols)
 Creates a new matrix of the given size.
 NMatrixField (const NMatrix< T > &cloneMe)
 Creates a new matrix that is a clone of the given matrix.
void divRow (unsigned long row, T factor)
 Divides the given row by the given factor.
void divCol (unsigned long column, T factor)
 Divides the given column by the given factor.
NMatrixField< T > * diagonaliseRow ()
 Diagonalises this matrix by applying only row operations.

Detailed Description

template<class T>
class regina::NMatrixField< T >

Represents a matrix of elements from a given field T.

Precondition:
Type T has a default constructor and overloads the assignment (=) operator.

An element t of type T can be written to an output stream out using the standard expression out << t.

Type T provides binary operators +, -, * and / and unary operators +=, *= and /=.

Python:
Not present.


Constructor & Destructor Documentation

template<class T>
regina::NMatrixField< T >::NMatrixField unsigned long  rows,
unsigned long  cols
[inline]
 

Creates a new matrix of the given size.

All entries will be initialised using their default constructors.

Precondition:
The given number of rows and columns are both strictly positive.
Parameters:
rows the number of rows in the new matrix.
cols the number of columns in the new matrix.

template<class T>
regina::NMatrixField< T >::NMatrixField const NMatrix< T > &  cloneMe  )  [inline]
 

Creates a new matrix that is a clone of the given matrix.

Parameters:
cloneMe the matrix to clone.


Member Function Documentation

template<class T>
NMatrixField<T>* regina::NMatrixField< T >::diagonaliseRow  )  [inline]
 

Diagonalises this matrix by applying only row operations.

This matrix will be changed directly. Details of how the diagonalisation was done will be returned.

Note that this matrix need not be invertible and need not even be square.

Returns:
a newly created matrix M for which M * old = D, where old is the initial value of this matrix and D is the diagonalised matrix. M will be a square matrix of size rows().

template<class T>
void regina::NMatrixField< T >::divCol unsigned long  column,
factor
[inline]
 

Divides the given column by the given factor.

Note that factor is passed by value in case it is an element of the row to be changed.

Precondition:
The given column is between 0 and columns()-1 inclusive.
Parameters:
column the column to work with.
factor the factor by which to divide the given column.

template<class T>
void regina::NMatrixField< T >::divRow unsigned long  row,
factor
[inline]
 

Divides the given row by the given factor.

Note that factor is passed by value in case it is an element of the row to be changed.

Precondition:
The given row is between 0 and rows()-1 inclusive.
Parameters:
row the row to work with.
factor the factor by which to divide the given row.


The documentation for this class was generated from the following file:
Copyright © 1999-2004, Ben Burton
This software is released under the GNU General Public License.
For further information, or to submit a bug or other problem, please contact Ben Burton (bab@debian.org).