IT++ Logo Newcom Logo

Functions on Matrices

Functions on vectors and matrices. More...

Functions

template<class T>
int itpp::length (const Vec< T > &v)
 Length of vector.
template<class T>
int itpp::size (const Vec< T > &v)
 Length of vector.
template<class T>
itpp::sum (const Vec< T > &v)
 Sum of all elements in the vector.
template<class T>
Vec< T > itpp::sum (const Mat< T > &m, int dim=1)
 Sum of elements in the matrix m.
template<class T>
itpp::sum_sqr (const Vec< T > &v)
 Sum of square of the elements in a vector.
template<class T>
Vec< T > itpp::sum_sqr (const Mat< T > &m, int dim=1)
 Sum of the square of elements in the matrix m.
template<class T>
Vec< T > itpp::cumsum (const Vec< T > &v)
 Cumulative sum of all elements in the vector.
template<class T>
Mat< T > itpp::cumsum (const Mat< T > &m, int dim=1)
 Cumulative sum of elements in the matrix m.
template<class T>
itpp::prod (const Vec< T > &v)
 The product of all elements in the vector.
template<class T>
Vec< T > itpp::prod (const Mat< T > &m, int dim=1)
 Product of elements in the matrix m.
template<class T>
Vec< T > itpp::cross (const Vec< T > &v1, const Vec< T > &v2)
 Vector cross product. Vectors need to be of size 3.
template<class T, class fT>
Vec< T > itpp::apply_function (fT(*f)(fT), const Vec< T > &data)
 Apply arbitrary function to a vector.
template<class T, class fT>
Mat< T > itpp::apply_function (fT(*f)(fT), const Mat< T > &data)
 Apply arbitrary functions to a matrix.
template<class T>
Vec< T > itpp::zero_pad (const Vec< T > &v, int n)
 Zero-pad a vector to size n.
template<class T>
Vec< T > itpp::zero_pad (const Vec< T > &v)
 Zero-pad a vector to the nearest greater power of two.
template<class T>
Mat< T > itpp::zero_pad (const Mat< T > &m, int rows, int cols)
 Zero-pad a matrix to size rows x cols.
template<class T>
itpp::index_zero_pad (const Vec< T > &v, const int index)
template<class T>
void itpp::transpose (const Mat< T > &m, Mat< T > &out)
 Transposition of the matrix m returning the transposed matrix in out.
template<class T>
Mat< T > itpp::transpose (const Mat< T > &m)
 Transposition of the matrix m.
template<class T>
void itpp::hermitian_transpose (const Mat< T > &m, Mat< T > &out)
template<class T>
Mat< T > itpp::hermitian_transpose (const Mat< T > &m)
 Hermitian transpose (complex conjugate transpose) of the matrix m.
template<class Num_T>
bool itpp::is_hermitian (const Mat< Num_T > &X)
 Returns true if matrix X is hermitian, false otherwise.
template<class Num_T>
bool itpp::is_unitary (const Mat< Num_T > &X)
 Returns true if matrix X is unitary, false otherwise.
template<class Num_T>
Mat< Num_T > itpp::kron (const Mat< Num_T > &X, const Mat< Num_T > &Y)
 Computes the Kronecker product of two matrices.
cmat itpp::sqrtm (const cmat &A)
 Square root of the complex square matrix A.
cmat itpp::sqrtm (const mat &A)
 Square root of the real square matrix A.

Detailed Description

Functions on vectors and matrices.


Function Documentation

template<class T>
int itpp::length const Vec< T > &  v  ) 
 

Length of vector.

Definition at line 50 of file matfunc.h.

References itpp::Vec< Num_T >::length().

template<class T>
int itpp::size const Vec< T > &  v  ) 
 

Length of vector.

Definition at line 54 of file matfunc.h.

References itpp::Vec< Num_T >::length().

Referenced by itpp::Ccvec2mxArray(), itpp::Civec2mxArray(), itpp::Csvec2mxArray(), itpp::Cvec2mxArray(), itpp::it_file::low_level_write(), itpp::mxArray2bin(), itpp::mxArray2bvec(), itpp::mxArray2Ccvec(), itpp::mxArray2Civec(), itpp::mxArray2Csvec(), itpp::mxArray2Cvec(), itpp::mxArray2cvec(), itpp::mxArray2double(), itpp::mxArray2double_complex(), itpp::mxArray2int(), itpp::mxArray2ivec(), itpp::mxArray2short(), itpp::mxArray2svec(), itpp::mxArray2vec(), pcamat(), selcol(), itpp::GF::set_size(), and itpp::toeplitz().

