Eigen  5.0.1-dev
Loading...
Searching...
No Matches
Eigen::SparseMapBase< Derived, WriteAccessors > Class Template Reference

#include <Eigen/src/SparseCore/SparseMap.h>

Detailed Description

template<typename Derived>
class Eigen::SparseMapBase< Derived, WriteAccessors >

Common base class for writable Map and Ref instance of sparse matrix and vector.

class SparseMapBase

Inheritance diagram for Eigen::SparseMapBase< Derived, WriteAccessors >:

Public Member Functions

Scalar & coeffRef (Index row, Index col)
StorageIndex * innerIndexPtr ()
const StorageIndex * innerIndexPtr () const
StorageIndex * innerNonZeroPtr ()
const StorageIndex * innerNonZeroPtr () const
StorageIndex * outerIndexPtr ()
const StorageIndex * outerIndexPtr () const
Scalar * valuePtr ()
const Scalar * valuePtr () const
 ~SparseMapBase ()
Public Member Functions inherited from Eigen::SparseMapBase< Derived, ReadOnlyAccessors >
Scalar coeff (Index row, Index col) const
Index cols () const
const StorageIndex * innerIndexPtr () const
const StorageIndex * innerNonZeroPtr () const
Index innerSize () const
bool isCompressed () const
Index nonZeros () const
const StorageIndex * outerIndexPtr () const
Index outerSize () const
Index rows () const
const Scalar * valuePtr () const
 ~SparseMapBase ()
Public Member Functions inherited from Eigen::SparseCompressedBase< Derived >
Map< Array< Scalar, Dynamic, 1 > > coeffs ()
const Map< const Array< Scalar, Dynamic, 1 > > coeffs () const
StorageIndexinnerIndexPtr ()
const StorageIndexinnerIndexPtr () const
template<class Comp = std::less<>>
Index innerIndicesAreSorted () const
template<class Comp = std::less<>>
Index innerIndicesAreSorted (Index begin, Index end) const
StorageIndexinnerNonZeroPtr ()
const StorageIndexinnerNonZeroPtr () const
bool isCompressed () const
Index nonZeros () const
StorageIndexouterIndexPtr ()
const StorageIndexouterIndexPtr () const
template<class Comp = std::less<>>
void sortInnerIndices ()
template<class Comp = std::less<>>
void sortInnerIndices (Index begin, Index end)
Scalar * valuePtr ()
const Scalar * valuePtr () const
Public Member Functions inherited from Eigen::SparseMatrixBase< Derived >
template<typename CustomBinaryOp, typename OtherDerived>
const CwiseBinaryOp< CustomBinaryOp, const Derived, const OtherDerived > binaryExpr (const Eigen::SparseMatrixBase< OtherDerived > &other, const CustomBinaryOp &func=CustomBinaryOp()) const
template<int NRows, int NCols>
FixedBlockXpr< NRows, NCols >::Type block (Index startRow, Index startCol)
template<int NRows, int NCols>
const ConstFixedBlockXpr< NRows, NCols >::Type block (Index startRow, Index startCol) const
 This is the const version of block<>(Index, Index). *‍/.
template<int NRows, int NCols>
FixedBlockXpr< NRows, NCols >::Type block (Index startRow, Index startCol, Index blockRows, Index blockCols)
template<int NRows, int NCols>
const ConstFixedBlockXpr< NRows, NCols >::Type block (Index startRow, Index startCol, Index blockRows, Index blockCols) const
 This is the const version of block<>(Index, Index, Index, Index).
template<typename NRowsType, typename NColsType>
FixedBlockXpr<...,... >::Type block (Index startRow, Index startCol, NRowsType blockRows, NColsType blockCols)
template<typename NRowsType, typename NColsType>
const ConstFixedBlockXpr<...,... >::Type block (Index startRow, Index startCol, NRowsType blockRows, NColsType blockCols) const
 This is the const version of block(Index,Index,NRowsType,NColsType).
template<int CRows, int CCols>
FixedBlockXpr< CRows, CCols >::Type bottomLeftCorner ()
template<int CRows, int CCols>
const ConstFixedBlockXpr< CRows, CCols >::Type bottomLeftCorner () const
 This is the const version of bottomLeftCorner<int, int>().
