plll  1.0
plll::linalg::base_rowvector< T, Cols, StorageTraits, MO > Class Template Reference

Represents a row vector with coefficients in T. More...

#include <matrix.hpp>

Inheritance diagram for plll::linalg::base_rowvector< T, Cols, StorageTraits, MO >:
plll::linalg::base_matrix< T, 1, Cols, StorageTraits, MathObject > plll::linalg::implementation::row_count_storage< Rows > plll::linalg::implementation::col_count_storage< Cols >

Public Member Functions

 base_rowvector ()
 Creates a new row vector. The dimensions are set to zero if no compile-time dimensions were specified. The elements are default-constructed.
 
template<bool MO>
 base_rowvector (const base_matrix< T, 1, Cols, StorageTraits, MO > &mat)
 Creates a copy of the row vector mat. More...
 
 base_rowvector (const base_rowvector< T, Cols, StorageTraits > &mat)
 Creates a copy of the row vector mat. More...
 
template<typename S , int Rs, int Cs, typename ST , bool MO>
 base_rowvector (const base_matrix< S, Rs, Cs, ST, MO > &mat)
 Creates a copy of the row vector mat. More...
 
template<typename MatrixType >
 base_rowvector (const MatrixType &mat)
 Creates a copy of the row vector mat. More...
 
 base_rowvector (size_type entries)
 Creates a row vector with entries entries. Its coefficients are default-constructed. More...
 
 base_rowvector (int entries)
 Creates a row vector with entries entries. Its coefficients are default-constructed. More...
 
template<typename S , bool def>
 base_rowvector (size_type entries, const implementation::Initialize_Impl< S, def > &i)
 Creates a row vector with entries entries. Its coefficients are copy-constructed from i.ref(). More...
 
 base_rowvector (size_type rows, size_type cols)
 Creates a row vector with cols entries. Its coefficients are default-constructed. More...
 
template<typename S , bool def>
 base_rowvector (size_type rows, size_type cols, const implementation::Initialize_Impl< S, def > &i)
 Creates a row vector with cols entries. Its coefficients are copy-constructed from i.ref(). More...
 
template<typename MatrixType >
base_rowvector< T, Cols,
StorageTraits, MathObject > & 
operator= (const MatrixType &m)
 Copies the contents of the row vector m into *this. More...
 
 ~base_rowvector () PLLL_INTERNAL_NOTHROW_POSTFIX_INLINE
 Releases the memory allocated for the row vector.
 
- Public Member Functions inherited from plll::linalg::base_matrix< T, 1, Cols, StorageTraits, MathObject >
void assign_resize (const MatrixType &mat)
 Resizes the matrix to fit the format of mat and assigns the contents of mat to the matrix. More...
 
 base_matrix ()
 Creates a new matrix. The dimensions are set to zero if no compile-time dimensions were specified. The elements are default-constructed.
 
 base_matrix (const base_matrix< T, Rows, Cols, StorageTraits, MathObject > &mat)
 Creates a copy of the matrix mat. More...
 
 base_matrix (const base_matrix< T, Rs, Cs, StorageTraits, MO > &mat)
 Creates a copy of the matrix mat. More...
 
 base_matrix (const base_matrix< S, Rs, Cs, ST, MO > &mat)
 Creates a copy of the matrix mat. More...
 
 base_matrix (const implementation::expressions::expr< Op, Data > &mat)
 Creates a copy of the matrix mat. More...
 
 base_matrix (size_type entries)
 Creates a vector with entries entries. Its coefficients are default-constructed. More...
 
 base_matrix (int entries)
 Creates a vector with entries entries. Its coefficients are default-constructed. More...
 
 base_matrix (size_type entries, const implementation::Initialize_Impl< S, def > &i)
 Creates a vector with entries entries. Its coefficients are copy-constructed from i.ref(). More...
 
 base_matrix (size_type rows, size_type cols)
 Creates a matrix with rows times cols entries. Its coefficients are default-constructed. More...
 
 base_matrix (size_type rows, size_type cols, const implementation::Initialize_Impl< S, def > &i)
 Creates a matrix with rows times cols entries. Its coefficients are copy-constructed from i.ref(). More...
 
implementation::expressions::expr
< implementation::expressions::sub
< SRows, SCols >::template
operation_generic,
implementation::expressions::MatrixWrapper
< base_matrix< T, Rows, Cols,
StorageTraits, MathObject > > > 
block (size_type r_ofs, size_type c_ofs)
 Returns a submatrix of SRows rows and SCols columns starting at (r_ofs, c_ofs). More...
 
implementation::expressions::expr
< implementation::expressions::sub
< SRows, SCols >::template
operation_generic,
implementation::expressions::ConstMatrixWrapper
< base_matrix< T, Rows, Cols,
StorageTraits, MathObject > > > 
block (size_type r_ofs, size_type c_ofs) const
 Returns a submatrix of SRows rows and SCols columns starting at (r_ofs, c_ofs). More...
 
implementation::expressions::expr
< implementation::expressions::sub
< Flexible, Flexible >
::template operation_generic,
implementation::expressions::MatrixWrapper
< base_matrix< T, Rows, Cols,
StorageTraits, MathObject > > > 
block (size_type r_ofs, size_type c_ofs, size_type rows, size_type cols)
 Returns a submatrix of rows rows and cols columns starting at (r_ofs, c_ofs). More...
 
implementation::expressions::expr
< implementation::expressions::sub
< Flexible, Flexible >
::template operation_generic,
implementation::expressions::ConstMatrixWrapper
< base_matrix< T, Rows, Cols,
StorageTraits, MathObject > > > 
block (size_type r_ofs, size_type c_ofs, size_type rows, size_type cols) const
 Returns a submatrix of rows rows and cols columns starting at (r_ofs, c_ofs). More...
 
implementation::expressions::expr
< implementation::expressions::sub_1d
< Rows >::template
operation_col,
implementation::expressions::MatrixWrapper
< base_matrix< T, Rows, Cols,
StorageTraits, MathObject > > > 
col (size_type col_index)
 Returns the col_index-th column of this matrix. More...
 
implementation::expressions::expr
< implementation::expressions::sub_1d
< Rows >::template
operation_col,
implementation::expressions::ConstMatrixWrapper
< base_matrix< T, Rows, Cols,
StorageTraits, MathObject > > > 
col (size_type col_index) const
 Returns the col_index-th column of this matrix. More...
 
size_type cols () const PLLL_INTERNAL_NOTHROW_POSTFIX_INLINE
 Returns the number of columns of the matrix. More...
 
StorageTraits::constpointer_type data () const PLLL_INTERNAL_NOTHROW_POSTFIX_INLINE
 Returns a pointer to the raw data of the matrix. More...
 
StorageTraits::pointer_type data () PLLL_INTERNAL_NOTHROW_POSTFIX_INLINE
 Returns a pointer to the raw data of the matrix. More...
 
StorageTraits::constref_type data (size_type i) const PLLL_INTERNAL_NOTHROW_POSTFIX_INLINE
 Returns a (raw) reference to the i-th entry. More...
 
StorageTraits::ref_type data (size_type i) PLLL_INTERNAL_NOTHROW_POSTFIX_INLINE
 Returns a (raw) reference to the i-th entry. More...
 
Enumerator enumerate () PLLL_INTERNAL_NOTHROW_POSTFIX_INLINE
 Enumerates all entries of the current matrix. More...
 
ConstEnumerator enumerate () const PLLL_INTERNAL_NOTHROW_POSTFIX_INLINE
 Enumerates all entries of the current matrix. More...
 
ColEnumerator enumerate_col (size_type col) PLLL_INTERNAL_NOTHROW_POSTFIX_INLINE
 Enumerates all entries of the given column. More...
 
ConstColEnumerator enumerate_col (size_type col) const PLLL_INTERNAL_NOTHROW_POSTFIX_INLINE
 Enumerates all entries of the given column. More...
 
ColsEnumerator enumerate_cols () PLLL_INTERNAL_NOTHROW_POSTFIX_INLINE
 Enumerates all columns. For each column, a column enumerator is given. More...
 
ConstColsEnumerator enumerate_cols () const PLLL_INTERNAL_NOTHROW_POSTFIX_INLINE
 Enumerates all columns. For each column, a column enumerator is given. More...
 
RowEnumerator enumerate_row (size_type row) PLLL_INTERNAL_NOTHROW_POSTFIX_INLINE
 Enumerates all entries of the given row. More...
 
ConstRowEnumerator enumerate_row (size_type row) const PLLL_INTERNAL_NOTHROW_POSTFIX_INLINE
 Enumerates all entries of the given row. More...
 
RowsEnumerator enumerate_rows () PLLL_INTERNAL_NOTHROW_POSTFIX_INLINE
 Enumerates all rows. For each row, a row enumerator is given. More...
 
ConstRowsEnumerator enumerate_rows () const PLLL_INTERNAL_NOTHROW_POSTFIX_INLINE
 Enumerates all rows. For each row, a row enumerator is given. More...
 
void get_coeff (ResultType &result, size_type i, size_type j) const PLLL_INTERNAL_NOTHROW_POSTFIX_CONDITIONAL(noexcept(result=d_data[i *implementation::col_count_storage< Cols >::cols()+j]))
 Retrieves the coefficient (i, j) and stores its value into result. More...
 
bool get_coeff_alwayszero () const PLLL_INTERNAL_NOTHROW_POSTFIX_INLINE
 Queries whether all coefficients are definitely zero. More...
 
GetCoeffSteps_Type get_coeff_steps (size_type i, size_type j) const PLLL_INTERNAL_NOTHROW_POSTFIX_INLINE
 Returns a object of type GetCoeffSteps_Type which constructs the coefficient at (i, j). More...
 
bool involves_this_matrix (const base_matrix< T, Rows, Cols, StorageTraits, MathObject > &A) const PLLL_INTERNAL_NOTHROW_POSTFIX_INLINE
 Tests whether this matrix (or expression) involves A. More...
 
bool involves_this_matrix (const MatrixType &A) const PLLL_INTERNAL_NOTHROW_POSTFIX_INLINE
 Tests whether this matrix (or expression) involves A. More...
 
void move_resize (const MatrixType &mat)
 Resizes the matrix to fit the format of mat and moves the contents of mat to the matrix. More...
 
StorageTraits::constref_type operator() (size_type i, size_type j) const PLLL_INTERNAL_NOTHROW_POSTFIX_INLINE
 Retrieves and returns the coefficient (i, j). More...
 
StorageTraits::ref_type operator() (size_type i, size_type j) PLLL_INTERNAL_NOTHROW_POSTFIX_INLINE
 Retrieves and returns the coefficient (i, j). More...
 
base_matrix< T, Rows, Cols,
StorageTraits, MathObject > & 
operator= (const base_matrix< T, Rows, Cols, StorageTraits, MathObject > &m)
 Copies the contents of the matrix m into *this. More...
 
base_matrix< T, Rows, Cols,
StorageTraits, MathObject > & 
operator= (const base_matrix< T_, Rows_, Cols_, StorageTraits_, MathObject_ > &m)
 Copies the contents of the matrix m into *this. More...
 
base_matrix< T, Rows, Cols,
StorageTraits, MathObject > & 
operator= (const implementation::expressions::expr< Op, Data > &m)
 Copies the contents of the matrix m into *this. More...
 
StorageTraits::constref_type operator[] (size_type i) const PLLL_INTERNAL_NOTHROW_POSTFIX_INLINE
 Retrieves and returns the i-th entry of the vector. More...
 
StorageTraits::ref_type operator[] (size_type i) PLLL_INTERNAL_NOTHROW_POSTFIX_INLINE
 Retrieves and returns the i-th entry of the vector. More...
 
void resize (size_type new_size)
 Resizes the vector to new_size entries. If new_size exceeds the current size, new elements are default-constructed. More...
 
void resize (size_type new_size, const implementation::Initialize_Impl< S, def > &init)
 Resizes the vector to new_size entries. If new_size exceeds the current size, new elements are copy-constructed from init.ref(). More...
 
void resize (size_type new_rows, size_type new_cols)
 Resizes the matrix to new_rows times new_cols entries. If the new matrix has entries which cannot be taken from the old matrix, they are default-constructed. More...
 
void resize (size_type new_rows, size_type new_cols, const implementation::Initialize_Impl< S, def > &init)
 Resizes the matrix to new_rows times new_cols entries. If the new matrix has entries which cannot be taken from the old matrix, they are copy-constructed from init.ref(). More...
 
implementation::expressions::expr
< implementation::expressions::sub_1d
< Cols >::template
operation_row,
implementation::expressions::MatrixWrapper
< base_matrix< T, Rows, Cols,
StorageTraits, MathObject > > > 
row (size_type row_index)
 Returns the row_index-th row of this matrix. More...
 
implementation::expressions::expr
< implementation::expressions::sub_1d
< Cols >::template
operation_row,
implementation::expressions::ConstMatrixWrapper
< base_matrix< T, Rows, Cols,
StorageTraits, MathObject > > > 
row (size_type row_index) const
 Returns the row_index-th row of this matrix. More...
 
size_type rows () const PLLL_INTERNAL_NOTHROW_POSTFIX_INLINE
 Returns the number of rows of the matrix. More...
 
size_type size () const PLLL_INTERNAL_NOTHROW_POSTFIX_INLINE
 Returns the number of entries of the matrix. This equals rows() * cols(). More...
 
void swap (MatrixType &B)
 Swaps the contents of this matrix with the matrix B. More...
 
bool test_involvement (const MatrixType &A) const PLLL_INTERNAL_NOTHROW_POSTFIX_INLINE
 For the underlying matrices U of the current expression, calls A.involves_this_matrix(U). Returns true if any of these returns true. More...
 
implementation::expressions::expr
< implementation::expressions::transpose,
implementation::expressions::MatrixWrapper
< base_matrix< T, Rows, Cols,
StorageTraits, MathObject > > > 
transpose () PLLL_INTERNAL_NOTHROW_POSTFIX_INLINE
 Returns the transpose of this matrix. More...
 
implementation::expressions::expr
< implementation::expressions::transpose,
implementation::expressions::ConstMatrixWrapper
< base_matrix< T, Rows, Cols,
StorageTraits, MathObject > > > 
transpose () const PLLL_INTERNAL_NOTHROW_POSTFIX_INLINE
 Returns the transpose of this matrix. More...
 
 ~base_matrix () PLLL_INTERNAL_NOTHROW_POSTFIX_INLINE
 Releases the memory allocated for the matrix.
 

Additional Inherited Members

- Public Types inherited from plll::linalg::base_matrix< T, 1, Cols, StorageTraits, MathObject >
typedef
StorageTraits::constpointer_type 
data_pointer_type
 Return type for the method data() const.
 
typedef
StorageTraits::constref_type 
data_ref_type
 Return type for the method data(size_type) const.
 

Detailed Description

template<typename T, int Cols, typename StorageTraits, bool MO>
class plll::linalg::base_rowvector< T, Cols, StorageTraits, MO >

Represents a row vector with coefficients in T.

This is in fact the same as base_matrix<T, 1, Cols, StorageTraits, MathObject>.

Template Parameters
TThe coefficient type.
ColsIf set to plll::linalg::Flexible, allows to flexibly choose and change the number of columns. Otherwise, enforces fixed number of columns during compile time. Default value is plll::linalg::Flexible.
StorageTraitsAllows to determine how the vector's contents are stored. The default value is plll::linalg::storage_traits<T>, which should usually not be changed.
MathObjectAllows to determine whether the vector is a math object (true) and thus operations can be performed on it, or whether it is a non-math object (false) which allows no operations except reading and storing coefficients and resizing.

Definition at line 254 of file matrix.hpp.

Constructor & Destructor Documentation

template<typename T, int Cols, typename StorageTraits, bool MO>
template<bool MO>
plll::linalg::base_rowvector< T, Cols, StorageTraits, MO >::base_rowvector ( const base_matrix< T, 1, Cols, StorageTraits, MO > &  mat)
inline