template<class T>
T itpp::sum const Vec< T > &  v  ) 
 

Sum of all elements in the vector.

Definition at line 59 of file matfunc.h.

References itpp::Vec< Num_T >::length().

template<class T>
Vec<T> itpp::sum const Mat< T > &  m,
int  dim = 1
 

Sum of elements in the matrix m.

sum(m) = sum(m, 1) returns a vector where the elements are sum over each column, whereas sum(m, 2) returns a vector where the elements are sum over each row

Definition at line 77 of file matfunc.h.

References itpp::Mat< Num_T >::cols(), itpp::Mat< Num_T >::get_col(), itpp::Mat< Num_T >::get_row(), it_assert, itpp::Mat< Num_T >::rows(), itpp::Vec< Num_T >::set_size(), and itpp::sum().

template<class T>
T itpp::sum_sqr const Vec< T > &  v  ) 
 

Sum of square of the elements in a vector.

Definition at line 100 of file matfunc.h.

References itpp::Vec< Num_T >::length().

template<class T>
Vec<T> itpp::sum_sqr const Mat< T > &  m,
int  dim = 1
 

Sum of the square of elements in the matrix m.

sum(m) = sum(m, 1) returns a vector where the elements are sum squared over each column, whereas sum(m, 2) returns a vector where the elements are sum squared over each row

Definition at line 118 of file matfunc.h.

References itpp::Mat< Num_T >::cols(), itpp::Mat< Num_T >::get_col(), itpp::Mat< Num_T >::get_row(), it_assert, itpp::Mat< Num_T >::rows(), itpp::Vec< Num_T >::set_size(), and itpp::sum_sqr().

template<class T>
Vec<T> itpp::cumsum const Vec< T > &  v  ) 
 

Cumulative sum of all elements in the vector.

Definition at line 141 of file matfunc.h.

References itpp::Vec< Num_T >::size().

template<class T>
Mat<T> itpp::cumsum const Mat< T > &  m,
int  dim = 1
 

Cumulative sum of elements in the matrix m.

cumsum(m) = cumsum(m, 1) returns a matrix where the elements are sums over each column, whereas cumsum(m, 2) returns a matrix where the elements are sums over each row

Definition at line 160 of file matfunc.h.

References itpp::Mat< Num_T >::cols(), itpp::cumsum(), itpp::Mat< Num_T >::get_col(), itpp::Mat< Num_T >::get_row(), it_assert, and itpp::Mat< Num_T >::rows().

template<class T>
T itpp::prod const Vec< T > &  v  ) 
 

The product of all elements in the vector.

Definition at line 178 of file matfunc.h.

References it_assert, and itpp::Vec< Num_T >::size().

template<class T>
Vec<T> itpp::prod const Mat< T > &  m,
int  dim = 1
 

Product of elements in the matrix m.

prod(m) = prod(m, 1) returns a vector where the elements are products over each column, whereas prod(m, 2) returns a vector where the elements are products over each row

Definition at line 197 of file matfunc.h.

References itpp::Mat< Num_T >::cols(), itpp::Mat< Num_T >::get_col(), itpp::Mat< Num_T >::get_row(), it_assert, itpp::prod(), and itpp::Mat< Num_T >::rows().

template<class T>
Vec<T> itpp::cross const Vec< T > &  v1,
const Vec< T > &  v2
 

Vector cross product. Vectors need to be of size 3.

Definition at line 223 of file matfunc.h.

References it_assert, and itpp::Vec< Num_T >::size().

template<class T, class fT>
Vec<T> itpp::apply_function fT(*)(fT)  f,
const Vec< T > &  data
 

Apply arbitrary function to a vector.

Definition at line 240 of file matfunc.h.

References itpp::Vec< Num_T >::length().

template<class T, class fT>
Mat<T> itpp::apply_function fT(*)(fT)  f,
const Mat< T > &  data
 

Apply arbitrary functions to a matrix.

Definition at line 252 of file matfunc.h.

References itpp::Mat< Num_T >::cols(), and itpp::Mat< Num_T >::rows().

template<class T>
Vec<T> itpp::zero_pad const Vec< T > &  v,
int  n
 

Zero-pad a vector to size n.

Definition at line 267 of file matfunc.h.

References it_assert, and itpp::Vec< Num_T >::size().

template<class T>
Vec<T> itpp::zero_pad const Vec< T > &  v  ) 
 

