Regina Calculation Engine

Represents a matrix of elements of the given type T. More...
#include <maths/nmatrix.h>
Public Member Functions  
NMatrix (unsigned long rows, unsigned long cols)  
Creates a new matrix of the given size. More...  
NMatrix (const NMatrix &cloneMe)  
Creates a new matrix that is a clone of the given matrix. More...  
~NMatrix ()  
Destroys this matrix. More...  
void  initialise (const T &value) 
Sets every entry in the matrix to the given value. More...  
void  initialise (List allValues) 
A Pythononly routine that fills the matrix with the given set of elements. More...  
unsigned long  rows () const 
Returns the number of rows in this matrix. More...  
unsigned long  columns () const 
Returns the number of columns in this matrix. More...  
T &  entry (unsigned long row, unsigned long column) 
Returns the entry at the given row and column. More...  
const T &  entry (unsigned long row, unsigned long column) const 
Returns the entry at the given row and column. More...  
bool  operator== (const NMatrix< T > &other) const 
Determines whether this and the given matrix are identical. More...  
bool  operator!= (const NMatrix< T > &other) const 
Determines whether this and the given matrix are different. More...  
void  writeMatrix (std::ostream &out) const 
Writes a complete representation of the matrix to the given output stream. More...  
void  swapRows (unsigned long first, unsigned long second) 
Swaps the elements of the two given rows in the matrix. More...  
void  swapColumns (unsigned long first, unsigned long second) 
Swaps the elements of the two given columns in the matrix. More...  
void  writeTextShort (std::ostream &out) const 
Writes a short text representation of this object to the given output stream. More...  
void  writeTextLong (std::ostream &out) const 
Writes a detailed text representation of this object to the given output stream. More...  
std::string  str () const 
Returns a short text representation of this object. More...  
std::string  utf8 () const 
Returns a short text representation of this object using unicode characters. More...  
std::string  detail () const 
Returns a detailed text representation of this object. More...  
REGINA_DEPRECATED std::string  toString () const 
A deprecated alias for str(). More...  
REGINA_DEPRECATED std::string  toStringLong () const 
A deprecated alias for detail(). More...  
Protected Attributes  
unsigned long  nRows 
The number of rows in the matrix. More...  
unsigned long  nCols 
The number of columns in the matrix. More...  
T **  data 
The actual entries in the matrix. More...  
Represents a matrix of elements of the given type T.
=
) operator. out << t
.

inline 
Creates a new matrix of the given size.
All entries will be initialised using their default constructors.
rows  the number of rows in the new matrix. 
cols  the number of columns in the new matrix. 

inline 
Creates a new matrix that is a clone of the given matrix.
cloneMe  the matrix to clone. 

inline 
Destroys this matrix.

inline 
Returns the number of columns in this matrix.

inherited 
Returns a detailed text representation of this object.
This text may span many lines, and should provide the user with all the information they could want. It should be humanreadable, should not contain extremely long lines (which cause problems for users reading the output in a terminal), and should end with a final newline. There are no restrictions on the underlying character set.

inline 
Returns the entry at the given row and column.
Rows and columns are numbered beginning at zero.
matrix.entry(row, column) = value
still cannot be used in python to set a matrix element directly. For this, you can use the syntax matrix.set(row, column, value)
. This set() routine returns nothing, and is provided for python only (i.e., it is not part of the C++ calculation engine).row  the row of the desired entry. 
column  the column of the desired entry. 

inline 
Returns the entry at the given row and column.
Rows and columns are numbered beginning at zero.
row  the row of the desired entry. 
column  the column of the desired entry. 

inline 
Sets every entry in the matrix to the given value.
value  the value to assign to each entry. 
void regina::NMatrix< T >::initialise  (  List  allValues  ) 
A Pythononly routine that fills the matrix with the given set of elements.
The argument allValues must be a Python list of length rows() * columns(). Its values will be inserted into the matrix row by row (i.e., the first row will be filled, then the second row, and so on).
allValues  the individual elements to place into the matrix. 

inline 
Determines whether this and the given matrix are different.
Two matrices are different if either (i) their dimensions differ, or (ii) the corresponding elements of each matrix differ in at least one location.
Note that this routine can happily deal with two matrices of different dimensions (in which case it will always return true
).
This routine returns true
if and only if the equality operator (==) returns false
.
other  the matrix to compare with this. 
true
if the matrices are different as described above, or false
otherwise.

inline 
Determines whether this and the given matrix are identical.
Two matrices are identical if and only if (i) their dimensions are the same, and (ii) the corresponding elements of each matrix are equal.
Note that this routine can happily deal with two matrices of different dimensions (in which case it will always return false
).
This routine returns true
if and only if the inequality operator (!=) returns false
.
other  the matrix to compare with this. 
true
if the matrices are equal as described above, or false
otherwise.

inline 
Returns the number of rows in this matrix.

inherited 
Returns a short text representation of this object.
This text should be humanreadable, should fit on a single line, and should not end with a newline. Where possible, it should use plain ASCII characters.
__str__()
.

inline 
Swaps the elements of the two given columns in the matrix.
first  the first column to swap. 
second  the second column to swap. 

inline 
Swaps the elements of the two given rows in the matrix.
first  the first row to swap. 
second  the second row to swap. 

inherited 
A deprecated alias for str().

inherited 
A deprecated alias for detail().

inherited 
Returns a short text representation of this object using unicode characters.
Like str(), this text should be humanreadable, should fit on a single line, and should not end with a newline. In addition, it may use unicode characters to make the output more pleasant to read. This string will be encoded in UTF8.

inline 
Writes a complete representation of the matrix to the given output stream.
Each row will be written on a separate line with elements in each row separated by single spaces.
out  the output stream to which to write. 

inline 
Writes a detailed text representation of this object to the given output stream.
out  the output stream to which to write. 

inline 
Writes a short text representation of this object to the given output stream.
out  the output stream to which to write. 

protected 
The actual entries in the matrix.
data[r][c]
is the element in row r, column c.

protected 
The number of columns in the matrix.

protected 
The number of rows in the matrix.