xc
Public Types | Public Member Functions | Protected Member Functions | Friends | List of all members
ZMatrix< numero > Class Template Reference

Matrix which element type has estructura de anillo respecto a las operaciones + y *. More...

#include <ZMatrix.h>

Inheritance diagram for ZMatrix< numero >:
Inheritance graph
[legend]
Collaboration diagram for ZMatrix< numero >:
Collaboration graph
[legend]

Public Types

typedef vectorZ< numero > vectorZ_numero
 
typedef TMatrix< numero, vectorZ< numero > > mT_numero
 
typedef vectorZ_numero::reference reference
 
typedef vectorZ_numero::const_reference const_reference
 
typedef vectorZ_numero::value_type value_type
 
typedef vectorZ_numero::size_type size_type
 
typedef mT_numero::lst_T lst_numero
 
- Public Types inherited from TMatrix< numero, vectorZ< numero > >
typedef std::list< numero > lst_T
 
typedef vectorZ< numero > ::iterator iterator
 
typedef vectorZ< numero > ::const_iterator const_iterator
 
typedef vectorZ< numero > ::value_type value_type
 
typedef vectorZ< numero > ::reference reference
 
typedef vectorZ< numero > ::const_reference const_reference
 
typedef BoxConstRef< TMatrix< numero, vectorZ< numero > > > box_const_ref
 
typedef RowConstRef< TMatrix< numero, vectorZ< numero > > > row_const_ref
 
typedef ColumnConstRef< TMatrix< numero, vectorZ< numero > > > const_ref_col
 
- Public Types inherited from vectorZ< numero >
typedef std::vector< numero >::size_type size_type
 
typedef std::list< numero > lst_numero
 

Public Member Functions

 ZMatrix (size_type n_rows, size_type n_columns)
 
 ZMatrix (size_type n_rows, size_type n_columns, numero val)
 
 ZMatrix (size_type n_rows, size_type n_columns, const lst_numero &ln)
 
 ZMatrix (const ZMatrix< numero > &other)
 
template<class InputIterator >
 ZMatrix (const size_t &n_rows, const size_t &n_columns, InputIterator b, InputIterator e)
 
ZMatrix< numero > & operator= (const ZMatrix< numero > &m)
 
ZMatrix< numero > & operator= (const numero &n)
 
ZMatrix< numero > & operator+= (const ZMatrix< numero > &m)
 
ZMatrix< numero > & operator-= (const ZMatrix< numero > &m)
 
ZMatrix< numero > & operator*= (const numero &n)
 
ZMatrix< numero > & operator*= (const ZMatrix< numero > &m)
 
numero row_maximum (size_type i) const
 
numero column_maximum (size_type j) const
 
void PutSuma (size_type i, size_type j, const numero &n)
 
void PutResta (size_type i, size_type j, const numero &n)
 
void PutProd (size_type i, size_type j, const numero &n)
 
void swap (size_type f1, size_type c1, size_type f2, size_type c2)
 
ZMatrix< numero > & Trn (void)
 
ZMatrix< numero > GetTrn (void) const
 
ZMatrix< numero > getBox (size_t f1, size_t c1, size_t f2, size_t c2) const
 Return the box between the indices being passed as parameter.
 
ZMatrix< numero > getRow (size_type iRow) const
 
ZMatrix< numero > getColumn (size_type col) const
 
ZMatrix< numero > GetMenor (size_t f, size_t c) const
 
void Idn (void)
 
void sumBox (size_t f, size_t c, const ZMatrix< numero > &box)
 
numero GetDetLento (void) const
 Return el determinante. More...
 
numero GetDet (const numero &eps=1e-10) const
 Return el determinante.
 
numero Traza (void) const
 Return the trace of the matrix.
 
bool Nulo (const numero &tol=numero()) const
 
numero getRowNorm (void) const
 Return el valor máximo de los elementos del vector que resulta de sumar los rows elements. More...
 
numero getColumnNorm (void) const
 Return the maximum value of the components of the vector obtained by adding the components of the columns. More...
 
void Neg (void)
 
virtual void Input (std::istream &)
 Lectura desde istream.
 
virtual void Input (const std::string &)
 Lectura desde string.
 
numero dot (const ZMatrix< numero > &v2) const
 
numero Abs2 (void) const
 Return the squared norm (euclidean norm) of the matrix.
 
numero Abs (void) const
 Return the norm (euclidean norm) of the matrix.
 
