Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes

mln::algebra::mat< n, m, T > Class Template Reference

#include <mat.hh>

Inheritance diagram for mln::algebra::mat< n, m, T >:
Inheritance graph

List of all members.

Public Types

enum  { N = n, M = m, dim = n * m }
typedef Object< void > category
typedef T coord
typedef mat< n, m, T > exact_t

Public Member Functions

mat< n, m, T > _1 () const
 Return the inverse of the matrix.
template<typename F >
 mat (const Function_v2v< F > &f)
 Constructor; coordinates are set by function f.
 mat (const literal::zero_t &)
 mat (const literal::identity_t &)
template<typename U >
 mat (const mat< n, m, U > &rhs)
 mat ()
 mat (const literal::one_t &)
const T & operator() (unsigned i, unsigned j) const
T & operator() (unsigned i, unsigned j)
template<typename U >
matoperator= (const mat< n, m, U > &rhs)
void set_all (const T &val)
unsigned size () const
mat< m, n, T > t () const
 Return the transpose of the matrix.

Static Public Member Functions

static mat identity ()

Static Public Attributes

static const mat< n, m, T > Id = mat<n,m,T>::identity()

Private Member Functions

void set_id_ ()

Private Attributes

data_ [n][m]

Detailed Description

template<unsigned n, unsigned m, typename T>
class mln::algebra::mat< n, m, T >

Definition at line 85 of file algebra/mat.hh.


Member Typedef Documentation

typedef Object<void> mln::Object< mat< n, m, T > >::category [inherited]

Definition at line 174 of file object.hh.

template<unsigned n, unsigned m, typename T>
typedef T mln::algebra::mat< n, m, T >::coord

Definition at line 89 of file algebra/mat.hh.

typedef mat< n, m, T > mln::Object< mat< n, m, T > >::exact_t [inherited]

Definition at line 173 of file object.hh.


Member Enumeration Documentation

template<unsigned n, unsigned m, typename T>
anonymous enum
Enumerator:
N 
M 
dim 

Definition at line 90 of file algebra/mat.hh.


Constructor & Destructor Documentation

template<unsigned n, unsigned m, typename T >
mln::algebra::mat< n, m, T >::mat (  )  [inline]

Definition at line 429 of file algebra/mat.hh.

template<unsigned n, unsigned m, typename T >
mln::algebra::mat< n, m, T >::mat ( const literal::zero_t  )  [inline]

Definition at line 435 of file algebra/mat.hh.

References mln::algebra::mat< n, m, T >::set_all().

template<unsigned n, unsigned m, typename T >
mln::algebra::mat< n, m, T >::mat ( const literal::one_t  )  [inline]

Definition at line 455 of file algebra/mat.hh.

References mln::algebra::mat< n, m, T >::set_id_().

template<unsigned n, unsigned m, typename T >
mln::algebra::mat< n, m, T >::mat ( const literal::identity_t  )  [inline]

Definition at line 462 of file algebra/mat.hh.

References mln::algebra::mat< n, m, T >::set_id_().

template<unsigned n, unsigned m, typename T >
template<typename U >
mln::algebra::mat< n, m, T >::mat ( const mat< n, m, U > &  rhs  )  [inline]

Definition at line 470 of file algebra/mat.hh.

References mln::algebra::mat< n, m, T >::data_, and mln::rhs.

template<unsigned n, unsigned m, typename T >
template<typename F >
mln::algebra::mat< n, m, T >::mat ( const Function_v2v< F > &  f  )  [inline]

Constructor; coordinates are set by function f.

Definition at line 480 of file algebra/mat.hh.

References mln::algebra::mat< n, m, T >::data_, and mln::exact().


Member Function Documentation

template<unsigned n, unsigned m, typename T >
mat< n, m, T > mln::algebra::mat< n, m, T >::_1 (  )  const [inline]

Return the inverse of the matrix.

Only compile on square matrix.

Definition at line 604 of file algebra/mat.hh.

References mln::algebra::internal::inverse().

Referenced by mln::fun::stat::mahalanobis< V >::mahalanobis().

template<unsigned n, unsigned m, typename T >
mat< n, m, T > mln::algebra::mat< n, m, T >::identity (  )  [inline, static]

Definition at line 413 of file algebra/mat.hh.

template<unsigned n, unsigned m, typename T >
const T & mln::algebra::mat< n, m, T >::operator() ( unsigned  i,
unsigned  j 
) const [inline]

Definition at line 504 of file algebra/mat.hh.

References mln::algebra::mat< n, m, T >::data_.

template<unsigned n, unsigned m, typename T >
T & mln::algebra::mat< n, m, T >::operator() ( unsigned  i,
unsigned  j 
) [inline]

Definition at line 513 of file algebra/mat.hh.

References mln::algebra::mat< n, m, T >::data_.

template<unsigned n, unsigned m, typename T >
template<typename U >
mat< n, m, T > & mln::algebra::mat< n, m, T >::operator= ( const mat< n, m, U > &  rhs  )  [inline]

Definition at line 493 of file algebra/mat.hh.

References mln::algebra::mat< n, m, T >::data_, and mln::rhs.

template<unsigned n, unsigned m, typename T>
void mln::algebra::mat< n, m, T >::set_all ( const T &  val  )  [inline]
template<unsigned n, unsigned m, typename T >
void mln::algebra::mat< n, m, T >::set_id_ (  )  [inline, private]
template<unsigned n, unsigned m, typename T >
unsigned mln::algebra::mat< n, m, T >::size (  )  const [inline]

Definition at line 530 of file algebra/mat.hh.

template<unsigned n, unsigned m, typename T >
mat< m, n, T > mln::algebra::mat< n, m, T >::t (  )  const [inline]

Member Data Documentation

template<unsigned n, unsigned m, typename T>
T mln::algebra::mat< n, m, T >::data_[n][m] [private]
template<unsigned n, unsigned m, typename T>
const mat< n, m, T > mln::algebra::mat< n, m, T >::Id = mat<n,m,T>::identity() [static]

Definition at line 94 of file algebra/mat.hh.