MRPT logo
Classes | Public Types | Protected Attributes

mrpt::math::CDiagonalMatrixView< MATRIXTYPE > Class Template Reference

View the diagonal of an existing NxN matrix as a 1xN matrix (or equivalently for many MRPT methods, an N-vector). More...

#include <mrpt/math/CMatrixViews.h>

Inheritance diagram for mrpt::math::CDiagonalMatrixView< MATRIXTYPE >:
Inheritance graph
[legend]
Collaboration diagram for mrpt::math::CDiagonalMatrixView< MATRIXTYPE >:
Collaboration graph
[legend]

List of all members.

Classes

struct  mrpt_container

Public Types

enum  dummy_enum { mrpt_matrix_type_ncols = -1, mrpt_matrix_type_nrows = -1 }
typedef CDiagonalMatrixView
< MATRIXTYPE > 
mrpt_autotype

Public Member Functions

Methods common to all containers

size_t countNonZero () const
void fill (const value_type &val)
value_type maximum (size_t *maxIndex=NULL) const
value_type minimum (size_t *minIndex=NULL) const
void minimum_maximum (value_type &out_min, value_type &out_max, size_t *minIndex=NULL, size_t *maxIndex=NULL) const
value_type norm_inf (size_t *maxIndex=NULL) const
value_type sumAll () const
template<class CONTAINEROUT >
void cumsum (CONTAINEROUT &out) const
template<class CONTAINEROUT >
CONTAINEROUT cumsum () const
template<class CONTAINER2 >
size_t countCommonElements (const CONTAINER2 &b) const
 Counts the number of elements that appear in both containers (comparison through the == operator).
std::vector< double > histogram (double limit_min, double limit_max, size_t number_bins, bool do_normalization=false) const
 Computes the normalized or normal histogram of a sequence of numbers given the number of bins and the limits.
template<class F >
mrpt_autotype & applyToAllElements (value_type(*function)(value_type))
mrpt_autotype & Sqrt ()
mrpt_autotype & Abs ()
mrpt_autotype & Square ()
mrpt_autotype & Exp ()
mrpt_autotype & Log ()
value_type squareNorm () const
value_type norm () const
value_type mean () const
void adjustRange (const value_type min_val, const value_type max_val)
void normalize (const value_type min_val=0, const value_type max_val=1)
double std (bool unbiased=true) const
void meanAndStd (double &out_mean, double &out_std, bool unbiased=true)
Methods common to all matrices

mrpt_autotype operator+ ()
mrpt_autotype operator- () const
mrpt_autotype & operator+= (const value_type n)
mrpt_autotype & operator-= (const value_type n)
mrpt_autotype & operator*= (const value_type n)
mrpt_autotype & operator/= (const value_type n)

Protected Attributes

MATRIXTYPE & base

Detailed Description

template<typename MATRIXTYPE>
class mrpt::math::CDiagonalMatrixView< MATRIXTYPE >

View the diagonal of an existing NxN matrix as a 1xN matrix (or equivalently for many MRPT methods, an N-vector).

The original matrix should be square, but any matrix can be used as long as only valid elements are accessed. Apart from the matrix-like interface, you can use "[index]" to access individual diagonal elements like if it were a vector.

Definition at line 400 of file CMatrixViews.h.


Member Typedef Documentation

template<typename MATRIXTYPE >
typedef CDiagonalMatrixView<MATRIXTYPE> mrpt::math::CDiagonalMatrixView< MATRIXTYPE >::mrpt_autotype

Definition at line 404 of file CMatrixViews.h.


Member Enumeration Documentation

template<typename MATRIXTYPE >
enum mrpt::math::CDiagonalMatrixView::dummy_enum
Enumerator:
mrpt_matrix_type_ncols 
mrpt_matrix_type_nrows 

Definition at line 407 of file CMatrixViews.h.


Member Function Documentation

template<typename MATRIXTYPE >
mrpt_autotype& mrpt::math::CDiagonalMatrixView< MATRIXTYPE >::Abs (  )  [inline]

Definition at line 409 of file CMatrixViews.h.

template<typename MATRIXTYPE >
void mrpt::math::CDiagonalMatrixView< MATRIXTYPE >::adjustRange ( const value_type  min_val,
const value_type  max_val 
) [inline]
Parameters:
max_val Normalize all the elements such as they are in the given range

Definition at line 409 of file CMatrixViews.h.

template<typename MATRIXTYPE >
template<class F >
mrpt_autotype& mrpt::math::CDiagonalMatrixView< MATRIXTYPE >::applyToAllElements ( value_type(*)(value_type)  function  )  [inline]

Applies a generic operation "T func(T val)" to all the elements.

Definition at line 409 of file CMatrixViews.h.

template<typename MATRIXTYPE >
template<class CONTAINER2 >
size_t mrpt::math::CDiagonalMatrixView< MATRIXTYPE >::countCommonElements ( const CONTAINER2 &  b  )  const [inline]

Counts the number of elements that appear in both containers (comparison through the == operator).

It is assumed that no repeated elements appear within each of the containers.

Definition at line 409 of file CMatrixViews.h.

template<typename MATRIXTYPE >
size_t mrpt::math::CDiagonalMatrixView< MATRIXTYPE >::countNonZero (  )  const [inline]

Count how many elements in a container are non-zero.

Definition at line 409 of file CMatrixViews.h.

template<typename MATRIXTYPE >
template<class CONTAINEROUT >
CONTAINEROUT mrpt::math::CDiagonalMatrixView< MATRIXTYPE >::cumsum (  )  const [inline]

Cumsum of all the elements, returning a container of the given type, for example: CMatrixDouble m = mat.cumsum<CMatrixDouble>();

Definition at line 409 of file CMatrixViews.h.

template<typename MATRIXTYPE >
template<class CONTAINEROUT >
void mrpt::math::CDiagonalMatrixView< MATRIXTYPE >::cumsum ( CONTAINEROUT &  out  )  const [inline]

Cumsum of all the elements, saving in an output container

Definition at line 409 of file CMatrixViews.h.

template<typename MATRIXTYPE >
mrpt_autotype& mrpt::math::CDiagonalMatrixView< MATRIXTYPE >::Exp (  )  [inline]

Definition at line 409 of file CMatrixViews.h.

template<typename MATRIXTYPE >
void mrpt::math::CDiagonalMatrixView< MATRIXTYPE >::fill ( const value_type &  val  )  [inline]

Fill all the elements with a given value

Definition at line 409 of file CMatrixViews.h.

template<typename MATRIXTYPE >
std::vector<double> mrpt::math::CDiagonalMatrixView< MATRIXTYPE >::histogram ( double  limit_min,
double  limit_max,
size_t  number_bins,
bool  do_normalization = false 
) const [inline]

Computes the normalized or normal histogram of a sequence of numbers given the number of bins and the limits.

In any case this is a "linear" histogram, i.e. for matrices, all the elements are taken as if they were a plain sequence, not taking into account they were in columns or rows.

Definition at line 409 of file CMatrixViews.h.

template<typename MATRIXTYPE >
mrpt_autotype& mrpt::math::CDiagonalMatrixView< MATRIXTYPE >::Log (  )  [inline]

Definition at line 409 of file CMatrixViews.h.

template<typename MATRIXTYPE >
value_type mrpt::math::CDiagonalMatrixView< MATRIXTYPE >::maximum ( size_t *  maxIndex = NULL  )  const [inline]

Finds the maximum value (and the corresponding zero-based index).

Definition at line 409 of file CMatrixViews.h.

template<typename MATRIXTYPE >
value_type mrpt::math::CDiagonalMatrixView< MATRIXTYPE >::mean (  )  const [inline]

Return the mean of the container (for matrices, as if it were a vector with all its elements).

Definition at line 409 of file CMatrixViews.h.

template<typename MATRIXTYPE >
void mrpt::math::CDiagonalMatrixView< MATRIXTYPE >::meanAndStd ( double &  out_mean,
double &  out_std,
bool  unbiased = true 
) [inline]

Return the mean and standard deviation of all the elements in the container.

Definition at line 409 of file CMatrixViews.h.

template<typename MATRIXTYPE >
value_type mrpt::math::CDiagonalMatrixView< MATRIXTYPE >::minimum ( size_t *  minIndex = NULL  )  const [inline]

Finds the minimum value (and the corresponding zero-based index).

Definition at line 409 of file CMatrixViews.h.

template<typename MATRIXTYPE >
void mrpt::math::CDiagonalMatrixView< MATRIXTYPE >::minimum_maximum ( value_type &  out_min,
value_type &  out_max,
size_t *  minIndex = NULL,
size_t *  maxIndex = NULL 
) const [inline]

