W3cubDocs

/Eigen3

Eigen::IndexedView

template<typename XprType, typename RowIndices, typename ColIndices>
class Eigen::IndexedView< XprType, RowIndices, ColIndices >

Expression of a non-sequential sub-matrix defined by arbitrary sequences of row and column indices.

Template Parameters
XprType the type of the expression in which we are taking the intersections of sub-rows and sub-columns
RowIndices the type of the object defining the sequence of row indices
ColIndices the type of the object defining the sequence of column indices

This class represents an expression of a sub-matrix (or sub-vector) defined as the intersection of sub-sets of rows and columns, that are themself defined by generic sequences of row indices \( \{r_0,r_1,..r_{m-1}\} \) and column indices \( \{c_0,c_1,..c_{n-1} \}\). Let \( A \) be the nested matrix, then the resulting matrix \( B \) has m rows and n columns, and its entries are given by: \( B(i,j) = A(r_i,c_j) \).

The RowIndices and ColIndices types must be compatible with the following API:

<integral type> operator[](Index) const;
Index size() const;

Typical supported types thus include:

  • std::vector<int>
  • std::valarray<int>
  • std::array<int>
  • Plain C arrays: int[N]
  • Eigen::ArrayXi
  • decltype(ArrayXi::LinSpaced(...))
  • Any view/expressions of the previous types
  • Eigen::ArithmeticSequence
  • Eigen::internal::AllRange (helper for Eigen::all)
  • Eigen::internal::SingleRange (helper for single index)
  • etc.

In typical usages of Eigen, this class should never be used directly. It is the return type of DenseBase::operator()(const RowIndices&, const ColIndices&).

See also
class Block

Inherits Eigen::IndexedViewImpl< XprType, RowIndices, ColIndices, internal::traits< XprType >::StorageKind >.

const ColIndices & colIndices () const
Index cols () const
internal::remove_reference< XprType >::type & nestedExpression ()
const internal::remove_all< XprType >::type & nestedExpression () const
const RowIndices & rowIndices () const
Index rows () const

colIndices()

template<typename XprType , typename RowIndices , typename ColIndices >
const ColIndices& Eigen::IndexedView< XprType, RowIndices, ColIndices >::colIndices ( ) const
inline
Returns
a const reference to the object storing/generating the column indices

cols()

template<typename XprType , typename RowIndices , typename ColIndices >
Index Eigen::IndexedView< XprType, RowIndices, ColIndices >::cols ( void ) const
inline
Returns
number of columns

nestedExpression() [1/2]

template<typename XprType , typename RowIndices , typename ColIndices >
internal::remove_reference<XprType>::type& Eigen::IndexedView< XprType, RowIndices, ColIndices >::nestedExpression ( )
inline
Returns
the nested expression

nestedExpression() [2/2]

template<typename XprType , typename RowIndices , typename ColIndices >
const internal::remove_all<XprType>::type& Eigen::IndexedView< XprType, RowIndices, ColIndices >::nestedExpression ( ) const
inline
Returns
the nested expression

rowIndices()

template<typename XprType , typename RowIndices , typename ColIndices >
const RowIndices& Eigen::IndexedView< XprType, RowIndices, ColIndices >::rowIndices ( ) const
inline
Returns
a const reference to the object storing/generating the row indices

rows()

template<typename XprType , typename RowIndices , typename ColIndices >
Index Eigen::IndexedView< XprType, RowIndices, ColIndices >::rows ( void ) const
inline
Returns
number of rows

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

© Eigen.
Licensed under the MPL2 License.
https://eigen.tuxfamily.org/dox/classEigen_1_1IndexedView.html