Eigen  3.3.4
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Eigen::SparseCompressedBase< Derived > Class Template Reference

Detailed Description

template<typename Derived>
class Eigen::SparseCompressedBase< Derived >

Common base class for sparse [compressed]-{row|column}-storage format.

This class defines the common interface for all derived classes implementing the compressed sparse storage format, such as:

+ Inheritance diagram for Eigen::SparseCompressedBase< Derived >:

Public Member Functions

const Map< const Array< Scalar,
Dynamic, 1 > > 
coeffs () const
 
Map< Array< Scalar, Dynamic, 1 > > coeffs ()
 
const StorageIndexinnerIndexPtr () const
 
StorageIndexinnerIndexPtr ()
 
const StorageIndexinnerNonZeroPtr () const
 
StorageIndexinnerNonZeroPtr ()
 
bool isCompressed () const
 
Index nonZeros () const
 
const StorageIndexouterIndexPtr () const
 
StorageIndexouterIndexPtr ()
 
const Scalar * valuePtr () const
 
Scalar * valuePtr ()
 
- 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
 
BlockXpr block (Index startRow, Index startCol, Index blockRows, Index blockCols)
 
const ConstBlockXpr block (Index startRow, Index startCol, Index blockRows, Index blockCols) const
 This is the const version of block(Index,Index,Index,Index). */.
 
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).
 
BlockXpr bottomLeftCorner (Index cRows, Index cCols)
 
const ConstBlockXpr bottomLeftCorner (Index cRows, Index cCols) const
 This is the const version of bottomLeftCorner(Index, Index).
 
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).
 
BlockXpr bottomRightCorner (Index cRows, Index cCols)
 
const ConstBlockXpr bottomRightCorner (Index cRows, Index cCols) const
 This is the const version of bottomRightCorner(Index, Index).
 
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).
 
RowsBlockXpr bottomRows (Index n)
 
ConstRowsBlockXpr bottomRows (Index n) const
 This is the const version of bottomRows(Index).
 
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 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
 
const CwiseAbsReturnType cwiseAbs () const
 
const CwiseAbs2ReturnType cwiseAbs2 () const
 
template<typename OtherDerived >
const CwiseBinaryOp
< std::equal_to< Scalar >
, const Derived, const
OtherDerived > 
cwiseEqual (const Eigen::SparseMatrixBase< OtherDerived > &other) const
 
const CwiseScalarEqualReturnType cwiseEqual (const Scalar &s) const
 
const CwiseInverseReturnType cwiseInverse () const
 
template<typename OtherDerived >
const CwiseBinaryOp
< internal::scalar_max_op
< Scalar, Scalar >, const
Derived, const OtherDerived > 
cwiseMax (const Eigen::SparseMatrixBase< OtherDerived > &other) const
 
const CwiseBinaryOp
< internal::scalar_max_op
< Scalar, Scalar >, const
Derived, const
ConstantReturnType > 
cwiseMax (const Scalar &other) const
 
template<typename OtherDerived >
const CwiseBinaryOp
< internal::scalar_min_op
< Scalar, Scalar >, const
Derived, const OtherDerived > 
cwiseMin (const Eigen::SparseMatrixBase< OtherDerived > &other) const
 
const CwiseBinaryOp
< internal::scalar_min_op
< Scalar, Scalar >, const
Derived, const
ConstantReturnType > 
cwiseMin (const Scalar &other) const
 
template<typename OtherDerived >
const CwiseBinaryOp
< std::not_equal_to< Scalar >
, const Derived, const
OtherDerived > 
cwiseNotEqual (const Eigen::SparseMatrixBase< OtherDerived > &other) 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 internal::eval< Derived >
::type 
eval () const
 
SegmentReturnType head (Index n)
 
ConstSegmentReturnType head (Index n) const
 This is the const version of head(Index).
 
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>().
 
const ImagReturnType imag () const
 
NonConstImagReturnType imag ()
 
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
 
ColsBlockXpr leftCols (Index n)
 
ConstColsBlockXpr leftCols (Index n) const
 This is the const version of leftCols(Index).
 
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>().
 
ColsBlockXpr middleCols (Index startCol, Index numCols)
 
ConstColsBlockXpr middleCols (Index startCol, Index numCols) const
 This is the const version of middleCols(Index,Index).
 
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>().
 
RowsBlockXpr middleRows (Index startRow, Index n)
 
ConstRowsBlockXpr middleRows (Index startRow, Index n) const
 This is the const version of middleRows(Index,Index).
 
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 OtherDerived >
const CwiseBinaryOp
< internal::scalar_boolean_and_op,
const Derived, const
OtherDerived > 
operator&& (const Eigen::SparseMatrixBase< OtherDerived > &other) const
 
template<typename T >
const CwiseBinaryOp
< internal::scalar_product_op
< Scalar, T >, Derived,
Constant< T > > 
operator* (const T &scalar) 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
 
template<typename OtherDerived >
const CwiseBinaryOp
< difference< Scalar >, const
Derived, const OtherDerived > 
operator- (const Eigen::SparseMatrixBase< OtherDerived > &other) const
 
const NegativeReturnType operator- () const
 
template<typename T >
const CwiseBinaryOp
< internal::scalar_quotient_op
< Scalar, T >, Derived,
Constant< T > > 
operator/ (const T &scalar) const
 
template<typename OtherDerived >
const CwiseBinaryOp
< internal::scalar_boolean_or_op,
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
 
RealReturnType real () const
 
NonConstRealReturnType real ()
 
ColsBlockXpr rightCols (Index n)
 
ConstColsBlockXpr rightCols (Index n) const
 This is the const version of rightCols(Index).
 
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>().
 
RowXpr row (Index i)
 
ConstRowXpr row (Index i) const
 This is the const version of row(). */.
 
Index rows () const
 
SegmentReturnType segment (Index start, Index n)
 
ConstSegmentReturnType segment (Index start, Index n) const
 This is the const version of segment(Index,Index).
 
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).
 
Index size () const
 
SegmentReturnType tail (Index n)
 
ConstSegmentReturnType tail (Index n) const
 This is the const version of tail(Index).
 
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>.
 
BlockXpr topLeftCorner (Index cRows, Index cCols)
 
const ConstBlockXpr topLeftCorner (Index cRows, Index cCols) const
 This is the const version of topLeftCorner(Index, 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).
 
BlockXpr topRightCorner (Index cRows, Index cCols)
 
const ConstBlockXpr topRightCorner (Index cRows, Index cCols) const
 This is the const version of topRightCorner(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).
 
RowsBlockXpr topRows (Index n)
 
ConstRowsBlockXpr topRows (Index n) const
 This is the const version of topRows(Index).
 
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>().
 
SparseSymmetricPermutationProduct
< Derived, Upper|Lower
twistedBy (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. More...
 
template<typename CustomViewOp >
const CwiseUnaryView
< CustomViewOp, const Derived > 
unaryViewExpr (const CustomViewOp &func=CustomViewOp()) const
 
- Public Member Functions inherited from Eigen::EigenBase< Derived >
Index cols () const
 
Derived & derived ()
 
const Derived & derived () const
 
Index rows () const
 
Index size () const
 

Protected Member Functions

 SparseCompressedBase ()
 

Additional Inherited Members

- Public Types inherited from Eigen::SparseMatrixBase< Derived >
enum  {
  RowsAtCompileTime,
  ColsAtCompileTime,
  SizeAtCompileTime ,
  IsVectorAtCompileTime,
  Flags
}
 
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. More...
 

Constructor & Destructor Documentation

template<typename Derived>
Eigen::SparseCompressedBase< Derived >::SparseCompressedBase ( )
inlineprotected

Default constructor. Do nothing.

Member Function Documentation

template<typename Derived>
const Map<const Array<Scalar,Dynamic,1> > Eigen::SparseCompressedBase< Derived >::coeffs ( ) const
inline
Returns
a read-only view of the stored coefficients as a 1D array expression.
Warning
this method is for compressed storage only, and it will trigger an assertion otherwise.
See Also
valuePtr(), isCompressed()
template<typename Derived>
Map<Array<Scalar,Dynamic,1> > Eigen::SparseCompressedBase< Derived >::coeffs ( )
inline
Returns
a read-write view of the stored coefficients as a 1D array expression
Warning
this method is for compressed storage only, and it will trigger an assertion otherwise.

Here is an example:

SparseMatrix<double> A(3,3);
A.insert(1,2) = 0;
A.insert(0,1) = 1;
A.insert(2,0) = 2;
A.makeCompressed();
cout << "The matrix A is:" << endl << MatrixXd(A) << endl;
cout << "it has " << A.nonZeros() << " stored non zero coefficients that are: " << A.coeffs().transpose() << endl;
A.coeffs() += 10;
cout << "After adding 10 to every stored non zero coefficient, the matrix A is:" << endl << MatrixXd(A) << endl;

and the output is:

The matrix A is:
0 1 0
0 0 0
2 0 0
it has 3 stored non zero coefficients that are: 2 1 0
After adding 10 to every stored non zero coefficient, the matrix A is:
0 11 0
0 0 10
12 0 0
See Also
valuePtr(), isCompressed()
template<typename Derived>
const StorageIndex* Eigen::SparseCompressedBase< Derived >::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()
template<typename Derived>
StorageIndex* Eigen::SparseCompressedBase< Derived >::innerIndexPtr ( )
inline
Returns
a non-const pointer to the array of inner indices. This function is aimed at interoperability with other libraries.
See Also
valuePtr(), outerIndexPtr()
template<typename Derived>
const StorageIndex* Eigen::SparseCompressedBase< Derived >::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
template<typename Derived>
StorageIndex* Eigen::SparseCompressedBase< Derived >::innerNonZeroPtr ( )
inline
Returns
a non-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
template<typename Derived>
bool Eigen::SparseCompressedBase< Derived >::isCompressed ( ) const
inline
Returns
whether *this is in compressed form.
template<typename Derived>
Index Eigen::SparseCompressedBase< Derived >::nonZeros ( ) const
inline
Returns
the number of non zero coefficients
template<typename Derived>
const StorageIndex* Eigen::SparseCompressedBase< Derived >::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.
Warning
it returns the null pointer 0 for SparseVector
See Also
valuePtr(), innerIndexPtr()
template<typename Derived>
StorageIndex* Eigen::SparseCompressedBase< Derived >::outerIndexPtr ( )
inline
Returns
a non-const pointer to the array of the starting positions of the inner vectors. This function is aimed at interoperability with other libraries.
Warning
it returns the null pointer 0 for SparseVector
See Also
valuePtr(), innerIndexPtr()
template<typename Derived>
const Scalar* Eigen::SparseCompressedBase< Derived >::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()
template<typename Derived>
Scalar* Eigen::SparseCompressedBase< Derived >::valuePtr ( )
inline
Returns
a non-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: