#include <nmatrix.h>
Public Member Functions | |
NMatrixRing (unsigned long rows, unsigned long cols) | |
Creates a new matrix of the given size. | |
NMatrixRing (const NMatrix< T > &cloneMe) | |
Creates a new matrix that is a clone of the given matrix. | |
void | makeIdentity () |
Turns this matrix into an identity matrix. | |
void | addRow (unsigned long source, unsigned long dest) |
Adds the given source row to the given destination row. | |
void | addRow (unsigned long source, unsigned long dest, T copies) |
Adds the given number of copies of the given source row to the given destination row. | |
void | addCol (unsigned long source, unsigned long dest) |
Adds the given source column to the given destination column. | |
void | addCol (unsigned long source, unsigned long dest, T copies) |
Adds the given number of copies of the given source column to the given destination column. | |
void | multRow (unsigned long row, T factor) |
Multiplies the given row by the given factor. | |
void | multCol (unsigned long column, T factor) |
Multiplies the given column by the given factor. | |
NMatrixRing< T > * | operator * (const NMatrixRing< T > &other) const |
Multiplies this by the given matrix. | |
Static Public Attributes | |
static T | zero |
Zero in the underlying ring. | |
static T | one |
One (the multiplicative identity) in the underlying ring. |
=
) 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 *=
.
Type T has a long integer constructor. That is, if a
is of type T, then a
can be initialised to a long integer l
using a(l)
. Here the value 1 refers to the multiplicative identity in the ring T.
regina::NMatrixRing< T >::NMatrixRing | ( | unsigned long | rows, | |
unsigned long | cols | |||
) | [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. |
regina::NMatrixRing< T >::NMatrixRing | ( | const NMatrix< T > & | cloneMe | ) | [inline] |
Creates a new matrix that is a clone of the given matrix.
cloneMe | the matrix to clone. |
void regina::NMatrixRing< T >::makeIdentity | ( | ) | [inline] |
Turns this matrix into an identity matrix.
This matrix need not be square; after this routine it will have entry(r,c)
equal to one
if r == c
and zero
otherwise.
void regina::NMatrixRing< T >::addRow | ( | unsigned long | source, | |
unsigned long | dest | |||
) | [inline] |
Adds the given source row to the given destination row.
source | the row to add. | |
dest | the row that will be added to. |
void regina::NMatrixRing< T >::addRow | ( | unsigned long | source, | |
unsigned long | dest, | |||
T | copies | |||
) | [inline] |
Adds the given number of copies of the given source row to the given destination row.
Note that copies is passed by value in case it is an element of the row to be changed.
source | the row to add. | |
dest | the row that will be added to. | |
copies | the number of copies of source to add to dest. |
void regina::NMatrixRing< T >::addCol | ( | unsigned long | source, | |
unsigned long | dest | |||
) | [inline] |
Adds the given source column to the given destination column.
source | the columns to add. | |
dest | the column that will be added to. |
void regina::NMatrixRing< T >::addCol | ( | unsigned long | source, | |
unsigned long | dest, | |||
T | copies | |||
) | [inline] |
Adds the given number of copies of the given source column to the given destination column.
Note that copies is passed by value in case it is an element of the row to be changed.
source | the columns to add. | |
dest | the column that will be added to. | |
copies | the number of copies of source to add to dest. |
void regina::NMatrixRing< T >::multRow | ( | unsigned long | row, | |
T | factor | |||
) | [inline] |
Multiplies 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.
row | the row to work with. | |
factor | the factor by which to multiply the given row. |
void regina::NMatrixRing< T >::multCol | ( | unsigned long | column, | |
T | factor | |||
) | [inline] |
Multiplies 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.
column | the column to work with. | |
factor | the factor by which to multiply the given column. |
NMatrixRing<T>* regina::NMatrixRing< T >::operator * | ( | const NMatrixRing< T > & | other | ) | const [inline] |
Multiplies this by the given matrix.
other | the matrix by which to multiply this matrix. |
this * other
.