Creates a copy of the row vector mat.

Parameters
matThe row vector to copy from.

Definition at line 3427 of file matrix.hpp.

template<typename T, int Cols, typename StorageTraits, bool MO>
plll::linalg::base_rowvector< T, Cols, StorageTraits, MO >::base_rowvector ( const base_rowvector< T, Cols, StorageTraits > &  mat)
inline

Creates a copy of the row vector mat.

Parameters
matThe row vector to copy from.

Definition at line 3438 of file matrix.hpp.

template<typename T, int Cols, typename StorageTraits, bool MO>
template<typename S , int Rs, int Cs, typename ST , bool MO>
plll::linalg::base_rowvector< T, Cols, StorageTraits, MO >::base_rowvector ( const base_matrix< S, Rs, Cs, ST, MO > &  mat)
inline

Creates a copy of the row vector mat.

Parameters
matThe row vector to copy from.

Definition at line 3450 of file matrix.hpp.

template<typename T, int Cols, typename StorageTraits, bool MO>
template<typename MatrixType >
plll::linalg::base_rowvector< T, Cols, StorageTraits, MO >::base_rowvector ( const MatrixType &  mat)
inline

Creates a copy of the row vector mat.

Parameters
matThe row vector to copy from.

Definition at line 3462 of file matrix.hpp.

template<typename T, int Cols, typename StorageTraits, bool MO>
plll::linalg::base_rowvector< T, Cols, StorageTraits, MO >::base_rowvector ( size_type  entries)
inline

Creates a row vector with entries entries. Its coefficients are default-constructed.

Parameters
entriesThe number of entries.

Definition at line 3474 of file matrix.hpp.

template<typename T, int Cols, typename StorageTraits, bool MO>
plll::linalg::base_rowvector< T, Cols, StorageTraits, MO >::base_rowvector ( int  entries)
inline

Creates a row vector with entries entries. Its coefficients are default-constructed.

Parameters
entriesThe number of entries.

Definition at line 3486 of file matrix.hpp.

template<typename T, int Cols, typename StorageTraits, bool MO>
template<typename S , bool def>
plll::linalg::base_rowvector< T, Cols, StorageTraits, MO >::base_rowvector ( size_type  entries,
const implementation::Initialize_Impl< S, def > &  i 
)
inline

Creates a row vector with entries entries. Its coefficients are copy-constructed from i.ref().

Parameters
entriesThe number of entries.
iThe element from which to copy-construct the coefficients.

Definition at line 3500 of file matrix.hpp.

template<typename T, int Cols, typename StorageTraits, bool MO>
plll::linalg::base_rowvector< T, Cols, StorageTraits, MO >::base_rowvector ( size_type  rows,
size_type  cols 
)
inline

Creates a row vector with cols entries. Its coefficients are default-constructed.

Parameters
rowsMust always be 1.
colsThe number of columns of the row vector.

Definition at line 3513 of file matrix.hpp.

template<typename T, int Cols, typename StorageTraits, bool MO>
template<typename S , bool def>
plll::linalg::base_rowvector< T, Cols, StorageTraits, MO >::base_rowvector ( size_type  rows,
size_type  cols,
const implementation::Initialize_Impl< S, def > &  i 
)
inline

Creates a row vector with cols entries. Its coefficients are copy-constructed from i.ref().

Parameters
rowsMust always be 1.
colsThe number of columns of the row vector.
iThe element from which to copy-construct the coefficients.

Definition at line 3528 of file matrix.hpp.

Member Function Documentation

template<typename T, int Cols, typename StorageTraits, bool MO>
template<typename MatrixType >
base_rowvector<T, Cols, StorageTraits, MathObject>& plll::linalg::base_rowvector< T, Cols, StorageTraits, MO >::operator= ( const MatrixType &  m)
inline

Copies the contents of the row vector m into *this.

Parameters
mThe row vector whose contents to copy into the current row vector.

Definition at line 3548 of file matrix.hpp.


The documentation for this class was generated from the following file: