fmatvec 0.0.0

Public Types | Public Member Functions | Static Public Attributes | List of all members
fmatvec::RowVector< Ref, AT > Class Template Reference

This is a rowvector class of general shape in dense storage format. More...

`#include <row_vector.h>`

Inheritance diagram for fmatvec::RowVector< Ref, AT >:
[legend]

## Public Types

using | iterator = AT *
using | const_iterator = const AT *
using | value_type = AT
Public Types inherited from fmatvec::Matrix< General, Ref, Ref, AT >
using | value_type = AT
using | shape_type = General
using | iterator = Iterator< false >
using | const_iterator = Iterator< true >

## Public Member Functions

| RowVector ()
| Standard constructor. More...
| RowVector (int n, Noinit ini)
| RowVector (int n, Init ini=INIT, const AT &a=AT())
| RowVector (const RowVector< Ref, AT > &x)
| Copy Constructor. More...
template<class Row >
| RowVector (const RowVector< Row, AT > &x)
template<class Type , class Row , class Col >
| RowVector (const Matrix< Type, Row, Col, AT > &x)
| RowVector (int n, AT *ele)
| Regular Constructor. More...
| RowVector (const char *str)
| String Constructor. More...
RowVector< Ref, AT > & | resize (int n, Noinit)
RowVector< Ref, AT > & | resize (int n, Init ini=INIT, const AT &a=AT())
RowVector< Ref, AT > & | operator= (const RowVector< Ref, AT > &x)
| Assignment operator. More...
template<class Row >
RowVector< Ref, AT > & | operator= (const RowVector< Row, AT > &x)
| Assignment operator. More...
RowVector< Ref, AT > & | operator&= (RowVector< Ref, AT > &x)
| Reference operator. More...
RowVector< Ref, AT > & | operator&= (Matrix< General, Ref, Ref, AT > &A)
| Reference operator. More...
template<class Row >
RowVector< Ref, AT > & | operator<<= (const RowVector< Row, AT > &x)
| Rowvector assignment. More...
template<class AT2 >
| operator Vector< Ref, AT2 > () const
AT & | operator() (int i)
| Element operator. More...
const AT & | operator() (int i) const
| Element operator. More...
iterator | begin ()
iterator | end ()
const_iterator | begin () const
const_iterator | end () const
const_iterator | cbegin () const noexcept
const_iterator | cend () const noexcept
AT & | e (int i)
const AT & | e (int i) const
RowVector< Ref, AT > & | init (const AT &val)
| Initialization. More...
RowVector< Ref, AT > & | init (Init, const AT &a=AT())
RowVector< Ref, AT > & | init (Noinit, const AT &a=AT())
int | size () const
| Size. More...
int | inc () const
| Increment. More...
const RowVector< Ref, AT > | operator() (const Range< Var, Var > &I) const
| Subrowvector operator.
| operator std::vector< AT > () const
| Cast to std::vector<AT>. More...
| RowVector (const std::vector< AT > &v)
| std::vector<AT> Constructor. Constructs and initializes a vector with a std::vector<AT> object. More...
template<class Row >
void | set (const Range< Var, Var > &I, const RowVector< Row, AT > &x)
| Cast to AT. More...
template<class Row >
void | add (const Range< Var, Var > &I, const RowVector< Row, AT > &x)
const RowVector< Ref, AT > | operator() (const Indices &I) const
template<class Row >
void | set (const Indices &I, const RowVector< Row, AT > &x)
void | ref (RowVector< Ref, AT > &x, const Range< Var, Var > &I)
void | ref (Matrix< General, Ref, Ref, AT > &A, int i)
void | ref (Matrix< General, Ref, Ref, AT > &A, int i, const Range< Var, Var > &J)
const Vector< Ref, AT > | T () const
Public Member Functions inherited from fmatvec::Matrix< General, Ref, Ref, AT >
| Matrix ()
| Standard constructor. More...
| Matrix (int m_, int n_, Noinit)
| Matrix (int m_, int n_, Init ini=INIT, const AT &a=AT())
| Matrix (int m_, int n_, Eye ini, const AT &a=1)
| Matrix (const Matrix< General, Ref, Ref, AT > &A)
| Copy Constructor. More...
template<class Row , class Col >
| Matrix (const Matrix< General, Row, Col, AT > &A)
| Copy Constructor. More...
template<class Type , class Row , class Col >
| Matrix (const Matrix< Type, Row, Col, AT > &A)
| Copy Constructor. More...
| Matrix (int m_, int n_, AT *ele_)
| Regular Constructor. More...
| Matrix (const std::string &strs)
| String Constructor. More...
| Matrix (const char *strs)
| ~Matrix ()=default
| Destructor.
iterator | begin ()
iterator | end ()
const_iterator | begin () const
const_iterator | end () const
Matrix< General, Ref, Ref, AT > & | resize (int m_, int n_, Noinit)
Matrix< General, Ref, Ref, AT > & | resize (int m, int n, Init ini=INIT, const AT &a=AT())
Matrix< General, Ref, Ref, AT > & | resize (int m, int n, Eye ini, const AT &a=1)
Matrix< General, Ref, Ref, AT > & | operator= (const Matrix< General, Ref, Ref, AT > &A)
| Assignment operator. More...
template<class Type , class Row , class Col >
Matrix< General, Ref, Ref, AT > & | operator= (const Matrix< Type, Row, Col, AT > &A)
| Assignment operator. More...
Matrix< General, Ref, Ref, AT > & | operator&= (Matrix< General, Ref, Ref, AT > &A)
| Reference operator. More...
template<class Type , class Row , class Col >
Matrix< General, Ref, Ref, AT > & | operator<<= (const Matrix< Type, Row, Col, AT > &A)
| Matrix assignment. More...
template<class AT2 >
| operator Matrix< General, Ref, Ref, AT2 > () const
AT & | operator() (int i, int j)
| Element operator. More...
const AT & | operator() (int i, int j) const
| Element operator. More...
AT & | e (int i, int j)
const AT & | e (int i, int j) const
AT * | operator() ()
| Pointer operator. More...
const AT * | operator() () const
| Pointer operator. More...
int | rows () const
| Number of rows. More...
int | cols () const
| Number of columns. More...
int | ldim () const
| Leading dimension. More...
const CBLAS_TRANSPOSE | blasTrans () const
| Transposed status. More...
const CBLAS_ORDER | blasOrder () const
| Storage convention. More...
const Matrix< General, Ref, Ref, AT > | operator() (const Range< Var, Var > &I, const Range< Var, Var > &J) const
| Submatrix operator. More...
const SquareMatrix< Ref, AT > | operator() (const Range< Var, Var > &I) const
| Submatrix operator.
const RowVector< Ref, AT > | row (int i) const
| Row operator.
const Vector< Ref, AT > | col (int j) const
| Column operator.
Matrix< General, Ref, Ref, AT > & | init (const AT &val=AT())
| Initialization. More...
Matrix< General, Ref, Ref, AT > & | init (Init, const AT &a=AT())
Matrix< General, Ref, Ref, AT > & | init (Eye, const AT &val=1)
Matrix< General, Ref, Ref, AT > & | init (Noinit, const AT &a=AT())
Matrix< General, Ref, Ref, AT > & | init0 (const AT &val=AT())
Matrix< General, Ref, Ref, AT > & | init0 (Init, const AT &a=AT())
| operator std::vector< std::vector< AT >> () const
| Cast to std::vector<std::vector<AT>>. More...
| Matrix (const std::vector< std::vector< AT >> &m)
| std::vector<std::vector<AT>> Constructor. Constructs and initializes a matrix with a std::vector<std::vector<AT>> object. An FMATVEC_ASSERT checks for constant length of each row. More...
const Matrix< General, Ref, Ref, AT > | T () const
| Cast to AT. More...
template<class Row >
void | set (int j, const Vector< Row, AT > &x)
template<class Col >
void | set (int i, const RowVector< Col, AT > &x)
template<class Type , class Row , class Col >
void | set (const Range< Var, Var > &I, const Range< Var, Var > &J, const Matrix< Type, Row, Col, AT > &A)
template<class Row >
void | add (int j, const Vector< Row, AT > &x)
template<class Col >
void | add (int i, const RowVector< Col, AT > &x)
template<class Type , class Row , class Col >
void | add (const Range< Var, Var > &I, const Range< Var, Var > &J, const Matrix< Type, Row, Col, AT > &A)
template<class Type , class Row , class Col >
void | sub (const Range< Var, Var > &I, const Range< Var, Var > &J, const Matrix< Type, Row, Col, AT > &A)
const Matrix< General, Ref, Ref, AT > | operator() (const Indices &I, const Indices &J) const
template<class Type , class Row , class Col >
void | set (const Indices &I, const Indices &J, const Matrix< Type, Row, Col, AT > &A)
template<class Row >
void | set (const Indices &I, int j, const Vector< Row, AT > &x)
void | ref (Matrix< General, Ref, Ref, AT > &A, const Range< Var, Var > &I, const Range< Var, Var > &J)
void | ref (Matrix< Symmetric, Ref, Ref, AT > &A, const Range< Var, Var > &I, const Range< Var, Var > &J)
int | nonZeroElements () const
| Count nonzero elements. More...

## Static Public Attributes

static constexpr bool | isVector {true}
Static Public Attributes inherited from fmatvec::Matrix< General, Ref, Ref, AT >
static constexpr bool | isVector {false}

## Detailed Description

### template<class AT>
class fmatvec::RowVector< Ref, AT >

This is a rowvector class of general shape in dense storage format.

Template class RowVector of type General,Ref,Ref,id. shape is general and storage form is dense. The template parameter AT defines the atomic type of the rowvector. Valid types are int, float, double, complex<float> and complex<double>

## Constructor & Destructor Documentation

## ◆ RowVector() [1/5]

template<class AT >

fmatvec::RowVector< Ref, AT >::RowVector | ( |  | ) |

inline explicit

Standard constructor.

Constructs a rowvector with no size.

## ◆ RowVector() [2/5]

template<class AT >

fmatvec::RowVector< Ref, AT >::RowVector | ( | const RowVector< Ref, AT > & | x | ) |

inline

Copy Constructor.

Constructs a copy of the vector x.

Parameters

  x | The vector that will be copied.

## ◆ RowVector() [3/5]

template<class AT >

fmatvec::RowVector< Ref, AT >::RowVector | ( | int | n,
|  | AT * | ele
| ) |  |

inline explicit

Regular Constructor.

Constructs a rowvector of size m with the pyhsical memory given by ele_;

Parameters

  n | The size.
  ele | The physical memory the rowvector will point to.

## ◆ RowVector() [4/5]

template<class AT >

fmatvec::RowVector< Ref, AT >::RowVector | ( | const char * | str | ) |

inline

String Constructor.

Constructs and initializes a vector with a string in a matlab-like notation. The entries are seperated by semicolons. For example

RowVector<double> x("[3,1,2]");

constructs the vector

\[ x=\begin{pmatrix}3 1 2\end{pmatrix} \]

Parameters

  str | The string the vector will be initialized with.

## ◆ RowVector() [5/5]

template<class AT >

fmatvec::RowVector< Ref, AT >::RowVector | ( | const std::vector< AT > & | v | ) |

inline explicit

std::vector<AT> Constructor. Constructs and initializes a vector with a std::vector<AT> object.

Parameters

  v | The std::vector<AT> the vector will be initialized with.

## Member Function Documentation

## ◆ inc()

template<class AT >

int fmatvec::RowVector< Ref, AT >::inc | ( |  | ) | const

inline

Increment.

Todo:
  Docu

Returns
  The increment.

## ◆ init()

template<class AT >

RowVector< Ref, AT > & fmatvec::RowVector< Ref, AT >::init | ( | const AT & | val | ) |

inline

Initialization.

Initializes all elements of the calling rowvector with the value given by a.

Parameters

  a | Value all elements will be initialized with.

Returns
  A reference to the calling rowvector.

## ◆ operator std::vector< AT >()

template<class AT >

fmatvec::RowVector< Ref, AT >::operator std::vector< AT > | ( |  | ) | const

inline explicit

Cast to std::vector<AT>.

Returns
  The std::vector<AT> representation of the vector

## ◆ operator&=() [1/2]

template<class AT >

RowVector<Ref,AT>& fmatvec::RowVector< Ref, AT >::operator&= | ( | RowVector< Ref, AT > & | x | ) |

inline

Reference operator.

References the rowvector given by x.

Parameters

  x | The rowvector to be referenced.

Returns
  A reference to the calling rowvector.

## ◆ operator&=() [2/2]

template<class AT >

RowVector<Ref,AT>& fmatvec::RowVector< Ref, AT >::operator&= | ( | Matrix< General, Ref, Ref, AT > & | A | ) |

inline

Reference operator.

References the rowvector given by x.

Parameters

  x | The rowvector to be referenced.

Returns
  A reference to the calling rowvector.

## ◆ operator()() [1/2]

template<class AT >

AT& fmatvec::RowVector< Ref, AT >::operator() | ( | int | i | ) |

inline

Element operator.

Returns a reference to the i-th element.

Parameters

  i | The i-th element.

Returns
  A reference to the element x(i).

Remarks
  The bounds are checked in debug mode.

See also
  operator()(int) const

## ◆ operator()() [2/2]

template<class AT >

const AT& fmatvec::RowVector< Ref, AT >::operator() | ( | int | i | ) | const

inline

Element operator.

See operator()(int)

## ◆ operator<<=()

template<class AT >
template<class Row >

RowVector<Ref,AT>& fmatvec::RowVector< Ref, AT >::operator<<= | ( | const RowVector< Row, AT > & | x | ) |

inline

Rowvector assignment.

Copies the rowvector given by x.

Parameters

  x | The rowvector to be copied.

Returns
  A reference to the calling rowvector.

## ◆ operator=() [1/2]

template<class AT >

RowVector<Ref,AT>& fmatvec::RowVector< Ref, AT >::operator= | ( | const RowVector< Ref, AT > & | x | ) |

inline

Assignment operator.

Copies the rowvector given by x.

Parameters

  x | The rowvector to be assigned.

Returns
  A reference to the calling rowvector.

## ◆ operator=() [2/2]

template<class AT >
template<class Row >

RowVector<Ref,AT>& fmatvec::RowVector< Ref, AT >::operator= | ( | const RowVector< Row, AT > & | x | ) |

inline

Assignment operator.

Copies the rowvector given by x.

Parameters

  x | The rowvector to be assigned.

Returns
  A reference to the calling rowvector.

## ◆ set()

template<class AT >
template<class Row >

void fmatvec::RowVector< Ref, AT >::set | ( | const Range< Var, Var > & | I,
|  | const RowVector< Row, AT > & | x
| ) |  |

inline

Cast to AT.

Returns
  The AT representation of the vector

AT Constructor. Constructs and initializes a vector with a AT object.

Parameters

  x | The AT the vector will be initialized with.

## ◆ size()

template<class AT >

int fmatvec::RowVector< Ref, AT >::size | ( |  | ) | const

inline

Size.

Returns
  The size of the rowvector.

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

- /mbsim-env/fmatvec/fmatvec/row_vector.h