Part Class Template Reference

Inherits MatrixBase< Eigen::Part< MatrixType, Mode > >.

List of all members.


Detailed Description

template<typename MatrixType, unsigned int Mode>
class Eigen::Part< MatrixType, Mode >

Expression of a triangular matrix extracted from a given matrix.

Warning:
This is not considered to be part of the stable public API yet. Changes may happen in future releases. See Experimental parts of Eigen
Parameters:
MatrixType the type of the object in which we are taking the triangular part
Mode the kind of triangular matrix expression to construct. Can be UpperTriangular, StrictlyUpperTriangular, UnitUpperTriangular, LowerTriangular, StrictlyLowerTriangular, UnitLowerTriangular. This is in fact a bit field; it must have either UpperTriangularBit or LowerTriangularBit, and additionnaly it may have either ZeroDiagBit or UnitDiagBit.
This class represents an expression of the upper or lower triangular part of a square matrix, possibly with a further assumption on the diagonal. It is the return type of MatrixBase::part() and most of the time this is the only way it is used.

See also:
MatrixBase::part()

Public Member Functions

const MatrixType & _expression () const
Scalar coeff (int row, int col) const
Scalar & coeffRef (int row, int col)
const Block< Part,
RowsAtCompileTime, 1 > 
col (int i) const
const Block< Part,
RowsAtCompileTime, 1 > 
col (int i)
int cols () const
template<typename Other>
void lazyAssign (const Other &other)
Partoperator*= (const typename ei_traits< MatrixType >::Scalar &other)
template<typename Other>
Partoperator+= (const Other &other)
template<typename Other>
Partoperator-= (const Other &other)
Partoperator/= (const typename ei_traits< MatrixType >::Scalar &other)
template<typename Other>
Partoperator= (const Other &other)
 Part (const MatrixType &matrix)
const Block< Part,
1, ColsAtCompileTime > 
row (int i) const
const Block< Part,
1, ColsAtCompileTime > 
row (int i)
int rows () const
int stride () const
template<typename OtherDerived>
void swap (const MatrixBase< OtherDerived > &other)

Protected Attributes

const MatrixType::Nested m_matrix

Member Function Documentation

Scalar coeff ( int  row,
int  col 
) const [inline]

Short version: don't use this function, use operator()(int,int) const instead.

Long version: this function is similar to operator()(int,int) const , but without the assertion. Use this for limiting the performance cost of debugging code when doing repeated coefficient access. Only use this when it is guaranteed that the parameters row and col are in range.

If EIGEN_INTERNAL_DEBUGGING is defined, an assertion will be made, making this function equivalent to operator()(int,int) const .

See also:
operator()(int,int) const, coeffRef(int,int), coeff(int) const

Reimplemented from MatrixBase.

Scalar& coeffRef ( int  row,
int  col 
) [inline]

Short version: don't use this function, use operator()(int,int) instead.

Long version: this function is similar to operator()(int,int), but without the assertion. Use this for limiting the performance cost of debugging code when doing repeated coefficient access. Only use this when it is guaranteed that the parameters row and col are in range.

If EIGEN_INTERNAL_DEBUGGING is defined, an assertion will be made, making this function equivalent to operator()(int,int).

See also:
operator()(int,int), coeff(int, int) const, coeffRef(int)

Reimplemented from MatrixBase.

const Block<Part, RowsAtCompileTime, 1> col ( int  i  )  const [inline]

This is the const version of col().

Reimplemented from MatrixBase.

const Block<Part, RowsAtCompileTime, 1> col ( int  i  )  [inline]

discard any writes to a column

Reimplemented from MatrixBase.

int cols ( void   )  const [inline]

Returns:
the number of columns.
See also:
rows(), ColsAtCompileTime

Reimplemented from MatrixBase.

void lazyAssign ( const Other &  other  )  [inline]

See also:
operator=(), MatrixBase::lazyAssign()

Part< MatrixType, Mode > & operator*= ( const typename ei_traits< MatrixType >::Scalar &  other  )  [inline]

See also:
MatrixBase::operator*=()

Part< MatrixType, Mode > & operator+= ( const Other &  other  )  [inline]

Part< MatrixType, Mode > & operator-= ( const Other &  other  )  [inline]

Part< MatrixType, Mode > & operator/= ( const typename ei_traits< MatrixType >::Scalar &  other  )  [inline]

See also:
MatrixBase::operator/=()

Part< MatrixType, Mode > & operator= ( const Other &  other  )  [inline]

const Block<Part, 1, ColsAtCompileTime> row ( int  i  )  const [inline]

This is the const version of row().

Reimplemented from MatrixBase.

const Block<Part, 1, ColsAtCompileTime> row ( int  i  )  [inline]

discard any writes to a row

Reimplemented from MatrixBase.

int rows ( void   )  const [inline]

Returns:
the number of rows.
See also:
cols(), RowsAtCompileTime

Reimplemented from MatrixBase.

int stride ( void   )  const [inline]

Returns:
number of elements to skip to pass from one row (resp. column) to another for a row-major (resp. column-major) matrix. Combined with coeffRef() and the flags flags, it allows a direct access to the data of the underlying matrix.

Reimplemented from MatrixBase.

void swap ( const MatrixBase< OtherDerived > &  other  )  [inline]

swaps *this with the expression other.

Note:
other is only marked for internal reasons, but of course it gets const-casted. One reason is that one will often call swap on temporary objects (hence non-const references are forbidden). Another reason is that lazyAssign takes a const argument anyway.

Reimplemented from MatrixBase.


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

Generated on Thu Apr 9 10:10:01 2009 for Eigen by  doxygen 1.5.5