template<int CRows, int CCols>
FixedBlockXpr< CRows, CCols >::Type bottomLeftCorner (Index cRows, Index cCols)
template<int CRows, int CCols>
const ConstFixedBlockXpr< CRows, CCols >::Type bottomLeftCorner (Index cRows, Index cCols) const
 This is the const version of bottomLeftCorner<int, int>(Index, Index).
template<typename NRowsType, typename NColsType>
FixedBlockXpr<...,... >::Type bottomLeftCorner (NRowsType cRows, NColsType cCols)
template<typename NRowsType, typename NColsType>
ConstFixedBlockXpr<...,... >::Type bottomLeftCorner (NRowsType cRows, NColsType cCols) const
 This is the const version of bottomLeftCorner(NRowsType, NColsType).
template<int CRows, int CCols>
FixedBlockXpr< CRows, CCols >::Type bottomRightCorner ()
template<int CRows, int CCols>
const ConstFixedBlockXpr< CRows, CCols >::Type bottomRightCorner () const
 This is the const version of bottomRightCorner<int, int>().
template<int CRows, int CCols>
FixedBlockXpr< CRows, CCols >::Type bottomRightCorner (Index cRows, Index cCols)
template<int CRows, int CCols>
const ConstFixedBlockXpr< CRows, CCols >::Type bottomRightCorner (Index cRows, Index cCols) const
 This is the const version of bottomRightCorner<int, int>(Index, Index).
template<typename NRowsType, typename NColsType>
FixedBlockXpr<...,... >::Type bottomRightCorner (NRowsType cRows, NColsType cCols)
template<typename NRowsType, typename NColsType>
const ConstFixedBlockXpr<...,... >::Type bottomRightCorner (NRowsType cRows, NColsType cCols) const
 This is the const version of bottomRightCorner(NRowsType, NColsType).
template<int N>
NRowsBlockXpr< N >::Type bottomRows (Index n=N)
template<int N>
ConstNRowsBlockXpr< N >::Type bottomRows (Index n=N) const
 This is the const version of bottomRows<int>().
template<typename NRowsType>
NRowsBlockXpr<... >::Type bottomRows (NRowsType n)
template<typename NRowsType>
const ConstNRowsBlockXpr<... >::Type bottomRows (NRowsType n) const
 This is the const version of bottomRows(NRowsType).
template<typename NewType>
CastXpr< NewType >::Type cast () const
ColXpr col (Index i)
ConstColXpr col (Index i) const
 This is the const version of col().
Index cols () const
ConjugateReturnType conjugate () const
template<bool Cond>
std::conditional_t< Cond, ConjugateReturnType, const Derived & > conjugateIf () const
const CwiseAbsReturnType cwiseAbs () const
const CwiseAbs2ReturnType cwiseAbs2 () const
const CwiseArgReturnType cwiseArg () const
const CwiseCbrtReturnType cwiseCbrt () const
template<typename OtherDerived>
const CwiseBinaryEqualReturnType< OtherDerived > cwiseEqual (const Eigen::SparseMatrixBase< OtherDerived > &other) const
const CwiseScalarEqualReturnType cwiseEqual (const Scalar &s) const
template<typename OtherDerived>
const CwiseBinaryGreaterReturnType< OtherDerived > cwiseGreater (const Eigen::SparseMatrixBase< OtherDerived > &other) const
const CwiseScalarGreaterReturnType cwiseGreater (const Scalar &s) const
template<typename OtherDerived>
const CwiseBinaryGreaterOrEqualReturnType< OtherDerived > cwiseGreaterOrEqual (const Eigen::SparseMatrixBase< OtherDerived > &other) const
const CwiseScalarGreaterOrEqualReturnType cwiseGreaterOrEqual (const Scalar &s) const
const CwiseInverseReturnType cwiseInverse () const
template<typename OtherDerived>
const CwiseBinaryLessReturnType< OtherDerived > cwiseLess (const Eigen::SparseMatrixBase< OtherDerived > &other) const
const CwiseScalarLessReturnType cwiseLess (const Scalar &s) const
template<typename OtherDerived>
const CwiseBinaryLessOrEqualReturnType< OtherDerived > cwiseLessOrEqual (const Eigen::SparseMatrixBase< OtherDerived > &other) const
const CwiseScalarLessOrEqualReturnType cwiseLessOrEqual (const Scalar &s) const
template<int NaNPropagation = PropagateFast, typename OtherDerived>
const CwiseBinaryOp< internal::scalar_max_op< Scalar, Scalar, NaNPropagation >, const Derived, const OtherDerived > cwiseMax (const Eigen::SparseMatrixBase< OtherDerived > &other) const
template<int NaNPropagation = PropagateFast>
const CwiseBinaryOp< internal::scalar_max_op< Scalar, Scalar, NaNPropagation >, const Derived, const ConstantReturnType > cwiseMax (const Scalar &other) const
template<int NaNPropagation = PropagateFast, typename OtherDerived>
const CwiseBinaryOp< internal::scalar_min_op< Scalar, Scalar, NaNPropagation >, const Derived, const OtherDerived > cwiseMin (const Eigen::SparseMatrixBase< OtherDerived > &other) const
template<int NaNPropagation = PropagateFast>
const CwiseBinaryOp< internal::scalar_min_op< Scalar, Scalar, NaNPropagation >, const Derived, const ConstantReturnType > cwiseMin (const Scalar &other) const
template<typename OtherDerived>
const CwiseBinaryNotEqualReturnType< OtherDerived > cwiseNotEqual (const Eigen::SparseMatrixBase< OtherDerived > &other) const
const CwiseScalarNotEqualReturnType cwiseNotEqual (const Scalar &s) const
template<typename OtherDerived>
const CwiseBinaryOp< internal::scalar_product_op< Derived ::Scalar, OtherDerived ::Scalar >, const Derived, const OtherDerived > cwiseProduct (const Eigen::SparseMatrixBase< OtherDerived > &other) const
template<typename OtherDerived>
const CwiseBinaryOp< internal::scalar_quotient_op< Scalar >, const Derived, const OtherDerived > cwiseQuotient (const Eigen::SparseMatrixBase< OtherDerived > &other) const
const CwiseSignReturnType cwiseSign () const
const CwiseSqrtReturnType cwiseSqrt () const
const CwiseSquareReturnType cwiseSquare () const
const internal::eval< Derived >::type eval () const
template<int N>
FixedSegmentReturnType< N >::Type head (Index n=N)
template<int N>
ConstFixedSegmentReturnType< N >::Type head (Index n=N) const
 This is the const version of head<int>().
template<typename NType>
FixedSegmentReturnType<... >::Type head (NType n)
template<typename NType>
const ConstFixedSegmentReturnType<... >::Type head (NType n) const
 This is the const version of head(NType).
NonConstImagReturnType imag ()
const ImagReturnType imag () const
Index innerSize () const
InnerVectorReturnType innerVector (Index outer)
const ConstInnerVectorReturnType innerVector (Index outer) const
InnerVectorsReturnType innerVectors (Index outerStart, Index outerSize)
const ConstInnerVectorsReturnType innerVectors (Index outerStart, Index outerSize) const
bool isVector () const
template<int N>
NColsBlockXpr< N >::Type leftCols (Index n=N)
template<int N>
ConstNColsBlockXpr< N >::Type leftCols (Index n=N) const
 This is the const version of leftCols<int>().
template<typename NColsType>
NColsBlockXpr<... >::Type leftCols (NColsType n)
template<typename NColsType>
const ConstNColsBlockXpr<... >::Type leftCols (NColsType n) const
 This is the const version of leftCols(NColsType).
template<int N>
NColsBlockXpr< N >::Type middleCols (Index startCol, Index n=N)
template<int N>
ConstNColsBlockXpr< N >::Type middleCols (Index startCol, Index n=N) const
 This is the const version of middleCols<int>().
template<typename NColsType>
NColsBlockXpr<... >::Type middleCols (Index startCol, NColsType numCols)
template<typename NColsType>
const ConstNColsBlockXpr<... >::Type middleCols (Index startCol, NColsType numCols) const
 This is the const version of middleCols(Index,NColsType).
