primatologist-gpl  5.1.2
matrix.h File Reference
#include <cartodata/volume/volume.h>
#include <cartobase/type/string_conversion.h>
#include <exception>
#include <string>
#include <vector>
Include dependency graph for matrix.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  aims::math::MatrixBase< T >
 Matrix class implementing matrix operations. More...
 
class  aims::math::incompatible_matrix_exception
 This exception is thrown when an attempt is made at multiplying two matrices with incompatible dimensions. More...
 

Namespaces

 aims
 
 aims::math
 

Typedefs

typedef MatrixBase< float > aims::math::Matrix
 
typedef MatrixBase< double > aims::math::MatrixD
 
typedef MatrixBase< float > aims::math::Vector
 
typedef MatrixBase< double > aims::math::VectorD
 

Functions

template<typename T >
MatrixBase< T > aims::math::asMatrix (carto::VolumeRef< T > &volume)
 Interprets the volume as a matrix. More...
 
template<typename T , typename U >
MatrixBase< typename carto::volumeutil::multiplies< T, U >::result_type > aims::math::operator* (const MatrixBase< T > &a, const MatrixBase< U > &b)
 Matrix product. More...
 
template<typename T >
MatrixBase< T > aims::math::transpose (const MatrixBase< T > &)
 Matrix transposition. More...
 
template<typename T >
MatrixBase< T > aims::math::invert (const MatrixBase< T > &)
 Matrix inversion. More...
 
template<typename T , typename U >
bool aims::math::operator== (const MatrixBase< T > &vol, const MatrixBase< U > &other)
 Returns true if the dimensions are the same and if all elements are equal. More...
 
template<typename T , typename U >
bool aims::math::operator!= (const MatrixBase< T > &vol, const MatrixBase< U > &other)
 Returns false if dimensions are not the same or if any couple of elements is not equal. More...
 
template<typename T >
MatrixBase< T > aims::math::operator- (const MatrixBase< T > &vol)
 Returns a Matrix filled with opposite elements. More...
 
template<typename T , typename U >
MatrixBase< typename carto::volumeutil::plus< T, U >::result_type > aims::math::operator+ (const MatrixBase< T > &vol, const U &value)
 Matrix + Scalar. More...
 
template<typename T , typename U >
MatrixBase< typename carto::volumeutil::minus< T, U >::result_type > aims::math::operator- (const MatrixBase< T > &vol, const U &value)
 Matrix - Scalar. More...
 
template<typename T , typename U >
MatrixBase< typename carto::volumeutil::multiplies< T, U >::result_type > aims::math::operator* (const MatrixBase< T > &vol, const U &value)
 Matrix * Scalar. More...
 
template<typename T , typename U >
MatrixBase< typename carto::volumeutil::divides< T, U >::result_type > aims::math::operator/ (const MatrixBase< T > &vol, const U &value)
 Matrix / Scalar. More...
 
template<typename T , typename U >
MatrixBase< typename carto::volumeutil::plus< U, T >::result_type > aims::math::operator+ (const U &value, const MatrixBase< T > &vol)
 
template<typename T , typename U >
MatrixBase< typename carto::volumeutil::minus< U, T >::result_type > aims::math::operator- (const U &value, const MatrixBase< T > &vol)
 
template<typename T , typename U >
MatrixBase< typename carto::volumeutil::multiplies< U, T >::result_type > aims::math::operator* (const U &value, const MatrixBase< T > &vol)
 
template<typename T , typename U >
MatrixBase< typename carto::volumeutil::divides< U, T >::result_type > aims::math::operator/ (const U &value, const MatrixBase< T > &vol)
 
template<typename T , typename U >
MatrixBase< typename carto::volumeutil::plus< T, U >::result_type > aims::math::operator+ (const MatrixBase< T > &vol, const MatrixBase< U > &other)
 
template<typename T , typename U >
MatrixBase< typename carto::volumeutil::minus< T, U >::result_type > aims::math::operator- (const MatrixBase< T > &vol, const MatrixBase< U > &other)
 
template<typename T >
std::ostream & aims::math::operator<< (std::ostream &out, const MatrixBase< T > &matrix)
 Print the matrix content on the standard output. More...
 
template<typename T >
void aims::math::write (const MatrixBase< T > &matrix, const std::string &file)
 Write the matrix content in an image file. More...