Functions on Matrices
Base Module

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 >
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`, either along columns or rows. More...
template<class T >
T | itpp::sumsum (const Mat< T > &X)
| Sum of all elements in the given matrix. Fast version of sum(sum(X))
template<class T >
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`. More...
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`. More...
template<class T >
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`. More...
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 >
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 >
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. More...
template<class Num_T >
bool | itpp::is_unitary (const Mat< Num_T > &X)
| Returns true if matrix `X` is unitary, false otherwise. More...
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. More...
ITPP_EXPORT cmat | itpp::sqrtm (const cmat &A)
| Square root of the complex square matrix `A`. More...
ITPP_EXPORT cmat | itpp::sqrtm (const mat &A)
| Square root of the real square matrix `A`. More...
template<class T >
int | itpp::rank (const Mat< T > &m, double tol=-1.0)
| Calculate the rank of matrix `m`. More...
template<>
int | itpp::rank (const imat &m, double tol)
| Specialisation of rank() function.
template<>
int | itpp::rank (const smat &m, double tol)
| Specialisation of rank() function.
template<>
int | itpp::rank (const bmat &, double)
| Specialisation of rank() function.
template<class T >
Vec< T > | repmat (const Vec< T > &v, int n)
| Creates a vector with `n` copies of the vector `v`. More...
template<class T >
Mat< T > | repmat (const Mat< T > &data, int m, int n)
| Creates a matrix with `m` by `n` copies of the matrix `data`. More...
template<class T >
Mat< T > | repmat (const Vec< T > &v, int m, int n, bool transpose=false)
| Returns a matrix with `m` by `n` copies of the vector `data`. More...

## Detailed Description

Functions on vectors and matrices.

## Function Documentation

template<class T >

Vec<T> itpp::sum | ( | const Mat< T > & | m,
|  | int | dim = `1`
| ) |  |

Sum of elements in the matrix `m`, either along columns or rows.

`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 >

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 134 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 >

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 176 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, itpp::Mat< Num_T >::rows(), and itpp::Mat< Num_T >::set_col().

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 214 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 >

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 297 of file matfunc.h.

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

Referenced by itpp::xcorr_old().

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 318 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 is hermitian if

Definition at line 336 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 is unitary if

Definition at line 355 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 443 of file matfunc.h.

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

ITPP_EXPORT 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

ITPP_EXPORT 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

template<class T >

int itpp::rank | ( | const Mat< T > & | m,
|  | double | tol = `-1.0`
| ) |  |

Calculate the rank of matrix `m`.

Author
  Martin Senst

Parameters

  m | Input matrix
  tol | Tolerance used for comparing the singular values with zero. If negative, it is automatically determined.

Definition at line 493 of file matfunc.h.

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

Referenced by itpp::GF2mat::inverse(), itpp::rank(), and itpp::GF2mat::row_rank().

template<class T >

Vec< T > repmat | ( | const Vec< T > & | v,
|  | int | n
| ) |  |

related

Creates a vector with `n` copies of the vector `v`.

Author
  Martin Senst

Parameters

  v | Vector to be repeated
  n | Number of times to repeat `v`

Definition at line 374 of file matfunc.h.

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

template<class T >

Mat< T > repmat | ( | const Mat< T > & | data,
|  | int | m,
|  | int | n
| ) |  |

related

Creates a matrix with `m` by `n` copies of the matrix `data`.

Author
  Mark Dobossy

Parameters

  data | Matrix to be repeated
  m | Number of times to repeat data vertically
  n | Number of times to repeat data horizontally

Definition at line 397 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 >

Mat< T > repmat | ( | const Vec< T > & | v,
|  | int | m,
|  | int | n,
|  | bool | transpose = `false`
| ) |  |

related

Returns a matrix with `m` by `n` copies of the vector `data`.

Author
  Adam Piatyszek

Parameters

  v | Vector to be repeated
  m | Number of times to repeat data vertically
  n | Number of times to repeat data horizontally
  transpose | Specifies the input vector orientation (column vector by default)

Definition at line 425 of file matfunc.h.

References itpp::Vec< Num_T >::T(), and itpp::transpose().

Generated on Thu Aug 20 2015 21:02:52 for IT++ by Doxygen 1.8.9.1