eigen_util.h File Reference

CPP API: eigen_util.h File Reference
eigen_util.h File Reference
#include "memilio/math/eigen.h"
#include <utility>
#include <iterator>
Include dependency graph for eigen_util.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  mio::CVPlainMatrix< M >
 helper to get the matrix type from an eigen expression with correct const volatile qualitfications. More...
 
struct  mio::CVPlainMatrix< Eigen::Ref< const M > >
 
struct  mio::RowMajorIterator< M, IsConst >::Proxy
 
class  mio::RowMajorIterator< M, IsConst >
 iterate over elements of eigen matrix expressions in row major order. More...
 
struct  mio::Seq< T >
 sequence of indices More...
 

Namespaces

 mio
 A collection of classes to simplify handling of matrix shapes in meta programming.
 
 mio::details
 

Typedefs

template<class M >
using mio::CVPlainMatrixT = typename CVPlainMatrix< M >::Type
 

Functions

template<IsMatrixExpression M>
RowMajorIterator< M, true > mio::begin (const M &m)
 create a const iterator to first element of the matrix m. More...
 
template<IsMatrixExpression M>
requires details::IsElementReference< M > RowMajorIterator< M, false > mio::begin (M &m)
 create a non-const iterator to first element of the matrix m. More...
 
template<IsMatrixExpression M>
RowMajorIterator< M, true > mio::cbegin (const M &m)
 create a const iterator to first element of the matrix m. More...
 
template<IsMatrixExpression M>
RowMajorIterator< M, true > mio::cend (const M &m)
 create a non-const end iterator for the matrix m. More...
 
template<IsMatrixExpression M>
RowMajorIterator< M, true > mio::end (const M &m)
 create a const end iterator for the matrix m. More...
 
template<IsMatrixExpression M>
requires details::IsElementReference< M > RowMajorIterator< M, false > mio::end (M &m)
 create a non-const end iterator for the matrix m. More...
 
template<class M >
Eigen::Index mio::major_size (M &&m)
 number of rows (columns) of a row (column) major matrix. More...
 
template<class Rng , class F >
auto mio::map (const Rng &v, F f)
 Maps a random access range (i.e. More...
 
template<class A , class B >
auto mio::max (const Eigen::MatrixBase< A > &a, B &&b)
 coefficient wise maximum of two matrices. More...
 
template<class M >
Eigen::Index mio::minor_size (M &&m)
 number of columns (rows) of a row (column) major matrix. More...
 
template<typename M >
auto mio::reshape (M &&m, Eigen::Index rows, Eigen::Index cols)
 reshape the matrix. More...
 
template<IsDynamicMatrix M>
auto mio::slice (M &&m, Seq< Eigen::Index > rows, Seq< Eigen::Index > cols)
 take a regular slice of a matrix. More...
 
template<IsDynamicVector V>
auto mio::slice (V &&v, Seq< Eigen::Index > elems)
 take a regular slice of a row or column vector. More...
 

Variables

template<class M >
concept mio::IsDynamicMatrix
 check if Eigen::Matrix type M is a dynamic matrix type. More...
 
template<class M >
concept mio::IsDynamicVector
 check if Eigen::Matrix type M is a dynamic vector type. More...
 
template<class M >
concept mio::details::IsElementReference
 
template<class M >
concept mio::IsMatrixExpression = std::is_base_of_v<Eigen::EigenBase<M>, M>
 Concept to detect whether T is an Eigen matrix expression. More...