#include <itpp/base/mat.h>
Public Types | |
typedef Num_T | value_type |
The type of the matrix values. | |
Public Member Functions | |
Mat (const Factory &f=DEFAULT_FACTORY) | |
Default constructor. An element factory f can be specified. | |
Mat (int inrow, int incol, const Factory &f=DEFAULT_FACTORY) | |
Create a matrix of size (inrow, incol). An element factory f can be specified. | |
Mat (const Mat< Num_T > &m) | |
Copy constructor. | |
Mat (const Mat< Num_T > &m, const Factory &f) | |
Constructor, similar to the copy constructor, but also takes an element factory f as argument. | |
Mat (const Vec< Num_T > &invector, const Factory &f=DEFAULT_FACTORY) | |
Create a copy of the vector invector treated as a column vector. An element factory f can be specified. | |
Mat (const std::string &str, const Factory &f=DEFAULT_FACTORY) | |
Set matrix equal to values in string. An element factory f can be specified. | |
Mat (const char *str, const Factory &f=DEFAULT_FACTORY) | |
Set matrix equal to values in string. An element factory f can be specified. | |
Mat (Num_T *c_array, int rows, int cols, bool RowMajor=true, const Factory &f=DEFAULT_FACTORY) | |
Constructor taking a C-array as input. Copies all data. An element factory f can be specified. | |
~Mat () | |
Destructor. | |
int | cols () const |
The number of columns. | |
int | rows () const |
The number of rows. | |
int | size () const |
The number of elements. | |
void | set_size (int inrow, int incol, bool copy=false) |
Set size of matrix. If copy = true then keep the data before resizing. | |
void | zeros () |
Set matrix equal to the all zero matrix. | |
void | clear () |
Set matrix equal to the all zero matrix. | |
void | ones () |
Set matrix equal to the all one matrix. | |
bool | set (const char *values) |
Set matrix equal to values in values . | |
bool | set (const std::string &str) |
Set matrix equal to values in the string str . | |
const Num_T & | operator() (int R, int C) const |
Get element (R,C) from matrix. | |
Num_T & | operator() (int R, int C) |
Get element (R,C) from matrix. | |
Num_T & | operator() (int index) |
Get element index using linear addressing (by rows). | |
const Num_T & | operator() (int index) const |
Get element index using linear addressing (by rows). | |
const Num_T & | get (int R, int C) const |
Get element (R,C) from matrix. | |
void | set (int R, int C, const Num_T &v) |
Set element (R,C) of matrix. | |
const Mat< Num_T > | operator() (int r1, int r2, int c1, int c2) const |
Sub-matrix from row r1 to row r2 and columns c1 to c2 . | |
const Mat< Num_T > | get (int r1, int r2, int c1, int c2) const |
Sub-matrix from row r1 to row r2 and columns c1 to c2 . | |
const Vec< Num_T > | get_row (int Index) const |
Get row Index . | |
const Mat< Num_T > | get_rows (int r1, int r2) const |
Get rows r1 through r2 . | |
const Mat< Num_T > | get_rows (const Vec< int > &indexlist) const |
Get the rows specified by indexlist . | |
const Vec< Num_T > | get_col (int Index) const |
Get column Index . | |
const Mat< Num_T > | get_cols (int c1, int c2) const |
Get columns c1 through c2 . | |
const Mat< Num_T > | get_cols (const Vec< int > &indexlist) const |
Get the columns specified by indexlist . | |
void | set_row (int Index, const Vec< Num_T > &invector) |
Set row Index to invector . | |
void | set_col (int Index, const Vec< Num_T > &invector) |
Set column Index to invector . | |
void | copy_row (int to, int from) |
Copy row from onto row to . | |
void | copy_col (int to, int from) |
Copy column from onto column to . | |
void | swap_rows (int r1, int r2) |
Swap the rows r1 and r2 . | |
void | swap_cols (int c1, int c2) |
Swap the columns c1 and c2 . | |
void | set_submatrix (int r1, int r2, int c1, int c2, const Mat< Num_T > &m) |
Set submatrix defined by rows r1,r2 and columns c1,c2 to matrix m. | |
void | set_submatrix (int r, int c, const Mat< Num_T > &m) |
Set submatrix defined by upper-left element (r,c) and the size of matrix m to m. | |
void | set_submatrix (int r1, int r2, int c1, int c2, const Num_T t) |
Set all elements of submatrix defined by rows r1,r2 and columns c1,c2 to value t. | |
void | del_row (int r) |
Delete row number r . | |
void | del_rows (int r1, int r2) |
Delete rows from r1 to r2 . | |
void | del_col (int c) |
Delete column number c . | |
void | del_cols (int c1, int c2) |
Delete columns from c1 to c2 . | |
void | ins_row (int r, const Vec< Num_T > &in) |
Insert vector in at row number r , the matrix can be empty. | |
void | ins_col (int c, const Vec< Num_T > &in) |
Insert vector in at column number c , the matrix can be empty. | |
void | append_row (const Vec< Num_T > &in) |
Append vector to the bottom of the matrix, the matrix can be empty. | |
void | append_col (const Vec< Num_T > &in) |
Append vector to the right of the matrix, the matrix can be empty. | |
const Mat< Num_T > | transpose () const |
Matrix transpose. | |
const Mat< Num_T > | T () const |
Matrix transpose. | |
const Mat< Num_T > | hermitian_transpose () const |
Hermitian matrix transpose (conjugate transpose). | |
const Mat< Num_T > | H () const |
Hermitian matrix transpose (conjugate transpose). | |
Mat< Num_T > & | operator= (Num_T t) |
Set all elements of the matrix equal to t . | |
Mat< Num_T > & | operator= (const Mat< Num_T > &m) |
Set matrix equal to m . | |
Mat< Num_T > & | operator= (const Vec< Num_T > &v) |
Set matrix equal to the vector v , assuming column vector. | |
Mat< Num_T > & | operator= (const char *values) |
Set matrix equal to values in the string. | |
Mat< Num_T > & | operator+= (const Mat< Num_T > &m) |
Addition of matrices. | |
Mat< Num_T > & | operator+= (Num_T t) |
Addition of scalar to matrix. | |
Mat< Num_T > & | operator-= (const Mat< Num_T > &m) |
Subtraction of matrix. | |
Mat< Num_T > & | operator-= (Num_T t) |
Subtraction of scalar from matrix. | |
Mat< Num_T > & | operator *= (const Mat< Num_T > &m) |
Matrix multiplication. | |
Mat< Num_T > & | operator *= (Num_T t) |
Multiplication by a scalar. | |
Mat< Num_T > & | operator/= (Num_T t) |
Division by a scalar. | |
Mat< Num_T > & | operator/= (const Mat< Num_T > &m) |
Elementwise division with the current matrix. | |
bool | operator== (const Mat< Num_T > &m) const |
Compare two matrices. False if wrong sizes or different values. | |
bool | operator!= (const Mat< Num_T > &m) const |
Compare two matrices. True if different. | |
Num_T & | _elem (int R, int C) |
Get element (R,C) from matrix without boundary check (Not recommended to use). | |
const Num_T & | _elem (int R, int C) const |
Get element (R,C) from matrix without boundary check (Not recommended to use). | |
Num_T & | _elem (int index) |
Get element index using linear addressing (by rows) without boundary check (Not recommended to use). | |
const Num_T & | _elem (int index) const |
Get element index using linear addressing (by rows) without boundary check (Not recommended to use). | |
Num_T * | _data () |
Access of the internal data structure. Don't use. May be changed! | |
const Num_T * | _data () const |
Access to the internal data structure. Don't use. May be changed! | |
int | _datasize () const |
Access to the internal data structure. Don't use. May be changed! | |
template<> | |
bool | set (const char *values) |
template<> | |
const cmat | hermitian_transpose () const |
template<> | |
cmat & | operator *= (const cmat &m) |
Protected Member Functions | |
void | alloc (int rows, int cols) |
Allocate memory for the matrix. | |
void | free () |
Free the memory space of the matrix. | |
Protected Attributes | |
int | datasize |
Protected integer variables. | |
int | no_rows |
Protected integer variables. | |
int | no_cols |
Protected integer variables. | |
Num_T * | data |
Protected data pointer. | |
const Factory & | factory |
Element factory (set to DEFAULT_FACTORY to use Num_T default constructors only). | |
Friends | |
const Mat< Num_T > | concat_horizontal (const Mat< Num_T > &m1, const Mat< Num_T > &m2) |
Concatenate the matrices m1 and m2 horizontally. | |
const Mat< Num_T > | concat_vertical (const Mat< Num_T > &m1, const Mat< Num_T > &m2) |
Concatenate the matrices m1 and m2 vertically. | |
const Mat< Num_T > | operator+ (const Mat< Num_T > &m1, const Mat< Num_T > &m2) |
Addition of two matrices. | |
const Mat< Num_T > | operator+ (const Mat< Num_T > &m, Num_T t) |
Addition of matrix and scalar. | |
const Mat< Num_T > | operator+ (Num_T t, const Mat< Num_T > &m) |
Addition of scalar and matrix. | |
const Mat< Num_T > | operator- (const Mat< Num_T > &m1, const Mat< Num_T > &m2) |
Subtraction of m2 from m1 . | |
const Mat< Num_T > | operator- (const Mat< Num_T > &m, Num_T t) |
Subraction of scalar from matrix. | |
const Mat< Num_T > | operator- (Num_T t, const Mat< Num_T > &m) |
Subtract matrix from scalar. | |
const Mat< Num_T > | operator- (const Mat< Num_T > &m) |
Subraction of matrix. | |
const Mat< Num_T > | operator * (const Mat< Num_T > &m1, const Mat< Num_T > &m2) |
Multiplication of two matrices. | |
const Vec< Num_T > | operator * (const Mat< Num_T > &m, const Vec< Num_T > &v) |
Multiplication of matrix m and vector v (column vector). | |
const Mat< Num_T > | operator * (const Vec< Num_T > &v, const Mat< Num_T > &m) |
Multiplication of transposed vector v and matrix m . | |
const Mat< Num_T > | operator * (const Mat< Num_T > &m, Num_T t) |
Multiplication of matrix and scalar. | |
const Mat< Num_T > | operator * (Num_T t, const Mat< Num_T > &m) |
Multiplication of scalar and matrix. | |
const Mat< Num_T > | elem_mult (const Mat< Num_T > &m1, const Mat< Num_T > &m2) |
Elementwise multiplication of two matrices. | |
const Mat< Num_T > | operator/ (const Mat< Num_T > &m, Num_T t) |
Division of matrix with scalar. | |
const Mat< Num_T > | elem_div (const Mat< Num_T > &m1, const Mat< Num_T > &m2) |
Elementwise division of matrix m1 with matrix m2 . | |
Related Functions | |
(Note that these are not member functions.) | |
bmat | to_bmat (const Mat< T > &m) |
Converts a Mat<T> to bmat. | |
smat | to_smat (const Mat< T > &m) |
Converts a Mat<T> to smat. | |
imat | to_imat (const Mat< T > &m) |
Converts a Mat<T> to imat. | |
mat | to_mat (const Mat< T > &m) |
Converts a Mat<T> to mat. | |
cmat | to_cmat (const Mat< T > &m) |
Converts a Mat<T> to cmat. | |
cmat | to_cmat (const Mat< T > &real, const Mat< T > &imag) |
Converts real and imaginary Mat<T> to cmat. | |
void | sub_v_vT_m (mat &m, const vec &v) |
Calculates m=m-v*v'*m. | |
void | sub_m_v_vT (mat &m, const vec &v) |
Calculates m=m-m*v*v'. | |
std::ostream & | operator<< (std::ostream &os, const Mat< Num_T > &m) |
Output stream for matrices. | |
std::istream & | operator>> (std::istream &is, Mat< Num_T > &m) |
Input stream for matrices. | |
mat | operator+ (const float &s, const mat &m) |
Addition operator for float and mat. | |
mat | operator+ (const short &s, const mat &m) |
Addition operator for short and mat. | |
mat | operator+ (const int &s, const mat &m) |
Addition operator for int and mat. | |
mat | operator+ (const mat &m, const float &s) |
Addition operator for mat and float. | |
mat | operator+ (const mat &m, const short &s) |
Addition operator for mat and short. | |
mat | operator+ (const mat &m, const int &s) |
Addition operator for mat and int. | |
mat | operator- (const float &s, const mat &m) |
Subtraction operator for float and mat. | |
mat | operator- (const short &s, const mat &m) |
Subtraction operator for short and mat. | |
mat | operator- (const int &s, const mat &m) |
Subtraction operator for int and mat. | |
mat | operator- (const mat &m, const float &s) |
Subtraction operator for mat and float. | |
mat | operator- (const mat &m, const short &s) |
Subtraction operator for mat and short. | |
mat | operator- (const mat &m, const int &s) |
Subtraction operator for mat and int. | |
mat | operator * (const float &s, const mat &m) |
Multiplication operator for float and mat. | |
mat | operator * (const short &s, const mat &m) |
Multiplication operator for short and mat. | |
mat | operator * (const int &s, const mat &m) |
Multiplication operator for int and mat. | |
mat | operator * (const mat &m, const float &s) |
Multiplication operator for mat and float. | |
mat | operator * (const mat &m, const short &s) |
Multiplication operator for mat and short. | |
mat | operator * (const mat &m, const int &s) |
Multiplication operator for mat and int. | |
mat | operator/ (const mat &m, const float &s) |
Division operator for mat and float. | |
mat | operator/ (const mat &m, const short &s) |
Division operator for mat and short. | |
mat | operator/ (const mat &m, const int &s) |
Division operator for mat and int. | |
cmat | operator+ (const double &s, const cmat &m) |
Addition operator for double and cmat. | |
cmat | operator- (const double &s, const cmat &m) |
Subtraction operator for double and cmat. | |
cmat | operator * (const double &s, const cmat &m) |
Multiplication operator for double and cmat. | |
cmat | operator * (const std::complex< double > &s, const mat &m) |
Multiplication operator for complex<double> and mat. | |
cmat | operator * (const mat &m, const std::complex< double > &s) |
Multiplication operator for mat and complex<double>. | |
cmat | operator/ (const cmat &m, const double &s) |
Division operator for cmat and double. | |
mat | operator+ (const bmat &a, const mat &b) |
Addition operator for bmat and mat. | |
mat | operator+ (const smat &a, const mat &b) |
Addition operator for smat and mat. | |
mat | operator+ (const imat &a, const mat &b) |
Addition operator for imat and mat. | |
mat | operator+ (const mat &a, const bmat &b) |
Addition operator for mat and bmat. | |
mat | operator+ (const mat &a, const smat &b) |
Addition operator for mat and smat. | |
mat | operator+ (const mat &a, const imat &b) |
Addition operator for mat and imat. | |
mat | operator- (const bmat &a, const mat &b) |
Subtraction operator for bmat and mat. | |
mat | operator- (const smat &a, const mat &b) |
Subtraction operator for smat and mat. | |
mat | operator- (const imat &a, const mat &b) |
Subtraction operator for imat and mat. | |
mat | operator- (const mat &a, const bmat &b) |
Subtraction operator for mat and bmat. | |
mat | operator- (const mat &a, const smat &b) |
Subtraction operator for mat and smat. | |
mat | operator- (const mat &a, const imat &b) |
Subtraction operator for mat and imat. | |
cmat | operator+ (const bmat &a, const cmat &b) |
Addition operator for bmat and cmat. | |
cmat | operator+ (const smat &a, const cmat &b) |
Addition operator for smat and cmat. | |
cmat | operator+ (const imat &a, const cmat &b) |
Addition operator for imat and cmat. | |
cmat | operator+ (const mat &a, const cmat &b) |
Addition operator for mat and cmat. | |
cmat | operator+ (const cmat &a, const bmat &b) |
Addition operator for cmat and bmat. | |
cmat | operator+ (const cmat &a, const smat &b) |
Addition operator for cmat and smat. | |
cmat | operator+ (const cmat &a, const imat &b) |
Addition operator for cmat and imat. | |
cmat | operator+ (const cmat &a, const mat &b) |
Addition operator for cmat and mat. | |
cmat | operator- (const bmat &a, const cmat &b) |
Subtraction operator for bmat and cmat. | |
cmat | operator- (const smat &a, const cmat &b) |
Subtraction operator for smat and cmat. | |
cmat | operator- (const imat &a, const cmat &b) |
Subtraction operator for imat and cmat. | |
cmat | operator- (const mat &a, const cmat &b) |
Subtraction operator for mat and cmat. | |
cmat | operator- (const cmat &a, const bmat &b) |
Subtraction operator for cmat and bmat. | |
cmat | operator- (const cmat &a, const smat &b) |
Subtraction operator for cmat and smat. | |
cmat | operator- (const cmat &a, const imat &b) |
Subtraction operator for cmat and imat. | |
cmat | operator- (const cmat &a, const mat &b) |
Subtraction operator for cmat and mat. | |
cmat | operator * (const mat &a, const cmat &b) |
Multiplication operator for mat and cmat. | |
cmat | operator * (const bmat &a, const cmat &b) |
Multiplication operator for bmat and cmat. | |
cmat | operator * (const smat &a, const cmat &b) |
Multiplication operator for smat and cmat. | |
cmat | operator * (const imat &a, const cmat &b) |
Multiplication operator for imat and cmat. | |
cmat | operator * (const cmat &a, const mat &b) |
Multiplication operator for cmat and mat. | |
cmat | operator * (const cmat &a, const bmat &b) |
Multiplication operator for cmat and bmat. | |
cmat | operator * (const cmat &a, const smat &b) |
Multiplication operator for cmat and smat. | |
cmat | operator * (const cmat &a, const imat &b) |
Multiplication operator for cmat and imat. | |
Mat< T > | mat_1x1 (T m00) |
Matrix of size 1 by 1. | |
Mat< T > | mat_1x2 (T m00, T m01) |
Matrix of size 1 by 2. | |
Mat< T > | mat_2x1 (T m00, T m10) |
Matrix of size 2 by 1. | |
Mat< T > | mat_2x2 (T m00, T m01, T m10, T m11) |
Matrix of size 2 by 2. | |
Mat< T > | mat_1x3 (T m00, T m01, T m02) |
Matrix of size 1 by 3. | |
Mat< T > | mat_3x1 (T m00, T m10, T m20) |
Matrix of size 3 by 1. | |
Mat< T > | mat_2x3 (T m00, T m01, T m02, T m10, T m11, T m12) |
Matrix of size 2 by 3. | |
Mat< T > | mat_3x2 (T m00, T m01, T m10, T m11, T m20, T m21) |
Matrix of size 3 by 2. | |
Mat< T > | mat_3x3 (T m00, T m01, T m02, T m10, T m11, T m12, T m20, T m21, T m22) |
Matrix of size 3 by 3. |
bin
, short
, int
, double
, and complex<double>
vectors and these are predefined as: bmat
, smat
, imat
, mat
, and cmat
. double
and complex<double>
are usually double
and complex<double>
respectively. However, this can be changed when compiling the it++ (see installation notes for more details). (Note: for binary matrices, an alternative to the bmat class is GF2mat
and GF2mat_dense
, which offer a more memory efficient representation and additional functions for linear algebra.)Examples:
Matrix Constructors: When constructing a matrix without a dimensions (memory) use
mat temp;
mat temp(rows, cols);
vec temp(inmatrix);
mat a("0 0.7;5 9.3"); // that is a = [0, 0.7; 5, 9.3] mat a="0 0.7;5 9.3"; // the constructor are called implicitly
temp.set_size(new_rows, new_cols, false);
false
is used to indicate that the old values in temp
is not copied. If you like to preserve the values use true
.There are a number of methods to access parts of a matrix. Examples are
a(5,3); // Element number (5,3) a(5,9,3,5); // Sub-matrix from rows 5, 6, 7, 8, 9 the columns 3, 4, and 5 a.get_row(10); // Row 10 a.get_col(10); // Column 10
It is also possible to modify parts of a vector as e.g. in
a.set_row(5, invector); // Set row 5 to \c invector a.set_col(3, invector); // Set column 3 to \c invector a.copy_col(1, 5); // Copy column 5 to column 1 a.swap_cols(1, 5); // Swap the contents of columns 1 and 5
It is of course also possible to perform the common linear algebra methods such as addition, subtraction, and matrix multiplication. Observe though, that vectors are assumed to be column-vectors in operations with matrices.
Most elementary functions such as sin(), cosh(), log(), abs(), ..., are available as operations on the individual elements of the matrices. Please see the individual functions for more details.
By default, the Mat elements are created using the default constructor for the element type. This can be changed by specifying a suitable Factory in the Mat constructor call; see Detailed Description for Factory.
Definition at line 171 of file mat.h.
|
The type of the matrix values.
|
|
Default constructor. An element factory
|
|
Create a matrix of size (inrow, incol). An element factory
|
|
Copy constructor.
Definition at line 514 of file mat.h. References itpp::Mat< Num_T >::alloc(), itpp::Mat< Num_T >::data, itpp::Mat< Num_T >::datasize, itpp::Mat< Num_T >::no_cols, and itpp::Mat< Num_T >::no_rows. |
|
Constructor, similar to the copy constructor, but also takes an element factory
Definition at line 522 of file mat.h. References itpp::Mat< Num_T >::alloc(), itpp::Mat< Num_T >::data, itpp::Mat< Num_T >::datasize, itpp::Mat< Num_T >::no_cols, and itpp::Mat< Num_T >::no_rows. |
|
Create a copy of the vector
Definition at line 530 of file mat.h. References itpp::Vec< Num_T >::length(), itpp::Mat< Num_T >::set_col(), and itpp::Mat< Num_T >::set_size(). |
|
Set matrix equal to values in string. An element factory
|
|
Set matrix equal to values in string. An element factory
|
|
Constructor taking a C-array as input. Copies all data. An element factory By default the matrix is stored as a RowMajor matrix (i.e. listing elements in sequence beginning with the first column). Definition at line 538 of file mat.h. References itpp::Mat< Num_T >::alloc(), itpp::Mat< Num_T >::data, and itpp::Mat< Num_T >::datasize. |
|
Destructor.
|
|
|
|
The number of elements.
|
|
|
Set matrix equal to the all zero matrix.
Definition at line 573 of file mat.h. References itpp::Mat< Num_T >::data. Referenced by itpp::Punctured_Convolutional_Code::calculate_spectrum(), itpp::Convolutional_Code::calculate_spectrum(), and itpp::Sparse_Mat< T >::zeros(). |
|
Set matrix equal to the all zero matrix.
Definition at line 214 of file mat.h. Referenced by itpp::Sparse_Mat< T >::clear(), itpp::Cross_Interleaver< T >::deinterleave(), itpp::Turbo_Codec::encode_block(), itpp::Cross_Interleaver< T >::interleave(), and itpp::Turbo_Codec::wcdma_turbo_interleaver_sequence(). |
|
Set matrix equal to the all one matrix.
Definition at line 580 of file mat.h. References itpp::Mat< Num_T >::data. |
|
Set matrix equal to values in the string
Definition at line 631 of file mat.h. References itpp::Mat< Num_T >::set(). |
|
Get element (R,C) from matrix.
Definition at line 223 of file mat.h. Referenced by itpp::Mat< Num_T >::hermitian_transpose(), itpp::Mat< Num_T >::set(), itpp::Mat< bin >::set(), and itpp::Mat< Num_T >::transpose(). |
|
Get element (R,C) from matrix.
|
|
Get element
|
|
Get element
|
|
Get element (R,C) from matrix.
Definition at line 239 of file mat.h. Referenced by itpp::Mat< Num_T >::operator>>(), and itpp::Mat< Num_T >::set(). |
|
Set element (R,C) of matrix.
|
|
Sub-matrix from row Value -1 indicates the last row and column, respectively. Definition at line 637 of file mat.h. References itpp::Mat< Num_T >::data, it_assert1, itpp::Mat< Num_T >::no_cols, and itpp::Mat< Num_T >::no_rows. |
|
Sub-matrix from row Value -1 indicates the last row and column, respectively. |
|
|
Get rows
Definition at line 674 of file mat.h. References itpp::Mat< Num_T >::data, it_assert1, itpp::Mat< Num_T >::no_cols, itpp::Mat< Num_T >::no_rows, and itpp::Mat< Num_T >::rows(). |
|
Get the rows specified by
Definition at line 686 of file mat.h. References itpp::Vec< Num_T >::data, itpp::Mat< Num_T >::data, it_assert1, itpp::Mat< Num_T >::no_cols, itpp::Mat< Num_T >::no_rows, and itpp::Vec< Num_T >::size(). |
|
|
Get columns
Definition at line 710 of file mat.h. References itpp::Mat< Num_T >::cols(), itpp::Mat< Num_T >::data, it_assert1, itpp::Mat< Num_T >::no_cols, and itpp::Mat< Num_T >::no_rows. |
|
Get the columns specified by
Definition at line 722 of file mat.h. References itpp::Vec< Num_T >::data, itpp::Mat< Num_T >::data, it_assert1, itpp::Mat< Num_T >::no_cols, itpp::Mat< Num_T >::no_rows, and itpp::Vec< Num_T >::size(). |
|
Set row
Definition at line 735 of file mat.h. References itpp::Vec< Num_T >::_data(), itpp::Mat< Num_T >::data, it_assert1, itpp::Vec< Num_T >::length(), itpp::Mat< Num_T >::no_rows, and itpp::Vec< Num_T >::size(). Referenced by itpp::Turbo_Codec::decode_block(), itpp::Gold::get_family(), itpp::Multicode_Spread_1d::set_codes(), itpp::QAM::set_M(), and itpp::wcdma_spreading_codes(). |
|
Set column
Definition at line 744 of file mat.h. References itpp::Vec< Num_T >::_data(), itpp::Mat< Num_T >::data, it_assert1, itpp::Vec< Num_T >::length(), itpp::Mat< Num_T >::no_cols, and itpp::Vec< Num_T >::size(). Referenced by itpp::Cross_Interleaver< T >::deinterleave(), itpp::Cross_Interleaver< T >::interleave(), itpp::Rec_Syst_Conv_Code::log_decode(), itpp::Rec_Syst_Conv_Code::log_decode_n2(), itpp::Rec_Syst_Conv_Code::map_decode(), itpp::Mat< Num_T >::Mat(), itpp::Mat< Num_T >::operator=(), and itpp::Fast_ICA::separate(). |
|
Copy row
Definition at line 753 of file mat.h. References itpp::Mat< Num_T >::data, it_assert1, itpp::Mat< Num_T >::no_cols, itpp::Mat< Num_T >::no_rows, and itpp::to(). |
|
Copy column
Definition at line 765 of file mat.h. References itpp::Mat< Num_T >::data, it_assert1, itpp::Mat< Num_T >::no_cols, itpp::Mat< Num_T >::no_rows, and itpp::to(). |
|
Swap the rows
Definition at line 777 of file mat.h. References itpp::Mat< Num_T >::data, it_assert1, itpp::Mat< Num_T >::no_cols, and itpp::Mat< Num_T >::no_rows. |
|
Swap the columns
Definition at line 789 of file mat.h. References itpp::Mat< Num_T >::data, it_assert1, itpp::Mat< Num_T >::no_cols, and itpp::Mat< Num_T >::no_rows. |
|
Set submatrix defined by rows r1,r2 and columns c1,c2 to matrix m.
Definition at line 801 of file mat.h. References itpp::Mat< Num_T >::data, it_assert1, itpp::Mat< Num_T >::no_cols, and itpp::Mat< Num_T >::no_rows. |
|
Set submatrix defined by upper-left element (r,c) and the size of matrix m to m.
Definition at line 822 of file mat.h. References itpp::Mat< Num_T >::data, it_assert1, itpp::Mat< Num_T >::no_cols, and itpp::Mat< Num_T >::no_rows. |
|
Set all elements of submatrix defined by rows r1,r2 and columns c1,c2 to value t.
Definition at line 835 of file mat.h. References itpp::Mat< Num_T >::data, it_assert1, itpp::Mat< Num_T >::no_cols, itpp::Mat< Num_T >::no_rows, and itpp::Mat< Num_T >::rows(). |
|
Delete row number
Definition at line 860 of file mat.h. References itpp::Mat< Num_T >::data, it_assert1, itpp::Mat< Num_T >::no_cols, itpp::Mat< Num_T >::no_rows, and itpp::Mat< Num_T >::set_size(). Referenced by itpp::Mat< Num_T >::del_rows(). |
|
Delete rows from
Definition at line 875 of file mat.h. References itpp::Mat< Num_T >::del_row(), it_assert1, and itpp::Mat< Num_T >::no_rows. |
|
Delete column number
Definition at line 896 of file mat.h. References itpp::Mat< Num_T >::data, it_assert1, itpp::Mat< Num_T >::no_cols, itpp::Mat< Num_T >::no_rows, and itpp::Mat< Num_T >::set_size(). |
|
Delete columns from
Definition at line 907 of file mat.h. References itpp::Mat< Num_T >::data, it_assert1, itpp::Mat< Num_T >::no_cols, itpp::Mat< Num_T >::no_rows, and itpp::Mat< Num_T >::set_size(). |
|
Insert vector
Definition at line 918 of file mat.h. References itpp::Vec< Num_T >::_data(), itpp::Mat< Num_T >::data, it_assert1, itpp::Mat< Num_T >::no_cols, itpp::Mat< Num_T >::no_rows, itpp::Mat< Num_T >::set_size(), and itpp::Vec< Num_T >::size(). Referenced by itpp::Mat< Num_T >::append_row(). |
|
Insert vector
Definition at line 940 of file mat.h. References itpp::Vec< Num_T >::_data(), itpp::Mat< Num_T >::data, it_assert1, itpp::Mat< Num_T >::no_cols, itpp::Mat< Num_T >::no_rows, itpp::Mat< Num_T >::set_size(), and itpp::Vec< Num_T >::size(). Referenced by itpp::Mat< Num_T >::append_col(). |
|
Append vector
Definition at line 958 of file mat.h. References itpp::Mat< Num_T >::ins_row(), and itpp::Mat< Num_T >::no_rows. |
|
Append vector
Definition at line 964 of file mat.h. References itpp::Mat< Num_T >::ins_col(), and itpp::Mat< Num_T >::no_cols. |
|
Matrix transpose.
Definition at line 970 of file mat.h. References itpp::Mat< Num_T >::no_cols, itpp::Mat< Num_T >::no_rows, and itpp::Mat< Num_T >::operator()(). Referenced by itpp::Modulator_NRD::map_demod(). |
|
Matrix transpose.
Definition at line 312 of file mat.h. Referenced by itpp::Hamming_Code::encode(), itpp::Extended_Golay::encode(), and itpp::Multicode_Spread_1d::spread(). |
|
Hermitian matrix transpose (conjugate transpose).
Definition at line 983 of file mat.h. References itpp::Mat< Num_T >::no_cols, itpp::Mat< Num_T >::no_rows, and itpp::Mat< Num_T >::operator()(). Referenced by itpp::Modulator_NCD::map_demod(). |
|
Hermitian matrix transpose (conjugate transpose).
|
|
Set all elements of the matrix equal to
Definition at line 1030 of file mat.h. References itpp::Mat< Num_T >::data. Referenced by itpp::Mat< Num_T >::operator *=(), and itpp::Mat< Num_T >::operator+=(). |
|
Set matrix equal to
Definition at line 1038 of file mat.h. References itpp::Mat< Num_T >::data, itpp::Mat< Num_T >::datasize, itpp::Mat< Num_T >::no_cols, itpp::Mat< Num_T >::no_rows, and itpp::Mat< Num_T >::set_size(). |
|
Set matrix equal to the vector
Definition at line 1049 of file mat.h. References it_assert1, itpp::Mat< Num_T >::no_cols, itpp::Mat< Num_T >::no_rows, itpp::Mat< Num_T >::set_col(), itpp::Mat< Num_T >::set_size(), and itpp::Vec< Num_T >::size(). |
|
Set matrix equal to values in the string.
Definition at line 1062 of file mat.h. References itpp::Mat< Num_T >::set(). |
|
Addition of matrices.
Definition at line 1071 of file mat.h. References itpp::Mat< Num_T >::data, itpp::Mat< Num_T >::datasize, it_assert1, itpp::Mat< Num_T >::no_cols, itpp::Mat< Num_T >::no_rows, and itpp::Mat< Num_T >::operator=(). |
|
Addition of scalar to matrix.
Definition at line 1089 of file mat.h. References itpp::Mat< Num_T >::data. |
|
Subtraction of matrix.
Definition at line 1140 of file mat.h. References itpp::Mat< Num_T >::data, itpp::Mat< Num_T >::datasize, it_assert1, itpp::Mat< Num_T >::no_cols, itpp::Mat< Num_T >::no_rows, and itpp::Mat< Num_T >::set_size(). |
|
Subtraction of scalar from matrix.
Definition at line 1187 of file mat.h. References itpp::Mat< Num_T >::data. |
|
Matrix multiplication.
Definition at line 1251 of file mat.h. References itpp::Mat< Num_T >::data, it_assert1, itpp::Mat< Num_T >::no_cols, itpp::Mat< Num_T >::no_rows, and itpp::Mat< Num_T >::operator=(). |
|
Multiplication by a scalar.
Definition at line 1278 of file mat.h. References itpp::Mat< Num_T >::data. |
|
Division by a scalar.
Definition at line 1388 of file mat.h. References itpp::Mat< Num_T >::data. |
|
Elementwise division with the current matrix.
Definition at line 1407 of file mat.h. References itpp::Mat< Num_T >::data, it_assert1, itpp::Mat< Num_T >::no_cols, and itpp::Mat< Num_T >::no_rows. |
|
Compare two matrices. False if wrong sizes or different values.
Definition at line 1429 of file mat.h. References itpp::Mat< Num_T >::data, itpp::Mat< Num_T >::no_cols, and itpp::Mat< Num_T >::no_rows. |
|
Compare two matrices. True if different.
Definition at line 1439 of file mat.h. References itpp::Mat< Num_T >::data, itpp::Mat< Num_T >::no_cols, and itpp::Mat< Num_T >::no_rows. |
|
Get element (R,C) from matrix without boundary check (Not recommended to use).
Definition at line 388 of file mat.h. Referenced by itpp::Mat< Num_T >::sub_m_v_vT(), and itpp::Mat< Num_T >::sub_v_vT_m(). |
|
Get element (R,C) from matrix without boundary check (Not recommended to use).
|
|
Get element
|
|
Get element
|
|
Access of the internal data structure. Don't use. May be changed!
Definition at line 397 of file mat.h. Referenced by itpp::Mat< Num_T >::operator *(), itpp::Mat< Num_T >::operator+(), itpp::Mat< Num_T >::operator-(), itpp::Mat< Num_T >::operator/(), itpp::Vec< Num_T >::operator=(), and itpp::Mat< Num_T >::sub_m_v_vT(). |
|
Access to the internal data structure. Don't use. May be changed!
|
|
Access to the internal data structure. Don't use. May be changed!
Definition at line 401 of file mat.h. Referenced by itpp::Mat< Num_T >::operator *(), itpp::Mat< Num_T >::operator+(), itpp::Mat< Num_T >::operator-(), and itpp::Mat< Num_T >::operator/(). |
|
Allocate memory for the matrix.
Definition at line 405 of file mat.h. Referenced by itpp::Mat< Num_T >::Mat(), itpp::Mat< Num_T >::set(), itpp::Mat< bin >::set(), and itpp::Mat< Num_T >::set_size(). |
|
Free the memory space of the matrix.
|
|
Concatenate the matrices
|
|
Concatenate the matrices
|
|
Addition of two matrices.
|
|
Addition of matrix and scalar.
|
|
Addition of scalar and matrix.
|
|
Subtraction of
|
|
Subraction of scalar from matrix.
|
|
Subtract matrix from scalar.
|
|
Subraction of matrix.
|
|
Multiplication of two matrices.
|
|
Multiplication of matrix
|
|
Multiplication of transposed vector
|
|
Multiplication of matrix and scalar.
|
|
Multiplication of scalar and matrix.
|
|
Elementwise multiplication of two matrices.
|
|
Division of matrix with scalar.
|
|
Elementwise division of matrix
|
|
Calculates m=m-v*v'*m.
Definition at line 40 of file fastmath.cpp. References itpp::Vec< Num_T >::_data(), itpp::Mat< Num_T >::_elem(), itpp::Mat< Num_T >::cols(), it_assert, itpp::Mat< Num_T >::rows(), and itpp::Vec< Num_T >::size(). |
|
Calculates m=m-m*v*v'.
Definition at line 68 of file fastmath.cpp. References itpp::Vec< Num_T >::_data(), itpp::Mat< Num_T >::_data(), itpp::Mat< Num_T >::_elem(), itpp::Mat< Num_T >::cols(), it_assert, itpp::Mat< Num_T >::rows(), and itpp::Vec< Num_T >::size(). |
|
Output stream for matrices.
Definition at line 1449 of file mat.h. References itpp::Mat< Num_T >::get_row(). |
|
Input stream for matrices. The input can be on the form "1 2 3; 4 5 6" or "[[1 2 3][4 5 6]]", i.e. with brackets or semicolons as row delimiters. The first form is compatible with the set method, while the second form is compatible with the ostream operator. The elements on a row can be separated by blank space or commas. Rows that are shorter than the longest row are padded with zero elements. "[]" means an empty matrix. Definition at line 1471 of file mat.h. References itpp::Mat< Num_T >::get(), itpp::Mat< Num_T >::set(), and itpp::Mat< Num_T >::set_size(). |
|
Addition operator for float and mat.
Definition at line 499 of file operators.h. |
|
Addition operator for short and mat.
Definition at line 505 of file operators.h. |
|
Addition operator for int and mat.
Definition at line 511 of file operators.h. |
|
Addition operator for mat and float.
Definition at line 517 of file operators.h. |
|
Addition operator for mat and short.
Definition at line 523 of file operators.h. |
|
Addition operator for mat and int.
Definition at line 529 of file operators.h. |
|
Subtraction operator for float and mat.
Definition at line 535 of file operators.h. |
|
Subtraction operator for short and mat.
Definition at line 541 of file operators.h. |
|
Subtraction operator for int and mat.
Definition at line 547 of file operators.h. |
|
Subtraction operator for mat and float.
Definition at line 553 of file operators.h. |
|
Subtraction operator for mat and short.
Definition at line 559 of file operators.h. |
|
Subtraction operator for mat and int.
Definition at line 565 of file operators.h. |
|
Multiplication operator for float and mat.
Definition at line 571 of file operators.h. |
|
Multiplication operator for short and mat.
Definition at line 577 of file operators.h. |
|
Multiplication operator for int and mat.
Definition at line 583 of file operators.h. |
|
Multiplication operator for mat and float.
Definition at line 589 of file operators.h. |
|
Multiplication operator for mat and short.
Definition at line 595 of file operators.h. |
|
Multiplication operator for mat and int.
Definition at line 601 of file operators.h. |
|
Division operator for mat and float.
Definition at line 607 of file operators.h. |
|
Division operator for mat and short.
Definition at line 613 of file operators.h. |
|
Division operator for mat and int.
Definition at line 619 of file operators.h. |
|
Addition operator for double and cmat.
Definition at line 210 of file operators.cpp. References itpp::Mat< Num_T >::_data(), itpp::Mat< Num_T >::_datasize(), itpp::Mat< Num_T >::cols(), it_assert1, and itpp::Mat< Num_T >::rows(). |
|
Subtraction operator for double and cmat.
Definition at line 221 of file operators.cpp. References itpp::Mat< Num_T >::_data(), itpp::Mat< Num_T >::_datasize(), itpp::Mat< Num_T >::cols(), it_assert1, and itpp::Mat< Num_T >::rows(). |
|
Multiplication operator for double and cmat.
Definition at line 232 of file operators.cpp. References itpp::Mat< Num_T >::_data(), itpp::Mat< Num_T >::_datasize(), itpp::Mat< Num_T >::cols(), it_assert1, and itpp::Mat< Num_T >::rows(). |
|
Multiplication operator for complex<double> and mat.
Definition at line 243 of file operators.cpp. References itpp::Mat< Num_T >::_data(), itpp::Mat< Num_T >::_datasize(), itpp::Mat< Num_T >::cols(), it_assert1, and itpp::Mat< Num_T >::rows(). |
|
Multiplication operator for mat and complex<double>.
Definition at line 651 of file operators.h. |
|
Division operator for cmat and double.
Definition at line 255 of file operators.cpp. References itpp::Mat< Num_T >::_data(), itpp::Mat< Num_T >::_datasize(), itpp::Mat< Num_T >::cols(), it_assert1, and itpp::Mat< Num_T >::rows(). |
|
Addition operator for bmat and mat.
Definition at line 393 of file operators.cpp. References itpp::Mat< Num_T >::cols(), it_assert1, and itpp::Mat< Num_T >::rows(). |
|
Addition operator for smat and mat.
Definition at line 406 of file operators.cpp. References itpp::Mat< Num_T >::cols(), it_assert1, and itpp::Mat< Num_T >::rows(). |
|
Addition operator for imat and mat.
Definition at line 419 of file operators.cpp. References itpp::Mat< Num_T >::cols(), it_assert1, and itpp::Mat< Num_T >::rows(). |
|
Addition operator for mat and bmat.
Definition at line 908 of file operators.h. |
|
Addition operator for mat and smat.
Definition at line 914 of file operators.h. |
|
Addition operator for mat and imat.
Definition at line 920 of file operators.h. |
|
Subtraction operator for bmat and mat.
Definition at line 926 of file operators.h. |
|
Subtraction operator for smat and mat.
Definition at line 932 of file operators.h. |
|
Subtraction operator for imat and mat.
Definition at line 938 of file operators.h. |
|
Subtraction operator for mat and bmat.
Definition at line 944 of file operators.h. |
|
Subtraction operator for mat and smat.
Definition at line 950 of file operators.h. |
|
Subtraction operator for mat and imat.
Definition at line 956 of file operators.h. |
|
Addition operator for bmat and cmat.
Definition at line 434 of file operators.cpp. References itpp::Mat< Num_T >::cols(), it_assert1, and itpp::Mat< Num_T >::rows(). |
|
Addition operator for smat and cmat.
Definition at line 447 of file operators.cpp. References itpp::Mat< Num_T >::cols(), it_assert1, and itpp::Mat< Num_T >::rows(). |
|
Addition operator for imat and cmat.
Definition at line 460 of file operators.cpp. References itpp::Mat< Num_T >::cols(), it_assert1, and itpp::Mat< Num_T >::rows(). |
|
Addition operator for mat and cmat.
Definition at line 473 of file operators.cpp. References itpp::Mat< Num_T >::cols(), it_assert1, and itpp::Mat< Num_T >::rows(). |
|
Addition operator for cmat and bmat.
Definition at line 988 of file operators.h. |
|
Addition operator for cmat and smat.
Definition at line 994 of file operators.h. |
|
Addition operator for cmat and imat.
Definition at line 1000 of file operators.h. |
|
Addition operator for cmat and mat.
Definition at line 1006 of file operators.h. |
|
Subtraction operator for bmat and cmat.
Definition at line 1012 of file operators.h. |
|
Subtraction operator for smat and cmat.
Definition at line 1018 of file operators.h. |
|
Subtraction operator for imat and cmat.
Definition at line 1024 of file operators.h. |
|
Subtraction operator for mat and cmat.
Definition at line 1030 of file operators.h. |
|
Subtraction operator for cmat and bmat.
Definition at line 1036 of file operators.h. |
|
Subtraction operator for cmat and smat.
Definition at line 1042 of file operators.h. |
|
Subtraction operator for cmat and imat.
Definition at line 1048 of file operators.h. |
|
Subtraction operator for cmat and mat.
Definition at line 1054 of file operators.h. |
|
Multiplication operator for mat and cmat.
Definition at line 1060 of file operators.h. References itpp::to_cmat(). |
|
Multiplication operator for bmat and cmat.
Definition at line 1066 of file operators.h. References itpp::to_cmat(). |
|
Multiplication operator for smat and cmat.
Definition at line 1072 of file operators.h. References itpp::to_cmat(). |
|
Multiplication operator for imat and cmat.
Definition at line 1078 of file operators.h. References itpp::to_cmat(). |
|
Multiplication operator for cmat and mat.
Definition at line 1084 of file operators.h. References itpp::to_cmat(). |
|
Multiplication operator for cmat and bmat.
Definition at line 1090 of file operators.h. References itpp::to_cmat(). |
|
Multiplication operator for cmat and smat.
Definition at line 1096 of file operators.h. References itpp::to_cmat(). |
|
Multiplication operator for cmat and imat.
Definition at line 1102 of file operators.h. References itpp::to_cmat(). |
|
Matrix of size 1 by 1.
|
|
Matrix of size 1 by 2.
|
|
Matrix of size 2 by 1.
|
|
Matrix of size 2 by 2.
|
|
Matrix of size 1 by 3.
|
|
Matrix of size 3 by 1.
|
|
Matrix of size 2 by 3.
|
|
Matrix of size 3 by 2.
|
|
Matrix of size 3 by 3.
|
|
Protected integer variables.
Definition at line 426 of file mat.h. Referenced by itpp::Mat< Num_T >::Mat(), itpp::Mat< Num_T >::operator+=(), itpp::Mat< Num_T >::operator-=(), and itpp::Mat< Num_T >::operator=(). |
|
|
|
|
Element factory (set to DEFAULT_FACTORY to use Num_T default constructors only).
|
Generated on Fri Jan 11 08:51:41 2008 for IT++ by Doxygen 1.3.9.1