- Public Member Functions inherited from TMatrix< numero, vectorZ< numero > >
 TMatrix (size_t rows=1, size_t n_columns=1)
 Constructor por defecto.
 
 TMatrix (size_t n_rows, size_t n_columns, numero val)
 Constructor.
 
 TMatrix (const size_t &n_rows, const size_t &n_columns, InputIterator b, InputIterator e)
 Constructor con lista inicialización.
 
 TMatrix (const TMatrix< numero, vectorZ< numero > > &)
 Constructor de copia.
 
TMatrix< numero, vectorZ< numero > > & operator= (const TMatrix< numero, vectorZ< numero > > &m)
 Assignment operator.
 
TMatrix< numero, vectorZ< numero > > & operator= (const numero &n)
 
virtual bool operator== (const TMatrix< numero, vectorZ< numero > > &) const
 Comparison operator.
 
void resize (size_t n_rows, size_t n_columns, numero val)
 Assignment operator.
 
size_t size (void) const
 
const vectorZ< numero > & getVector (void) const
 
const_reference front () const
 
reference front ()
 
const_reference back () const
 
reference back ()
 
const_iterator begin () const
 
iterator begin ()
 
const_iterator end () const
 
iterator end ()
 
TMatrix< numero, vectorZ< numero > > & Con (const numero &t)
 
virtual reference operator() (size_t iRow=1, size_t col=1)
 
virtual const_reference operator() (size_t iRow=1, size_t col=1) const
 
virtual reference at (size_t iRow=1, size_t col=1)
 
virtual const_reference at (size_t iRow=1, size_t col=1) const
 
void assign (size_t row, size_t col, const numero &value)
 Put the box int the position (f,c) of this matrix.
 
void swap (size_t f1, size_t c1, size_t f2, size_t c2)
 
TMatrix< numero, vectorZ< numero > > & Trn (void)
 
TMatrix< numero, vectorZ< numero > > GetTrn (void) const
 
TMatrix< numero, vectorZ< numero > > getBox (size_t f1, size_t c1, size_t f2, size_t c2) const
 
box_const_ref GetBoxConstRef (size_t f1, size_t c1, size_t f2, size_t c2) const
 
box_const_ref GetBoxConstRef (const RangoIndice &row_range, const RangoIndice &column_range) const
 
box_const_ref GetBoxConstRef (size_t f=1, size_t c=1) const
 
TMatrix< numero, vectorZ< numero > > getRow (size_t iRow) const
 
row_const_ref getRowConstRef (size_t f, size_t c1, size_t c2) const
 
row_const_ref getRowConstRef (size_t f, const RangoIndice &column_range) const
 
row_const_ref getRowConstRef (size_t f=1, size_t c=1) const
 
const_ref_col getColumnConstRef (size_t c, size_t f1, size_t f2) const
 
const_ref_col getColumnConstRef (const RangoIndice &row_range, size_t c) const
 
const_ref_col getColumnConstRef (size_t c=1, size_t f=1) const
 
TMatrix< numero, vectorZ< numero > > getColumn (size_t col) const
 
TMatrix< numero, vectorZ< numero > > GetMenor (size_t f, size_t c) const
 Return the minor of the matrix that corresponds to the row and the column arguments. More...
 
void putBox (size_t f, size_t c, const TMatrix< numero, vectorZ< numero > > &)
 Put the box int the position (f,c) of this matrix.
 
void putRow (size_t iRow, const TMatrix< numero, vectorZ< numero > > &f)
 
void PutCol (size_t col, const TMatrix< numero, vectorZ< numero > > &c)
 
void OrlaCol (const TMatrix< numero, vectorZ< numero > > &c)
 
void decorateRow (const TMatrix< numero, vectorZ< numero > > &f)
 
void swapRows (size_t f1, size_t f2)
 
void swapColumns (size_t c1, size_t c2)
 
virtual void Print (std::ostream &) const
 
- Public Member Functions inherited from ProtoMatrix
 ProtoMatrix (size_t n_rows=1, size_t n_columns=1)
 
 ProtoMatrix (const ProtoMatrix &other)
 
ProtoMatrixoperator= (const ProtoMatrix &m)
 
virtual bool operator== (const ProtoMatrix &other) const
 
virtual void resize (size_t n_rows, size_t n_columns)
 
virtual size_t Tam (void)
 
size_t getNumberOfRows (void) const
 
size_t getNumberOfColumns (void) const
 
bool CheckIndices (const size_t &f, const size_t &c) const
 
bool interior (const size_t &i, const size_t &j) const
 Return true if the indices correspond to a component.
 
int Cuadrada (void) const
 
bool isRow (void) const
 
bool isColumn (void) const
 
- Public Member Functions inherited from vectorZ< numero >
 vectorZ (size_type n, const numero &value=numero())
 
 vectorZ (const lst_numero &ln)
 
 vectorZ (const vectorZ< numero > &otro)
 
 vectorZ (const size_t &sz, const numero arr[])
 