template<int N>
NRowsBlockXpr< N >::Type middleRows (Index startRow, Index n=N)
template<int N>
ConstNRowsBlockXpr< N >::Type middleRows (Index startRow, Index n=N) const
 This is the const version of middleRows<int>().
template<typename NRowsType>
NRowsBlockXpr<... >::Type middleRows (Index startRow, NRowsType n)
template<typename NRowsType>
const ConstNRowsBlockXpr<... >::Type middleRows (Index startRow, NRowsType n) const
 This is the const version of middleRows(Index,NRowsType).
template<typename OtherDerived>
const CwiseBinaryOp< internal::scalar_bitwise_and_op< Scalar >, const Derived, const OtherDerived > operator& (const Eigen::SparseMatrixBase< OtherDerived > &other) const
template<typename OtherDerived>
const CwiseBinaryOp< internal::scalar_boolean_and_op< Scalar >, const Derived, const OtherDerived > operator&& (const Eigen::SparseMatrixBase< OtherDerived > &other) const
template<typename OtherDerived>
const Product< Derived, OtherDerived, AliasFreeProduct > operator* (const SparseMatrixBase< OtherDerived > &other) const
template<typename OtherDerived>
const CwiseBinaryOp< sum< Scalar >, const Derived, const OtherDerived > operator+ (const Eigen::SparseMatrixBase< OtherDerived > &other) const
const NegativeReturnType operator- () const
template<typename OtherDerived>
const CwiseBinaryOp< difference< Scalar >, const Derived, const OtherDerived > operator- (const Eigen::SparseMatrixBase< OtherDerived > &other) const
template<typename OtherDerived>
const CwiseBinaryOp< internal::scalar_bitwise_xor_op< Scalar >, const Derived, const OtherDerived > operator^ (const Eigen::SparseMatrixBase< OtherDerived > &other) const
template<typename OtherDerived>
const CwiseBinaryOp< internal::scalar_bitwise_or_op< Scalar >, const Derived, const OtherDerived > operator| (const Eigen::SparseMatrixBase< OtherDerived > &other) const
template<typename OtherDerived>
const CwiseBinaryOp< internal::scalar_boolean_or_op< Scalar >, const Derived, const OtherDerived > operator|| (const Eigen::SparseMatrixBase< OtherDerived > &other) const
Index outerSize () const
const SparseView< Derived > pruned (const Scalar &reference=Scalar(0), const RealScalar &epsilon=NumTraits< Scalar >::dummy_precision()) const
NonConstRealReturnType real ()
RealReturnType real () const
template<int N>
NColsBlockXpr< N >::Type rightCols (Index n=N)
template<int N>
ConstNColsBlockXpr< N >::Type rightCols (Index n=N) const
 This is the const version of rightCols<int>().
template<typename NColsType>
NColsBlockXpr<... >::Type rightCols (NColsType n)
template<typename NColsType>
const ConstNColsBlockXpr<... >::Type rightCols (NColsType n) const
 This is the const version of rightCols(NColsType).
RowXpr row (Index i)
ConstRowXpr row (Index i) const
 This is the const version of row(). *‍/.
Index rows () const
template<int N>
FixedSegmentReturnType< N >::Type segment (Index start, Index n=N)
template<int N>
ConstFixedSegmentReturnType< N >::Type segment (Index start, Index n=N) const
 This is the const version of segment<int>(Index).
template<typename NType>
FixedSegmentReturnType<... >::Type segment (Index start, NType n)
template<typename NType>
const ConstFixedSegmentReturnType<... >::Type segment (Index start, NType n) const
 This is the const version of segment(Index,NType).
Index size () const
template<DirectionType Direction>
std::conditional_t< Direction==Vertical, ColXpr, RowXpr > subVector (Index i)
template<DirectionType Direction>
std::conditional_t< Direction==Vertical, ConstColXpr, ConstRowXpr > subVector (Index i) const
template<DirectionType Direction>
constexpr Index subVectors () const
template<int N>
FixedSegmentReturnType< N >::Type tail (Index n=N)
template<int N>
ConstFixedSegmentReturnType< N >::Type tail (Index n=N) const
 This is the const version of tail<int>.
template<typename NType>
FixedSegmentReturnType<... >::Type tail (NType n)
template<typename NType>
const ConstFixedSegmentReturnType<... >::Type tail (NType n) const
 This is the const version of tail(Index).
template<int CRows, int CCols>
FixedBlockXpr< CRows, CCols >::Type topLeftCorner ()
template<int CRows, int CCols>
const ConstFixedBlockXpr< CRows, CCols >::Type topLeftCorner () const
 This is the const version of topLeftCorner<int, int>().
template<int CRows, int CCols>
FixedBlockXpr< CRows, CCols >::Type topLeftCorner (Index cRows, Index cCols)
template<int CRows, int CCols>
const ConstFixedBlockXpr< CRows, CCols >::Type topLeftCorner (Index cRows, Index cCols) const
 This is the const version of topLeftCorner<int, int>(Index, Index).
template<typename NRowsType, typename NColsType>
FixedBlockXpr<...,... >::Type topLeftCorner (NRowsType cRows, NColsType cCols)
template<typename NRowsType, typename NColsType>
const ConstFixedBlockXpr<...,... >::Type topLeftCorner (NRowsType cRows, NColsType cCols) const
 This is the const version of topLeftCorner(Index, Index).
template<int CRows, int CCols>
FixedBlockXpr< CRows, CCols >::Type topRightCorner ()
template<int CRows, int CCols>
const ConstFixedBlockXpr< CRows, CCols >::Type topRightCorner () const
 This is the const version of topRightCorner<int, int>().
template<int CRows, int CCols>
FixedBlockXpr< CRows, CCols >::Type topRightCorner (Index cRows, Index cCols)
template<int CRows, int CCols>
const ConstFixedBlockXpr< CRows, CCols >::Type topRightCorner (Index cRows, Index cCols) const
 This is the const version of topRightCorner<int, int>(Index, Index).
template<typename NRowsType, typename NColsType>
FixedBlockXpr<...,... >::Type topRightCorner (NRowsType cRows, NColsType cCols)
template<typename NRowsType, typename NColsType>
const ConstFixedBlockXpr<...,... >::Type topRightCorner (NRowsType cRows, NColsType cCols) const
 This is the const version of topRightCorner(NRowsType, NColsType).
template<int N>
NRowsBlockXpr< N >::Type topRows (Index n=N)
template<int N>
ConstNRowsBlockXpr< N >::Type topRows (Index n=N) const
 This is the const version of topRows<int>().
template<typename NRowsType>
NRowsBlockXpr<... >::Type topRows (NRowsType n)
template<typename NRowsType>
const ConstNRowsBlockXpr<... >::Type topRows (NRowsType n) const
 This is the const version of topRows(NRowsType).
SparseSymmetricPermutationProduct< Derived, Upper|LowertwistedBy (const PermutationMatrix< Dynamic, Dynamic, StorageIndex > &perm) const
template<typename CustomUnaryOp>
const CwiseUnaryOp< CustomUnaryOp, const Derived > unaryExpr (const CustomUnaryOp &func=CustomUnaryOp()) const
 Apply a unary operator coefficient-wise.
template<typename CustomViewOp>
CwiseUnaryView< CustomViewOp, Derived > unaryViewExpr (const CustomViewOp &func=CustomViewOp())
template<typename CustomViewOp>
const CwiseUnaryView< CustomViewOp, const Derived > unaryViewExpr (const CustomViewOp &func=CustomViewOp()) const
Public Member Functions inherited from Eigen::EigenBase< Derived >
constexpr Index cols () const noexcept
constexpr Derived & derived ()
constexpr const Derived & derived () const
constexpr Index rows () const noexcept
constexpr Index size () const noexcept

Additional Inherited Members

Public Types inherited from Eigen::SparseMatrixBase< Derived >
enum  {
  RowsAtCompileTime ,
  ColsAtCompileTime ,
  SizeAtCompileTime ,
  MaxRowsAtCompileTime ,
  MaxColsAtCompileTime ,
  MaxSizeAtCompileTime ,
  IsVectorAtCompileTime ,
  NumDimensions ,
  Flags ,
  IsRowMajor ,
  InnerSizeAtCompileTime
}
typedef NumTraits< Scalar >::Real RealScalar
typedef internal::traits< Derived >::StorageIndex StorageIndex
typedef Scalar value_type
Public Types inherited from Eigen::EigenBase< Derived >
typedef Eigen::Index Index
 The interface type of indices.
Protected Member Functions inherited from Eigen::SparseCompressedBase< Derived >
 SparseCompressedBase ()

Constructor & Destructor Documentation

◆ ~SparseMapBase()

template<typename Derived>
Eigen::SparseMapBase< Derived, WriteAccessors >::~SparseMapBase ( )
inline

Empty destructor

Member Function Documentation

◆ coeffRef()

template<typename Derived>
Scalar & Eigen::SparseMapBase< Derived, WriteAccessors >::coeffRef ( Index row,
Index col )
inline

Returns
a non-const reference to the value of the matrix at position i, j

If the element does not exist then it is inserted via the insert(Index,Index) function which itself turns the matrix into a non compressed form if that was not the case.

This is a O(log(nnz_j)) operation (binary search) plus the cost of insert(Index,Index) function if the element does not already exist.

◆ innerIndexPtr() [1/2]

template<typename Derived>
StorageIndex * Eigen::SparseMapBase< Derived, WriteAccessors >::innerIndexPtr ( )
inline

Returns
a const pointer to the array of inner indices. This function is aimed at interoperability with other libraries.
See also
valuePtr(), outerIndexPtr()

◆ innerIndexPtr() [2/2]

template<typename Derived>
const StorageIndex * Eigen::SparseMapBase< Derived, ReadOnlyAccessors >::innerIndexPtr ( ) const
inline

Returns
a const pointer to the array of inner indices. This function is aimed at interoperability with other libraries.
See also
valuePtr(), outerIndexPtr()

◆ innerNonZeroPtr() [1/2]

template<typename Derived>
StorageIndex * Eigen::SparseMapBase< Derived, WriteAccessors >::innerNonZeroPtr ( )
inline

Returns
a const pointer to the array of the number of non zeros of the inner vectors. This function is aimed at interoperability with other libraries.
Warning
it returns the null pointer 0 in compressed mode

◆ innerNonZeroPtr() [2/2]

template<typename Derived>
const StorageIndex * Eigen::SparseMapBase< Derived, ReadOnlyAccessors >::innerNonZeroPtr ( ) const
inline

Returns
a const pointer to the array of the number of non zeros of the inner vectors. This function is aimed at interoperability with other libraries.
Warning
it returns the null pointer 0 in compressed mode

◆ outerIndexPtr() [1/2]

template<typename Derived>
StorageIndex * Eigen::SparseMapBase< Derived, WriteAccessors >::outerIndexPtr ( )
inline

Returns
a const pointer to the array of the starting positions of the inner vectors. This function is aimed at interoperability with other libraries.
See also
valuePtr(), innerIndexPtr()

◆ outerIndexPtr() [2/2]

template<typename Derived>
const StorageIndex * Eigen::SparseMapBase< Derived, ReadOnlyAccessors >::outerIndexPtr ( ) const
inline

Returns
a const pointer to the array of the starting positions of the inner vectors. This function is aimed at interoperability with other libraries.
See also
valuePtr(), innerIndexPtr()

◆ valuePtr() [1/2]

template<typename Derived>
Scalar * Eigen::SparseMapBase< Derived, WriteAccessors >::valuePtr ( )
inline

Returns
a const pointer to the array of values. This function is aimed at interoperability with other libraries.
See also
innerIndexPtr(), outerIndexPtr()

◆ valuePtr() [2/2]

template<typename Derived>
const Scalar * Eigen::SparseMapBase< Derived, ReadOnlyAccessors >::valuePtr ( ) const
inline

Returns
a const pointer to the array of values. This function is aimed at interoperability with other libraries.
See also
innerIndexPtr(), outerIndexPtr()

The documentation for this class was generated from the following file:
  • /builddir/build/BUILD/eigen3-5.0.1-build/eigen-5.0.1/Eigen/src/SparseCore/SparseMap.h