vec.h File Reference

Templated Vector Class Definitions. More...

#include <itpp/config.h>
#include <itpp/base/itassert.h>
#include <itpp/base/math/misc.h>
#include <itpp/base/copy_vector.h>
#include <itpp/base/factory.h>
#include <vector>
#include <itpp/base/mat.h>

Go to the source code of this file.

Classes

class  itpp::Vec< Num_T >
 Vector Class (Templated). More...

Functions

template<class Num_T >
Vec< Num_T > itpp::operator+ (const Vec< Num_T > &v1, const Vec< Num_T > &v2)
 Addition of two vectors.
template<class Num_T >
Vec< Num_T > itpp::operator+ (const Vec< Num_T > &v, Num_T t)
 Addition of a vector and a scalar.
template<class Num_T >
Vec< Num_T > itpp::operator+ (Num_T t, const Vec< Num_T > &v)
 Addition of a scalar and a vector.
template<class Num_T >
Vec< Num_T > itpp::operator- (const Vec< Num_T > &v1, const Vec< Num_T > &v2)
 Subtraction of a vector from a vector.
template<class Num_T >
Vec< Num_T > itpp::operator- (const Vec< Num_T > &v, Num_T t)
 Subtraction of a scalar from a vector.
template<class Num_T >
Vec< Num_T > itpp::operator- (Num_T t, const Vec< Num_T > &v)
 Subtraction of vector from scalar. Results in a vector.
template<class Num_T >
Vec< Num_T > itpp::operator- (const Vec< Num_T > &v)
 Negation of vector.
template<class Num_T >
Num_T itpp::dot (const Vec< Num_T > &v1, const Vec< Num_T > &v2)
 Inner (dot) product of two vectors v1 and v2.
template<class Num_T >
Num_T itpp::operator* (const Vec< Num_T > &v1, const Vec< Num_T > &v2)
 Inner (dot) product of two vectors v1 and v2.
template<class Num_T >
Mat< Num_T > itpp::outer_product (const Vec< Num_T > &v1, const Vec< Num_T > &v2, bool hermitian=false)
 Outer product of two vectors v1 and v2.
template<class Num_T >
Vec< Num_T > itpp::operator* (const Vec< Num_T > &v, Num_T t)
 Multiplication of a vector and a scalar.
template<class Num_T >
Vec< Num_T > itpp::operator* (Num_T t, const Vec< Num_T > &v)
 Multiplication of a scalar and a vector. Results in a vector.
template<class Num_T >
Vec< Num_T > itpp::elem_mult (const Vec< Num_T > &a, const Vec< Num_T > &b)
 Element-wise multiplication of two vectors.
template<class Num_T >
Vec< Num_T > itpp::elem_mult (const Vec< Num_T > &a, const Vec< Num_T > &b, const Vec< Num_T > &c)
 Element-wise multiplication of three vectors.
template<class Num_T >
Vec< Num_T > itpp::elem_mult (const Vec< Num_T > &a, const Vec< Num_T > &b, const Vec< Num_T > &c, const Vec< Num_T > &d)
 Element-wise multiplication of four vectors.
template<class Num_T >
void itpp::elem_mult_out (const Vec< Num_T > &a, const Vec< Num_T > &b, Vec< Num_T > &out)
 Element-wise multiplication of two vectors, storing the result in vector out.
template<class Num_T >
void itpp::elem_mult_out (const Vec< Num_T > &a, const Vec< Num_T > &b, const Vec< Num_T > &c, Vec< Num_T > &out)
 Element-wise multiplication of three vectors, storing the result in vector out.
template<class Num_T >
void itpp::elem_mult_out (const Vec< Num_T > &a, const Vec< Num_T > &b, const Vec< Num_T > &c, const Vec< Num_T > &d, Vec< Num_T > &out)
 Element-wise multiplication of four vectors, storing the result in vector out.
template<class Num_T >
void itpp::elem_mult_inplace (const Vec< Num_T > &a, Vec< Num_T > &b)
 In-place element-wise multiplication of two vectors. Faster version of b = elem_mult(a,b).
template<class Num_T >
Num_T itpp::elem_mult_sum (const Vec< Num_T > &a, const Vec< Num_T > &b)
 Element-wise multiplication of two vectors, followed by summation of the resultant elements. Fast version of sum(elem_mult(a,b)).
template<class Num_T >
Vec< Num_T > itpp::operator/ (const Vec< Num_T > &v, Num_T t)
 Division of all elements in v with t.
template<class Num_T >
Vec< Num_T > itpp::operator/ (Num_T t, const Vec< Num_T > &v)
 Division of t with all elements in v.
template<class Num_T >
Vec< Num_T > itpp::elem_div (const Vec< Num_T > &a, const Vec< Num_T > &b)
 Elementwise division of two vectors.
template<class Num_T >
Vec< Num_T > itpp::elem_div (Num_T t, const Vec< Num_T > &v)
 This function is deprecated. Please use operator/(Num_T, const Vec<Num_T &) instead.
template<class Num_T >
void itpp::elem_div_out (const Vec< Num_T > &a, const Vec< Num_T > &b, Vec< Num_T > &out)
 Elementwise division of two vectors, storing the result in vector out.
template<class Num_T >
Num_T itpp::elem_div_sum (const Vec< Num_T > &a, const Vec< Num_T > &b)
 Elementwise division of two vectors, followed by summation of the resultant elements. Fast version of sum(elem_div(a,b)).
template<class Num_T >
Vec< Num_T > itpp::concat (const Vec< Num_T > &v, Num_T a)
 Append element a to the end of the vector v.
template<class Num_T >
Vec< Num_T > itpp::concat (Num_T a, const Vec< Num_T > &v)
 Concat element a to the beginning of the vector v.
template<class Num_T >
Vec< Num_T > itpp::concat (const Vec< Num_T > &v1, const Vec< Num_T > &v2)
 Concat vectors v1 and v2.
template<class Num_T >
Vec< Num_T > itpp::concat (const Vec< Num_T > &v1, const Vec< Num_T > &v2, const Vec< Num_T > &v3)
 Concat vectors v1, v2 and v3.
template<class Num_T >
Vec< Num_T > itpp::concat (const Vec< Num_T > &v1, const Vec< Num_T > &v2, const Vec< Num_T > &v3, const Vec< Num_T > &v4)
 Concat vectors v1, v2, v3 and v4.
template<class Num_T >
Vec< Num_T > itpp::concat (const Vec< Num_T > &v1, const Vec< Num_T > &v2, const Vec< Num_T > &v3, const Vec< Num_T > &v4, const Vec< Num_T > &v5)
 Concat vectors v1, v2 v3, v4 and v5.
template<>
cmat itpp::outer_product (const cvec &v1, const cvec &v2, bool hermitian)
 Outer product of two vectors v1 and v2.
template<class Num_T >
std::ostream & itpp::operator<< (std::ostream &os, const Vec< Num_T > &v)
 Output stream operator of a vector v.
template<class Num_T >
std::istream & itpp::operator>> (std::istream &is, Vec< Num_T > &v)
 Input stream operator to read a vector.


Detailed Description

Templated Vector Class Definitions.

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

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

This file is part of IT++ - a C++ library of mathematical, signal processing, speech processing, and communications classes and functions.

IT++ 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 3 of the License, or (at your option) any later version.

IT++ 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 IT++. If not, see <http://www.gnu.org/licenses/>.

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


Generated on Tue Jun 2 10:02:14 2009 for mixpp by  doxygen 1.5.8