Esta es una clase matriz muy chirrisquitica que puede cambiar dinámicamente de tamaño.
Más...
|
| | Matrix (unsigned m=1, unsigned n=1) |
| | Constructor de vector. Más...
|
| |
| | Matrix (const Matrix &o) |
| | Constructor de copia. Más...
|
| |
| | Matrix (const value_type V) |
| | Matriz escalar de valor V. Más...
|
| |
| | ~Matrix () |
| | Destructor. Más...
|
| |
| unsigned | rows () const |
| | Cantidad de filas de la matriz. Más...
|
| |
| unsigned | cols () const |
| | Cantidad de columnas de la Matriz. Más...
|
| |
| unsigned | size () const |
| | Cantidad de valores almacenados en la matriz. Más...
|
| |
| unsigned | count () const |
| | Cantidad de valores almacenados en la matriz. Más...
|
| |
| size_type | capacity () const |
| | Cantidad máxima posible de valores diferentes que pueden ser almacenados en la matriz. Más...
|
| |
| Matrix & | operator= (const Matrix &o) |
| | Sinónimo de this->copy(o) Más...
|
| |
| Matrix & | copy (const Matrix &o) |
| | Copia desde "o". Más...
|
| |
| Matrix & | move (Matrix &o) |
| | Traslada el valor de "o" a "*this". Más...
|
| |
| Matrix & | swap (Matrix &o) |
| | Intercambia los valores de "*this" y "o". Más...
|
| |
| bool | equals (const Matrix &o) const |
| | ¿¿¿ (*this==o) ??? Más...
|
| |
| bool | same (const Matrix &o) const |
| | Retorna true si "o" comparte sus valores con "*this". Más...
|
| |
| reference | operator() (unsigned, unsigned) |
| | Retorna una referencia al elemento [i,j] de la matriz. Más...
|
| |
| const_reference | operator() (unsigned, unsigned) const |
| | Retorna una referencia al elemento [i,j] de la matriz ( const ). Más...
|
| |
| reference | at (unsigned m, unsigned n) |
| | Retorna operator()(m,n). Más...
|
| |
| const_reference | at (unsigned m, unsigned n) const |
| | Retorna operator()(m,n) "const". Más...
|
| |
| void | reSize (unsigned, unsigned) |
| | Le cambia las dimensiones a la matriz. Más...
|
| |
| void | reShape (unsigned, unsigned) |
| | Le ajusta las dimensiones a la matriz. Más...
|
| |
| void | transpose () |
| | Transpone la matriz. Más...
|
| |
template<class E>
class Mx::Matrix< E >
Esta es una clase matriz muy chirrisquitica que puede cambiar dinámicamente de tamaño.
- La matriz tiene tamaño
rows() x cols()
- Se le puede cambiar el tamaño dinámicamente con el método
reSize().
- La clase
E debe incluir un neutro para la adición, cuyo valor debe poderse obtener invocando el convertidor Sparse_Matrix<E>::value_type().
- Las operaciones aritméticas "+" "-" "*" deben estar definidas para
Matrix<E>::value_type y debe existir el valor Matrix<E>::value_type() y también Matrix<E>::value_type(1) (para matrices unitarias)
- Los valores de la matriz pueden estar almacenados por filas o por columnas, según quede implementado el método
Matrix<E>::operator(unsigned, unsigned)
- Ver también
- http://www.oonumerics.org/oon/
Definición en la línea 63 del archivo Matrix.h.
template<class E>
template<class T >
| bool check_ok |
( |
const Matrix< T > & |
M | ) |
|
|
friend |
Verifica la invariante de la clase.
- Es posible que la matriz tenga dimensiones nulas, lo que implica que todos los
punteros a los vectors paralelos deben ser nulos. Este hecho se marca dándolo
el valor \c 0 (cero) al campo \c m_val.
- Las matrices quedan almacenadas en un vector de tamaño [M x N].
- En todos los algoritmos, "m" o "m_rows" es la cantidad de filas == \c rows()
- En todos los algoritmos, "n" o "m_cols" es la cantidad de columnas == \c cols()
\par <em>Rep</em> Modelo de la clase
+---+ / \
+---+ (almacenamiento por filas) | 4 5 6 7 |
m_cols == 4
| 4 | \ /
+---+ +---+---+---+---+---+---+---+---+
| *-|-->| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
+---+ +---+---+---+---+---+---+---+---+
\par <em>Rep</em> Modelo de la clase
+---+
+---+ (almacenamiento por columnas) | b f |
m_rows == 4
+---+ +---+---+---+---+---+---+---+---+ \ d h /
| *-|-->| a | b | c | d | e | f | g | h |
+---+ +---+---+---+---+---+---+---+---+
- Invariante:
(M.m_rows == 0) <==> (M.m_cols == 0)
- Invariante:
(M.m_rows == 0) <==> (M.m_val == 0)
- Invariante:
check_ok( m_val[k] )
Definición en la línea 170 del archivo Matrix.h.