template<class InputIterator >
 vectorZ (InputIterator b, InputIterator e)
 Constructor con lista inicialización.
 
vectorZ< numero > & operator= (const vectorZ< numero > &otro)
 
vectorZ< numero > & operator+= (const vectorZ< numero > &otro)
 
vectorZ< numero > & operator-= (const vectorZ< numero > &otro)
 
vectorZ< numero > & operator*= (const numero &n)
 
void Suma (const vectorZ< numero > &v)
 
void Resta (const vectorZ< numero > &v)
 
void Suma (const vectorZ< numero > &v1, const vectorZ< numero > &v2)
 
void Resta (const vectorZ< numero > &v1, const vectorZ< numero > &v2)
 
void Prod (const numero &n)
 
void PutSuma (size_type i, const numero &n)
 
void PutResta (size_type i, const numero &n)
 
void PutProd (size_type i, const numero &n)
 
void swap (size_type n1, size_type n2)
 
long Busca (const numero &n) const
 
void Neg (void)
 
bool Nulos (const numero &tol=numero())
 
void Con (size_type n1, size_type n2, const numero &n)
 
void Con (size_type n1, const numero &n)
 
void Con (const numero &n)
 
numero Sumatorio (size_type i, size_type j) const
 
numero Productorio (size_type i, size_type j) const
 
vectorZ< numero > Left (size_t j) const
 
vectorZ< numero > Right (size_t j) const
 
vectorZ< numero > Mid (size_t i, size_t j) const
 
vectorZ< numero > GetMenor (size_t j) const
 
vectorZ< numero > Sustituye (size_t j, const vectorZ< numero > &v) const
 
unsigned long Distintos (const vectorZ< numero > &v) const
 

Protected Member Functions

numero row_sum (size_type i) const
 
numero column_sum (size_type j) const
 
- Protected Member Functions inherited from TMatrix< numero, vectorZ< numero > >
virtual size_t Indice (const size_t &iRow, const size_t &iCol) const
 
bool equal_to (const TMatrix< numero, vectorZ< numero > > &m2) const
 
 TMatrix (const TMatrix< numero, vectorZ< numero > > &orig, size_t f1, size_t c1, size_t f2, size_t c2)
 
- Protected Member Functions inherited from ProtoMatrix
void PutDim (size_t nRows, size_t nCols)
 
void inic (size_t n_rows, size_t n_columns)
 
virtual bool check_range (const size_t &iRow, const size_t &col) const
 
void check_put_box (size_t f, size_t c, const ProtoMatrix &box) const
 
void check_get_box (size_t f1, size_t c1, size_t f2, size_t c2) const
 
void check_sto_sum (const ProtoMatrix &m) const
 
void check_sto_dif (const ProtoMatrix &m) const
 
void check_traza (void) const
 

Friends

bool operator== (const ZMatrix< numero > &m1, const ZMatrix< numero > &m2)
 
ZMatrix< numero > operator- (const ZMatrix< numero > &m1, const ZMatrix< numero > &m2)
 
numero dot (const ZMatrix< numero > &v1, const ZMatrix< numero > &v2)
 
ZMatrix< numero > operator* (const ZMatrix< numero > &m, const numero &p)
 
ZMatrix< numero > operator* (const numero &p, const ZMatrix< numero > &m)
 
ZMatrix< numero > operator^ (const ZMatrix< numero > &v1, const ZMatrix< numero > &v2)
 

Additional Inherited Members

- Protected Types inherited from vectorZ< numero >
typedef std::vector< numero > vector_numero
 
typedef vectorZ< numero > vectorZ_numero
 
- Protected Attributes inherited from ProtoMatrix
size_t n_rows
 
size_t n_columns
 

Detailed Description

template<class numero>
class ZMatrix< numero >

Matrix which element type has estructura de anillo respecto a las operaciones + y *.

Member Function Documentation

◆ getColumnNorm()

template<class numero >
numero ZMatrix< numero >::getColumnNorm ( void  ) const

Return the maximum value of the components of the vector obtained by adding the components of the columns.

◆ GetDetLento()

template<class numero >
numero ZMatrix< numero >::GetDetLento ( void  ) const

Return el determinante.

Return el determinante empleando un algoritmo recursivo lentísimo pero que no necesita divisiones.

◆ getRowNorm()

template<class numero >
numero ZMatrix< numero >::getRowNorm ( void  ) const

Return el valor máximo de los elementos del vector que resulta de sumar los rows elements.


The documentation for this class was generated from the following file: