IT++ Logo

mat.h File Reference


Detailed Description

Matrix Class Definitions.

Author:
Tony Ottosson, Tobias Ringstrom, Adam Piatyszek and Conrad Sanderson
-------------------------------------------------------------------------

IT++ - C++ library of mathematical, signal processing, speech processing, and communications classes and functions

Copyright (C) 1995-2007 (see AUTHORS file for a list of contributors)

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA

-------------------------------------------------------------------------

Definition in file mat.h.

#include <itpp/config.h>
#include <itpp/base/itassert.h>
#include <itpp/base/math/misc.h>
#include <itpp/base/factory.h>
#include <itpp/base/vec.h>

Go to the source code of this file.

Namespaces

namespace  itpp

Classes

class  itpp::Mat< Num_T >
 Matrix Class (Templated). More...

Typedefs

typedef Mat< bin > bmat
 bin matrix

Functions

template<class Num_T>
const Mat< Num_T > itpp::concat_horizontal (const Mat< Num_T > &m1, const Mat< Num_T > &m2)
 Horizontal concatenation of two matrices.
template<class Num_T>
const Mat< Num_T > itpp::concat_vertical (const Mat< Num_T > &m1, const Mat< Num_T > &m2)
 Vertical concatenation of two matrices.
template<class Num_T>
const Mat< Num_T > itpp::operator+ (const Mat< Num_T > &m1, const Mat< Num_T > &m2)
 Addition of two matricies.
template<class Num_T>
const Mat< Num_T > itpp::operator+ (const Mat< Num_T > &m, Num_T t)
 Addition of a matrix and a scalar.
template<class Num_T>
const Mat< Num_T > itpp::operator+ (Num_T t, const Mat< Num_T > &m)
 Addition of a scalar and a matrix.
template<class Num_T>
const Mat< Num_T > itpp::operator- (const Mat< Num_T > &m1, const Mat< Num_T > &m2)
 Subtraction of two matrices.
template<class Num_T>
const Mat< Num_T > itpp::operator- (const Mat< Num_T > &m, Num_T t)
 Subtraction of matrix and scalar.
template<class Num_T>
const Mat< Num_T > itpp::operator- (Num_T t, const Mat< Num_T > &m)
 Subtraction of scalar and matrix.
template<class Num_T>
const Mat< Num_T > itpp::operator- (const Mat< Num_T > &m)
 Negation of matrix.
template<class Num_T>
const Mat< Num_T > itpp::operator * (const Mat< Num_T > &m1, const Mat< Num_T > &m2)
 Multiplication of two matricies.
template<class Num_T>
const Vec< Num_T > itpp::operator * (const Mat< Num_T > &m, const Vec< Num_T > &v)
 Multiplication of matrix and vector.
template<class Num_T>
const Mat< Num_T > itpp::operator * (const Vec< Num_T > &v, const Mat< Num_T > &m)
 Multiplication of vector and matrix (only works for a matrix that is a row vector).
template<class Num_T>
const Mat< Num_T > itpp::operator * (const Mat< Num_T > &m, Num_T t)
 Multiplication of matrix and scalar.
template<class Num_T>
const Mat< Num_T > itpp::operator * (Num_T t, const Mat< Num_T > &m)
 Multiplication of scalar and matrix.
template<class Num_T>
const Mat< Num_T > itpp::elem_mult (const Mat< Num_T > &A, const Mat< Num_T > &B)
 Element wise multiplication of two matrices. Same functionality as Matlab/Octave expression A .* B.
template<class Num_T>
void itpp::elem_mult_out (const Mat< Num_T > &A, const Mat< Num_T > &B, Mat< Num_T > &out)
 Element wise multiplication of two matrices, storing the result in matrix out (which is re-sized if necessary).
template<class Num_T>
void itpp::elem_mult_out (const Mat< Num_T > &A, const Mat< Num_T > &B, const Mat< Num_T > &C, Mat< Num_T > &out)
 Element wise multiplication of three matrices, storing the result in matrix out (which is re-sized if necessary).
template<class Num_T>
void itpp::elem_mult_out (const Mat< Num_T > &A, const Mat< Num_T > &B, const Mat< Num_T > &C, const Mat< Num_T > &D, Mat< Num_T > &out)
 Element wise multiplication of four matrices, storing the result in matrix out (which is re-sized if necessary).
template<class Num_T>
void itpp::elem_mult_inplace (const Mat< Num_T > &A, Mat< Num_T > &B)
 In-place element wise multiplication of two matrices. Fast version of B = elem_mult(A,B).
template<class Num_T>
Num_T itpp::elem_mult_sum (const Mat< Num_T > &A, const Mat< Num_T > &B)
 Element wise multiplication of two matrices, followed by summation of the resultant elements. Fast version of sumsum(elem_mult(A,B)).
template<class Num_T>
const Mat< Num_T > itpp::operator/ (const Mat< Num_T > &m, Num_T t)
 Division of matrix and scalar.
template<class Num_T>
const Mat< Num_T > itpp::elem_div (const Mat< Num_T > &A, const Mat< Num_T > &B)
 Element wise division of two matrices. Same functionality as Matlab/Octave expression A ./ B.
template<class Num_T>
void itpp::elem_div_out (const Mat< Num_T > &A, const Mat< Num_T > &B, Mat< Num_T > &out)
 Element wise division of two matrices, storing the result in matrix out (which is re-sized if necessary).
template<class Num_T>
Num_T itpp::elem_div_sum (const Mat< Num_T > &A, const Mat< Num_T > &B)
 Element wise division of two matrices, followed by summation of the resultant elements. Fast version of sumsum(elem_div(A,B)).
template<class Num_T>
std::ostream & itpp::operator<< (std::ostream &os, const Mat< Num_T > &m)
 Output stream for matrices.
template<class Num_T>
std::istream & itpp::operator>> (std::istream &is, Mat< Num_T > &m)
 Input stream for matrices.

SourceForge Logo

Generated on Mon Jan 7 22:29:00 2008 for IT++ by Doxygen 1.5.4