SLIP  1.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Namespaces | Typedefs | Functions
Matrix.hpp File Reference

Provides a class to manipulate Numerical Matrix. More...

#include <iostream>
#include <iterator>
#include <cassert>
#include <numeric>
#include <algorithm>
#include <cmath>
#include <string>
#include <cstddef>
#include "Array2d.hpp"
#include "Point2d.hpp"
#include "DPoint2d.hpp"
#include "stride_iterator.hpp"
#include "iterator2d_box.hpp"
#include "Range.hpp"
#include "iterator2d_range.hpp"
#include "apply.hpp"
#include "norms.hpp"
#include "linear_algebra.hpp"
#include "linear_algebra_traits.hpp"
#include "linear_algebra_eigen.hpp"
#include "linear_algebra_svd.hpp"
#include "complex_cast.hpp"
#include <boost/serialization/access.hpp>
#include <boost/serialization/split_member.hpp>
#include <boost/serialization/string.hpp>
#include <boost/serialization/complex.hpp>
#include <boost/serialization/version.hpp>
Include dependency graph for Matrix.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  slip::stride_iterator< T >
 
class  slip::iterator2d_box< T >
 This is some iterator to iterate a 2d container into a slip::Box2d area defined by the indices of the 2d container. More...
 
class  slip::iterator2d_range< T >
 This is some iterator to iterate a 2d container into two Range defined by the indices and strides of the 2d container. More...
 
class  slip::const_iterator2d_box< T >
 This is some iterator to iterate a 2d container into a Box area defined by the indices of the 2d container. More...
 
class  slip::const_iterator2d_range< T >
 This is some iterator to iterate a 2d container into two Range defined by the indices and strides of the 2d container. More...
 
class  slip::DPoint2d< T >
 Difference of Point2D class, specialization of DPoint<CoordType,DIM> with DIM = 2. More...
 
class  slip::Point2d< T >
 This is a point2d class, a specialized version of Point<CoordType,DIM> with DIM = 2. More...
 
class  slip::Box2d< CoordType >
 This is a Box2d class, a specialized version of slip::Box<CoordType,DIM> with DIM = 2. More...
 
class  slip::Matrix< Block >
 Numerical matrix class. This container statisfies the BidirectionnalContainer concepts of the STL. It is also an 2d extension of the RandomAccessContainer concept. That is to say the bracket element access is replaced by the double bracket element access. It extends the interface of Array2d adding arithmetical: +=, -=, *=, /=,+,-,/,*... and mathematical operators: min, max, abs, sqrt, cos, acos, sin, asin, tan, atan, exp, log, cosh, sinh, tanh, log10, sum, apply... More...
 
class  slip::Array2d< T >
 This is a two-dimensional dynamic and generic container. This container statisfies the BidirectionnalContainer concepts of the STL. It is also an 2d extension of the RandomAccessContainer concept. That is to say the bracket element access is replaced by the double bracket element access. More...
 
class  slip::Matrix< Block >
 Numerical matrix class. This container statisfies the BidirectionnalContainer concepts of the STL. It is also an 2d extension of the RandomAccessContainer concept. That is to say the bracket element access is replaced by the double bracket element access. It extends the interface of Array2d adding arithmetical: +=, -=, *=, /=,+,-,/,*... and mathematical operators: min, max, abs, sqrt, cos, acos, sin, asin, tan, atan, exp, log, cosh, sinh, tanh, log10, sum, apply... More...
 

Namespaces

 slip
 This namespace corresponds to the kernel of the Simple Library on Image Processing (SLIP). That is to say that it contains the data structures and the algorithms needed by these data strucutres.
 

Typedefs

typedef slip::Matrix< double > slip::Matrix_d
 double alias More...
 
typedef slip::Matrix< float > slip::Matrix_f
 float alias More...
 
typedef slip::Matrix< long > slip::Matrix_l
 long alias More...
 
typedef slip::Matrix< unsigned
long > 
slip::Matrix_ul
 unsigned long alias More...
 
typedef slip::Matrix< short > slip::Matrix_s
 short alias More...
 
typedef slip::Matrix< unsigned
short > 
slip::Matrix_us
 unsigned long alias More...
 
typedef slip::Matrix< int > slip::Matrix_i
 int alias More...
 
typedef slip::Matrix< unsigned
int > 
slip::Matrix_ui
 unsigned int alias More...
 
typedef slip::Matrix< char > slip::Matrix_c
 char alias More...
 
typedef slip::Matrix< unsigned
char > 
slip::Matrix_uc
 unsigned char alias More...
 

Functions

template<typename T >
std::ostream & slip::operator<< (std::ostream &out, const slip::Matrix< T > &a)
 
template<typename T >
T & slip::min (const Matrix< T > &M1)
 
template<typename T >
T & slip::max (const Matrix< T > &M1)
 
template<typename T >
Matrix< typename
slip::lin_alg_traits< T >
::value_type > 
slip::abs (const Matrix< T > &M)
 
template<typename T >
Matrix< T > slip::sqrt (const Matrix< T > &M)
 
template<typename T >
Matrix< T > slip::cos (const Matrix< T > &M)
 
Matrix< float > slip::acos (const Matrix< float > &M)
 
Matrix< double > slip::acos (const Matrix< double > &M)
 
Matrix< long double > slip::acos (const Matrix< long double > &M)
 
template<typename T >
Matrix< T > slip::sin (const Matrix< T > &M)
 
Matrix< float > slip::asin (const Matrix< float > &M)
 
Matrix< double > slip::asin (const Matrix< double > &M)
 
Matrix< long double > slip::asin (const Matrix< long double > &M)
 
template<typename T >
Matrix< T > slip::tan (const Matrix< T > &M)
 
Matrix< float > slip::atan (const Matrix< float > &M)
 
Matrix< double > slip::atan (const Matrix< double > &M)
 
Matrix< long double > slip::atan (const Matrix< long double > &M)
 
template<typename T >
Matrix< T > slip::exp (const Matrix< T > &M)
 
template<typename T >
Matrix< T > slip::log (const Matrix< T > &M)
 
template<typename T >
Matrix< T > slip::cosh (const Matrix< T > &M)
 
template<typename T >
Matrix< T > slip::sinh (const Matrix< T > &M)
 
template<typename T >
Matrix< T > slip::tanh (const Matrix< T > &M)
 
template<typename T >
Matrix< T > slip::log10 (const Matrix< T > &M)
 
EqualityComparable functions
template<typename T >
bool slip::operator== (const slip::Matrix< T > &x, const slip::Matrix< T > &y)
 
template<typename T >
bool slip::operator!= (const slip::Matrix< T > &x, const slip::Matrix< T > &y)
 
LessThanComparable functions
template<typename T >
bool slip::operator< (const slip::Matrix< T > &x, const slip::Matrix< T > &y)
 
template<typename T >
bool slip::operator> (const slip::Matrix< T > &x, const slip::Matrix< T > &y)
 
template<typename T >
bool slip::operator<= (const slip::Matrix< T > &x, const slip::Matrix< T > &y)
 
template<typename T >
bool slip::operator>= (const slip::Matrix< T > &x, const slip::Matrix< T > &y)
 
Arithmetical operators
template<typename T >
Matrix< T > slip::operator+ (const Matrix< T > &M1, const Matrix< T > &M2)
 pointwise addition of two Matrix More...
 
template<typename T >
Matrix< T > slip::operator+ (const Matrix< T > &M1, const T &val)
 addition of a scalar to each element of a Matrix More...
 
template<typename T >
Matrix< T > slip::operator+ (const T &val, const Matrix< T > &M1)
 addition of a scalar to each element of a Matrix More...
 
template<typename T >
Matrix< T > slip::operator- (const Matrix< T > &M1, const Matrix< T > &M2)
 pointwise substraction of two Matrix More...
 
template<typename T >
Matrix< T > slip::operator- (const Matrix< T > &M1, const T &val)
 substraction of a scalar to each element of a Matrix More...
 
template<typename T >
Matrix< T > slip::operator- (const T &val, const Matrix< T > &M1)
 substraction of a scalar to each element of a Matrix More...
 
template<typename T >
Matrix< T > slip::operator* (const Matrix< T > &M1, const Matrix< T > &M2)
 pointwise multiplication of two Matrix More...
 
template<typename T >
Matrix< T > slip::operator* (const Matrix< T > &M1, const T &val)
 multiplication of a scalar to each element of a Matrix More...
 
template<typename T >
Matrix< T > slip::operator* (const T &val, const Matrix< T > &M1)
 multiplication of a scalar to each element of a Matrix More...
 
template<typename T >
Matrix< T > slip::operator/ (const Matrix< T > &M1, const Matrix< T > &M2)
 pointwise division of two Matrix More...
 
template<typename T >
Matrix< T > slip::operator/ (const Matrix< T > &M1, const T &val)
 division of a scalar to each element of a Matrix More...
 

Detailed Description

Provides a class to manipulate Numerical Matrix.

Definition in file Matrix.hpp.