Minimum and maximum of a vector at once

Definition at line 409 of file CMatrixViews.h.

template<typename MATRIXTYPE >
value_type mrpt::math::CDiagonalMatrixView< MATRIXTYPE >::norm (  )  const [inline]

Return the norm of the container (for matrices, as if it were a vector with all its elements).

Definition at line 409 of file CMatrixViews.h.

template<typename MATRIXTYPE >
value_type mrpt::math::CDiagonalMatrixView< MATRIXTYPE >::norm_inf ( size_t *  maxIndex = NULL  )  const [inline]

Compute the norm-infinite of a vector ($f[ ||{v}||_ $f]), ie the maximum absolute value of the elements.

Definition at line 409 of file CMatrixViews.h.

template<typename MATRIXTYPE >
void mrpt::math::CDiagonalMatrixView< MATRIXTYPE >::normalize ( const value_type  min_val = 0,
const value_type  max_val = 1 
) [inline]
Parameters:
max_val Normalize all the elements such as they are in the given range

Definition at line 409 of file CMatrixViews.h.

template<typename MATRIXTYPE >
mrpt_autotype& mrpt::math::CDiagonalMatrixView< MATRIXTYPE >::operator*= ( const value_type  n  )  [inline]
Parameters:
n Multiply by scalar

Definition at line 409 of file CMatrixViews.h.

template<typename MATRIXTYPE >
mrpt_autotype mrpt::math::CDiagonalMatrixView< MATRIXTYPE >::operator+ (  )  [inline]

Definition at line 409 of file CMatrixViews.h.

template<typename MATRIXTYPE >
mrpt_autotype& mrpt::math::CDiagonalMatrixView< MATRIXTYPE >::operator+= ( const value_type  n  )  [inline]
Parameters:
n Sum a scalar

Definition at line 409 of file CMatrixViews.h.

template<typename MATRIXTYPE >
mrpt_autotype mrpt::math::CDiagonalMatrixView< MATRIXTYPE >::operator- (  )  const [inline]

Definition at line 409 of file CMatrixViews.h.

template<typename MATRIXTYPE >
mrpt_autotype& mrpt::math::CDiagonalMatrixView< MATRIXTYPE >::operator-= ( const value_type  n  )  [inline]
Parameters:
n Substract a scalar

Definition at line 409 of file CMatrixViews.h.

template<typename MATRIXTYPE >
mrpt_autotype& mrpt::math::CDiagonalMatrixView< MATRIXTYPE >::operator/= ( const value_type  n  )  [inline]
Parameters:
n Divide by scalar

Definition at line 409 of file CMatrixViews.h.

template<typename MATRIXTYPE >
mrpt_autotype& mrpt::math::CDiagonalMatrixView< MATRIXTYPE >::Sqrt (  )  [inline]

Definition at line 409 of file CMatrixViews.h.

template<typename MATRIXTYPE >
mrpt_autotype& mrpt::math::CDiagonalMatrixView< MATRIXTYPE >::Square (  )  [inline]

Definition at line 409 of file CMatrixViews.h.

template<typename MATRIXTYPE >
value_type mrpt::math::CDiagonalMatrixView< MATRIXTYPE >::squareNorm (  )  const [inline]

Return the square norm of the container (for matrices, as if it were a vector with all its elements).

Definition at line 409 of file CMatrixViews.h.

template<typename MATRIXTYPE >
double mrpt::math::CDiagonalMatrixView< MATRIXTYPE >::std ( bool  unbiased = true  )  const [inline]

Return the standard deviation of all the elements in the container.

Definition at line 409 of file CMatrixViews.h.

template<typename MATRIXTYPE >
value_type mrpt::math::CDiagonalMatrixView< MATRIXTYPE >::sumAll (  )  const [inline]

Sum all the elements

Definition at line 409 of file CMatrixViews.h.


Member Data Documentation

template<typename MATRIXTYPE >
MATRIXTYPE& mrpt::math::CDiagonalMatrixView< MATRIXTYPE >::base [protected]

Definition at line 402 of file CMatrixViews.h.




Page generated by Doxygen 1.7.1 for MRPT 0.8.1 SVN:exported at Sun Sep 19 14:53:45 UTC 2010