Zero-pad a vector to the nearest greater power of two.

Definition at line 280 of file matfunc.h.

References itpp::levels2bits(), itpp::pow2i(), itpp::Vec< Num_T >::size(), and itpp::zero_pad().

template<class T>
Mat<T> itpp::zero_pad const Mat< T > &  m,
int  rows,
int  cols
 

Zero-pad a matrix to size rows x cols.

Definition at line 289 of file matfunc.h.

References itpp::Mat< Num_T >::cols(), it_assert, itpp::Mat< Num_T >::rows(), and itpp::Mat< Num_T >::set_submatrix().

template<class T>
T itpp::index_zero_pad const Vec< T > &  v,
const int  index
 

Return zero if indexing outside the vector v otherwise return the element index

Definition at line 307 of file matfunc.h.

References itpp::Vec< Num_T >::size().

Referenced by itpp::xcorr_old().

template<class T>
void itpp::transpose const Mat< T > &  m,
Mat< T > &  out
 

Transposition of the matrix m returning the transposed matrix in out.

Definition at line 318 of file matfunc.h.

References itpp::Mat< Num_T >::T().

template<class T>
Mat<T> itpp::transpose const Mat< T > &  m  ) 
 

Transposition of the matrix m.

Definition at line 322 of file matfunc.h.

References itpp::Mat< Num_T >::T().

template<class T>
void itpp::hermitian_transpose const Mat< T > &  m,
Mat< T > &  out
 

Hermitian transpose (complex conjugate transpose) of the matrix m returning the transposed matrix in out

Definition at line 328 of file matfunc.h.

References itpp::Mat< Num_T >::H().

template<class T>
Mat<T> itpp::hermitian_transpose const Mat< T > &  m  ) 
 

Hermitian transpose (complex conjugate transpose) of the matrix m.

Definition at line 332 of file matfunc.h.

References itpp::Mat< Num_T >::H().

template<class Num_T>
bool itpp::is_hermitian const Mat< Num_T > &  X  ) 
 

Returns true if matrix X is hermitian, false otherwise.

Author:
M. Szalay
A square matrix $\mathbf{X}$ is hermitian if

\[ \mathbf{X} = \mathbf{X}^H \]

Definition at line 346 of file matfunc.h.

References itpp::Mat< Num_T >::H().

template<class Num_T>
bool itpp::is_unitary const Mat< Num_T > &  X  ) 
 

Returns true if matrix X is unitary, false otherwise.

Author:
M. Szalay
A square matrix $\mathbf{X}$ is unitary if

\[ \mathbf{X}^H = \mathbf{X}^{-1} \]

Definition at line 364 of file matfunc.h.

References itpp::Mat< Num_T >::H(), and itpp::inv().

template<class Num_T>
Mat<Num_T> itpp::kron const Mat< Num_T > &  X,
const Mat< Num_T > &  Y
 

Computes the Kronecker product of two matrices.

K = kron(X, Y) returns the Kronecker tensor product of X and Y. The result is a large array formed by taking all possible products between the elements of X and those of Y. If X is (m x n) and Y is (p x q), then kron(X, Y) is (m*p x n*q).

Author:
Adam Piatyszek

Definition at line 385 of file matfunc.h.

References itpp::Mat< Num_T >::cols(), and itpp::Mat< Num_T >::rows().

cmat itpp::sqrtm const cmat A  ) 
 

Square root of the complex square matrix A.

This function computes the matrix square root of the complex square matrix A. The implementation is based on the Matlab/Octave sqrtm() function.

Ref: N. J. Higham, "Numerical Analysis Report No. 336", Manchester Centre for Computational Mathematics, Manchester, England, January 1999

Author:
Adam Piatyszek

Definition at line 48 of file matfunc.cpp.

References itpp::conj(), min, itpp::schur(), and itpp::sqrt().

cmat itpp::sqrtm const mat A  ) 
 

Square root of the real square matrix A.

This function computes the matrix square root of the real square matrix A. Please note that the returned matrix is complex. The implementation is based on the Matlab/Octave sqrtm() function.

Ref: N. J. Higham, "Numerical Analysis Report No. 336", Manchester Centre for Computational Mathematics, Manchester, England, January 1999

Author:
Adam Piatyszek

Definition at line 42 of file matfunc.cpp.

References itpp::to_cmat().

SourceForge Logo

Generated on Thu Apr 19 14:24:01 2007 for IT++ by Doxygen 1.4.6