MOAB  4.9.3pre
Eigen::SparseMatrixBase< Derived > Class Template Reference

Base class of any sparse matrices or sparse expressions. More...

#include <SparseMatrixBase.h>

Inheritance diagram for Eigen::SparseMatrixBase< Derived >:
Collaboration diagram for Eigen::SparseMatrixBase< Derived >:

List of all members.

Classes

struct  CastXpr
struct  ConstFixedBlockXpr
struct  ConstFixedSegmentReturnType
struct  ConstNColsBlockXpr
struct  ConstNRowsBlockXpr
struct  ConstSelfAdjointViewReturnType
struct  CwiseProductDenseReturnType
struct  FixedBlockXpr
struct  FixedSegmentReturnType
struct  NColsBlockXpr
struct  NRowsBlockXpr
struct  SelfAdjointViewReturnType

Public Types

enum  {
  RowsAtCompileTime = internal::traits<Derived>::RowsAtCompileTime, ColsAtCompileTime = internal::traits<Derived>::ColsAtCompileTime, SizeAtCompileTime, MaxRowsAtCompileTime = RowsAtCompileTime,
  MaxColsAtCompileTime = ColsAtCompileTime, MaxSizeAtCompileTime, IsVectorAtCompileTime = RowsAtCompileTime == 1 || ColsAtCompileTime == 1, Flags = internal::traits<Derived>::Flags,
  IsRowMajor = Flags&RowMajorBit ? 1 : 0, InnerSizeAtCompileTime, _HasDirectAccess = (int(Flags)&DirectAccessBit) ? 1 : 0
}
typedef internal::traits
< Derived >::Scalar 
Scalar
typedef Scalar value_type
typedef
internal::packet_traits
< Scalar >::type 
PacketScalar
typedef internal::traits
< Derived >::StorageKind 
StorageKind
typedef internal::traits
< Derived >::StorageIndex 
StorageIndex
typedef
internal::add_const_on_value_type_if_arithmetic
< typename
internal::packet_traits
< Scalar >::type >::type 
PacketReturnType
typedef SparseMatrixBase StorageBaseType
typedef Matrix< StorageIndex,
Dynamic, 1 > 
IndexVector
typedef Matrix< Scalar,
Dynamic, 1 > 
ScalarVector
typedef internal::conditional
< NumTraits< Scalar >
::IsComplex, CwiseUnaryOp
< internal::scalar_conjugate_op
< Scalar >, Eigen::Transpose
< const Derived > >, Transpose
< const Derived > >::type 
AdjointReturnType
typedef Transpose< Derived > TransposeReturnType
typedef internal::add_const
< Transpose< const Derived >
>::type 
ConstTransposeReturnType
typedef SparseMatrix< Scalar,
Flags &RowMajorBit?RowMajor:ColMajor,
StorageIndex
PlainObject
typedef NumTraits< Scalar >::Real RealScalar
typedef internal::conditional
< _HasDirectAccess, const
Scalar &, Scalar >::type 
CoeffReturnType
typedef CwiseNullaryOp
< internal::scalar_constant_op
< Scalar >, Matrix< Scalar,
Dynamic, Dynamic > > 
ConstantReturnType
typedef Matrix< Scalar,
RowsAtCompileTime,
ColsAtCompileTime
DenseMatrixType
typedef Matrix< Scalar,
EIGEN_SIZE_MAX(RowsAtCompileTime,
ColsAtCompileTime),
EIGEN_SIZE_MAX(RowsAtCompileTime,
ColsAtCompileTime)> 
SquareMatrixType
typedef
internal::special_scalar_op_base
< Derived, Scalar, RealScalar,
EigenBase< Derived > > 
Base
typedef CwiseUnaryOp
< internal::scalar_multiple_op
< Scalar >, const Derived > 
ScalarMultipleReturnType
typedef CwiseUnaryOp
< internal::scalar_multiple2_op
< Scalar, std::complex< Scalar >
>, const Derived > 
ScalarComplexMultipleReturnType
typedef CwiseUnaryOp
< internal::scalar_quotient1_op
< Scalar >, const Derived > 
ScalarQuotient1ReturnType
typedef internal::conditional
< NumTraits< Scalar >
::IsComplex, const
CwiseUnaryOp
< internal::scalar_conjugate_op
< Scalar >, const Derived >
, const Derived & >::type 
ConjugateReturnType
typedef internal::conditional
< NumTraits< Scalar >
::IsComplex, const
CwiseUnaryOp
< internal::scalar_real_op
< Scalar >, const Derived >
, const Derived & >::type 
RealReturnType
typedef internal::conditional
< NumTraits< Scalar >
::IsComplex, CwiseUnaryView
< internal::scalar_real_ref_op
< Scalar >, Derived >, Derived & >
::type 
NonConstRealReturnType
typedef CwiseUnaryOp
< internal::scalar_imag_op
< Scalar >, const Derived > 
ImagReturnType
typedef CwiseUnaryView
< internal::scalar_imag_ref_op
< Scalar >, Derived > 
NonConstImagReturnType
typedef CwiseUnaryOp
< internal::scalar_opposite_op
< Scalar >, const Derived > 
NegativeReturnType
typedef CwiseUnaryOp
< internal::scalar_abs_op
< Scalar >, const Derived > 
CwiseAbsReturnType
typedef CwiseUnaryOp
< internal::scalar_abs2_op
< Scalar >, const Derived > 
CwiseAbs2ReturnType
typedef CwiseUnaryOp
< internal::scalar_sqrt_op
< Scalar >, const Derived > 
CwiseSqrtReturnType
typedef CwiseUnaryOp
< internal::scalar_sign_op
< Scalar >, const Derived > 
CwiseSignReturnType
typedef CwiseUnaryOp
< internal::scalar_inverse_op
< Scalar >, const Derived > 
CwiseInverseReturnType
typedef CwiseBinaryOp
< internal::scalar_cmp_op
< Scalar, internal::cmp_EQ >
, const Derived, const
ConstantReturnType
CwiseScalarEqualReturnType
typedef Block< Derived,
internal::traits< Derived >
::RowsAtCompileTime,
1,!IsRowMajor
ColXpr
typedef const Block< const
Derived, internal::traits
< Derived >::RowsAtCompileTime,
1,!IsRowMajor
ConstColXpr
typedef Block< Derived,
1, internal::traits< Derived >
::ColsAtCompileTime,
IsRowMajor
RowXpr
typedef const Block< const
Derived, 1, internal::traits
< Derived >::ColsAtCompileTime,
IsRowMajor
ConstRowXpr
typedef Block< Derived,
internal::traits< Derived >
::RowsAtCompileTime, Dynamic,!IsRowMajor
ColsBlockXpr
typedef const Block< const
Derived, internal::traits
< Derived >::RowsAtCompileTime,
Dynamic,!IsRowMajor
ConstColsBlockXpr
typedef Block< Derived,
Dynamic, internal::traits
< Derived >::ColsAtCompileTime,
IsRowMajor
RowsBlockXpr
typedef const Block< const
Derived, Dynamic,
internal::traits< Derived >
::ColsAtCompileTime,
IsRowMajor
ConstRowsBlockXpr
typedef Block< Derived > BlockXpr
typedef const Block< const
Derived > 
ConstBlockXpr
typedef VectorBlock< Derived > SegmentReturnType
typedef const VectorBlock
< const Derived > 
ConstSegmentReturnType
typedef Block< Derived,
IsRowMajor?1:Dynamic,
IsRowMajor?Dynamic:1, true > 
InnerVectorReturnType
typedef Block< const Derived,
IsRowMajor?1:Dynamic,
IsRowMajor?Dynamic:1, true > 
ConstInnerVectorReturnType
typedef Block< Derived,
Dynamic, Dynamic, true > 
InnerVectorsReturnType
typedef Block< const Derived,
Dynamic, Dynamic, true > 
ConstInnerVectorsReturnType

Public Member Functions

template<typename OtherDerived >
Derived & operator= (const EigenBase< OtherDerived > &other)
const Derived & derived () const
Derived & derived ()
Derived & const_cast_derived () const
EIGEN_DEVICE_FUNC const
NegativeReturnType 
operator- () const
EIGEN_DEVICE_FUNC const
ScalarMultipleReturnType 
operator* (const Scalar &scalar) const
EIGEN_DEVICE_FUNC const
ScalarQuotient1ReturnType 
operator/ (const Scalar &scalar) const
EIGEN_DEVICE_FUNC const
ScalarComplexMultipleReturnType 
operator* (const std::complex< Scalar > &scalar) const
template<typename NewType >
EIGEN_DEVICE_FUNC CastXpr
< NewType >::Type 
cast () const
EIGEN_DEVICE_FUNC
ConjugateReturnType 
conjugate () const
EIGEN_DEVICE_FUNC RealReturnType real () const
EIGEN_DEVICE_FUNC const
ImagReturnType 
imag () const
template<typename CustomUnaryOp >
EIGEN_DEVICE_FUNC const
CwiseUnaryOp< CustomUnaryOp,
const Derived > 
unaryExpr (const CustomUnaryOp &func=CustomUnaryOp()) const
 Apply a unary operator coefficient-wise.
template<typename CustomViewOp >
EIGEN_DEVICE_FUNC const
CwiseUnaryView< CustomViewOp,
const Derived > 
unaryViewExpr (const CustomViewOp &func=CustomViewOp()) const
EIGEN_DEVICE_FUNC
NonConstRealReturnType 
real ()
EIGEN_DEVICE_FUNC
NonConstImagReturnType 
imag ()
template<typename CustomBinaryOp , typename OtherDerived >
EIGEN_DEVICE_FUNC
EIGEN_STRONG_INLINE const
CwiseBinaryOp< CustomBinaryOp,
const Derived, const
OtherDerived > 
binaryExpr (const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > &other, const CustomBinaryOp &func=CustomBinaryOp()) const
EIGEN_DEVICE_FUNC
EIGEN_STRONG_INLINE const
CwiseAbsReturnType 
cwiseAbs () const
EIGEN_DEVICE_FUNC
EIGEN_STRONG_INLINE const
CwiseAbs2ReturnType 
cwiseAbs2 () const
EIGEN_DEVICE_FUNC const
CwiseSqrtReturnType 
cwiseSqrt () const
EIGEN_DEVICE_FUNC const
CwiseSignReturnType 
cwiseSign () const
EIGEN_DEVICE_FUNC const
CwiseInverseReturnType 
cwiseInverse () const
template<typename OtherDerived >
EIGEN_DEVICE_FUNC
EIGEN_STRONG_INLINE const 
EIGEN_CWISE_PRODUCT_RETURN_TYPE (Derived, OtherDerived) cwiseProduct(const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > &other) const
template<typename OtherDerived >
EIGEN_DEVICE_FUNC const
CwiseBinaryOp< std::equal_to
< Scalar >, const Derived,
const OtherDerived > 
cwiseEqual (const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > &other) const
template<typename OtherDerived >
EIGEN_DEVICE_FUNC const
CwiseBinaryOp
< std::not_equal_to< Scalar >
, const Derived, const
OtherDerived > 
cwiseNotEqual (const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > &other) const
template<typename OtherDerived >
EIGEN_DEVICE_FUNC
EIGEN_STRONG_INLINE const
CwiseBinaryOp
< internal::scalar_min_op
< Scalar >, const Derived,
const OtherDerived > 
cwiseMin (const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > &other) const
EIGEN_DEVICE_FUNC
EIGEN_STRONG_INLINE const
CwiseBinaryOp
< internal::scalar_min_op
< Scalar >, const Derived,
const ConstantReturnType
cwiseMin (const Scalar &other) const
template<typename OtherDerived >
EIGEN_DEVICE_FUNC
EIGEN_STRONG_INLINE const
CwiseBinaryOp
< internal::scalar_max_op
< Scalar >, const Derived,
const OtherDerived > 
cwiseMax (const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > &other) const
EIGEN_DEVICE_FUNC
EIGEN_STRONG_INLINE const
CwiseBinaryOp
< internal::scalar_max_op
< Scalar >, const Derived,
const ConstantReturnType
cwiseMax (const Scalar &other) const
template<typename OtherDerived >
EIGEN_DEVICE_FUNC
EIGEN_STRONG_INLINE const
CwiseBinaryOp
< internal::scalar_quotient_op
< Scalar >, const Derived,
const OtherDerived > 
cwiseQuotient (const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > &other) const
EIGEN_DEVICE_FUNC const
CwiseScalarEqualReturnType 
cwiseEqual (const Scalar &s) const
EIGEN_DEVICE_FUNC BlockXpr block (Index startRow, Index startCol, Index blockRows, Index blockCols)
EIGEN_DEVICE_FUNC const
ConstBlockXpr 
block (Index startRow, Index startCol, Index blockRows, Index blockCols) const
EIGEN_DEVICE_FUNC BlockXpr topRightCorner (Index cRows, Index cCols)
EIGEN_DEVICE_FUNC const
ConstBlockXpr 
topRightCorner (Index cRows, Index cCols) const
template<int CRows, int CCols>
EIGEN_DEVICE_FUNC
FixedBlockXpr< CRows, CCols >
::Type 
topRightCorner ()
template<int CRows, int CCols>
EIGEN_DEVICE_FUNC const
ConstFixedBlockXpr< CRows,
CCols >::Type 
topRightCorner () const
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
EIGEN_DEVICE_FUNC BlockXpr topLeftCorner (Index cRows, Index cCols)
EIGEN_DEVICE_FUNC const
ConstBlockXpr 
topLeftCorner (Index cRows, Index cCols) const
template<int CRows, int CCols>
EIGEN_DEVICE_FUNC
FixedBlockXpr< CRows, CCols >
::Type 
topLeftCorner ()
template<int CRows, int CCols>
EIGEN_DEVICE_FUNC const
ConstFixedBlockXpr< CRows,
CCols >::Type 
topLeftCorner () const
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
EIGEN_DEVICE_FUNC BlockXpr bottomRightCorner (Index cRows, Index cCols)
EIGEN_DEVICE_FUNC const
ConstBlockXpr 
bottomRightCorner (Index cRows, Index cCols) const
template<int CRows, int CCols>
EIGEN_DEVICE_FUNC
FixedBlockXpr< CRows, CCols >
::Type 
bottomRightCorner ()
template<int CRows, int CCols>
EIGEN_DEVICE_FUNC const
ConstFixedBlockXpr< CRows,
CCols >::Type 
bottomRightCorner () const
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
EIGEN_DEVICE_FUNC BlockXpr bottomLeftCorner (Index cRows, Index cCols)
EIGEN_DEVICE_FUNC const
ConstBlockXpr 
bottomLeftCorner (Index cRows, Index cCols) const
template<int CRows, int CCols>
EIGEN_DEVICE_FUNC
FixedBlockXpr< CRows, CCols >
::Type 
bottomLeftCorner ()
template<int CRows, int CCols>
EIGEN_DEVICE_FUNC const
ConstFixedBlockXpr< CRows,
CCols >::Type 
bottomLeftCorner () const
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
EIGEN_DEVICE_FUNC RowsBlockXpr topRows (Index n)
EIGEN_DEVICE_FUNC ConstRowsBlockXpr topRows (Index n) const
template<int N>
EIGEN_DEVICE_FUNC
NRowsBlockXpr< N >::Type 
topRows (Index n=N)
template<int N>
EIGEN_DEVICE_FUNC
ConstNRowsBlockXpr< N >::Type 
topRows (Index n=N) const
EIGEN_DEVICE_FUNC RowsBlockXpr bottomRows (Index n)
EIGEN_DEVICE_FUNC ConstRowsBlockXpr bottomRows (Index n) const
template<int N>
EIGEN_DEVICE_FUNC
NRowsBlockXpr< N >::Type 
bottomRows (Index n=N)
template<int N>
EIGEN_DEVICE_FUNC
ConstNRowsBlockXpr< N >::Type 
bottomRows (Index n=N) const
EIGEN_DEVICE_FUNC RowsBlockXpr middleRows (Index startRow, Index n)
EIGEN_DEVICE_FUNC ConstRowsBlockXpr middleRows (Index startRow, Index n) const
template<int N>
EIGEN_DEVICE_FUNC
NRowsBlockXpr< N >::Type 
middleRows (Index startRow, Index n=N)
template<int N>
EIGEN_DEVICE_FUNC
ConstNRowsBlockXpr< N >::Type 
middleRows (Index startRow, Index n=N) const
EIGEN_DEVICE_FUNC ColsBlockXpr leftCols (Index n)
EIGEN_DEVICE_FUNC ConstColsBlockXpr leftCols (Index n) const
template<int N>
EIGEN_DEVICE_FUNC
NColsBlockXpr< N >::Type 
leftCols (Index n=N)
template<int N>
EIGEN_DEVICE_FUNC
ConstNColsBlockXpr< N >::Type 
leftCols (Index n=N) const
EIGEN_DEVICE_FUNC ColsBlockXpr rightCols (Index n)
EIGEN_DEVICE_FUNC ConstColsBlockXpr rightCols (Index n) const
template<int N>
EIGEN_DEVICE_FUNC
NColsBlockXpr< N >::Type 
rightCols (Index n=N)
template<int N>
EIGEN_DEVICE_FUNC
ConstNColsBlockXpr< N >::Type 
rightCols (Index n=N) const
EIGEN_DEVICE_FUNC ColsBlockXpr middleCols (Index startCol, Index numCols)
EIGEN_DEVICE_FUNC ConstColsBlockXpr middleCols (Index startCol, Index numCols) const
template<int N>
EIGEN_DEVICE_FUNC
NColsBlockXpr< N >::Type 
middleCols (Index startCol, Index n=N)
template<int N>
EIGEN_DEVICE_FUNC
ConstNColsBlockXpr< N >::Type 
middleCols (Index startCol, Index n=N) const
template<int NRows, int NCols>
EIGEN_DEVICE_FUNC
FixedBlockXpr< NRows, NCols >
::Type 
block (Index startRow, Index startCol)
template<int NRows, int NCols>
EIGEN_DEVICE_FUNC const
ConstFixedBlockXpr< NRows,
NCols >::Type 
block (Index startRow, Index startCol) const
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
EIGEN_DEVICE_FUNC ColXpr col (Index i)
EIGEN_DEVICE_FUNC ConstColXpr col (Index i) const
EIGEN_DEVICE_FUNC RowXpr row (Index i)
EIGEN_DEVICE_FUNC ConstRowXpr row (Index i) const
EIGEN_DEVICE_FUNC SegmentReturnType segment (Index start, Index n)
EIGEN_DEVICE_FUNC
ConstSegmentReturnType 
segment (Index start, Index n) const
EIGEN_DEVICE_FUNC SegmentReturnType head (Index n)
EIGEN_DEVICE_FUNC
ConstSegmentReturnType 
head (Index n) const
EIGEN_DEVICE_FUNC SegmentReturnType tail (Index n)
EIGEN_DEVICE_FUNC
ConstSegmentReturnType 
tail (Index n) const
template<int N>
EIGEN_DEVICE_FUNC
FixedSegmentReturnType< N >
::Type 
segment (Index start, Index n=N)
template<int N>
EIGEN_DEVICE_FUNC
ConstFixedSegmentReturnType< N >
::Type 
segment (Index start, Index n=N) const
template<int N>
EIGEN_DEVICE_FUNC
FixedSegmentReturnType< N >
::Type 
head (Index n=N)
template<int N>
EIGEN_DEVICE_FUNC
ConstFixedSegmentReturnType< N >
::Type 
head (Index n=N) const
template<int N>
EIGEN_DEVICE_FUNC
FixedSegmentReturnType< N >
::Type 
tail (Index n=N)
template<int N>
EIGEN_DEVICE_FUNC
ConstFixedSegmentReturnType< N >
::Type 
tail (Index n=N) const
Index rows () const
Index cols () const
Index size () const
bool isVector () const
Index outerSize () const
Index innerSize () const
bool isRValue () const
Derived & markAsRValue ()
 SparseMatrixBase ()
template<typename OtherDerived >
Derived & operator= (const ReturnByValue< OtherDerived > &other)
template<typename OtherDerived >
Derived & operator= (const SparseMatrixBase< OtherDerived > &other)
Derived & operator= (const Derived &other)
template<typename OtherDerived >
Derived & operator+= (const SparseMatrixBase< OtherDerived > &other)
template<typename OtherDerived >
Derived & operator-= (const SparseMatrixBase< OtherDerived > &other)
template<typename OtherDerived >
Derived & operator+= (const DiagonalBase< OtherDerived > &other)
template<typename OtherDerived >
Derived & operator-= (const DiagonalBase< OtherDerived > &other)
Derived & operator*= (const Scalar &other)
Derived & operator/= (const Scalar &other)
template<typename OtherDerived >
EIGEN_STRONG_INLINE const
CwiseProductDenseReturnType
< OtherDerived >::Type 
cwiseProduct (const MatrixBase< OtherDerived > &other) const
template<typename OtherDerived >
const Product< Derived,
OtherDerived > 
operator* (const DiagonalBase< OtherDerived > &other) const
template<typename OtherDerived >
const Product< Derived,
OtherDerived, AliasFreeProduct
operator* (const SparseMatrixBase< OtherDerived > &other) const
template<typename OtherDerived >
const Product< Derived,
OtherDerived > 
operator* (const MatrixBase< OtherDerived > &other) const
SparseSymmetricPermutationProduct
< Derived, Upper|Lower
twistedBy (const PermutationMatrix< Dynamic, Dynamic, StorageIndex > &perm) const
template<typename OtherDerived >
Derived & operator*= (const SparseMatrixBase< OtherDerived > &other)
template<int Mode>
const TriangularView< const
Derived, Mode > 
triangularView () const
template<unsigned int UpLo>
ConstSelfAdjointViewReturnType
< UpLo >::Type 
selfadjointView () const
template<unsigned int UpLo>
SelfAdjointViewReturnType
< UpLo >::Type 
selfadjointView ()
template<typename OtherDerived >
Scalar dot (const MatrixBase< OtherDerived > &other) const
template<typename OtherDerived >
Scalar dot (const SparseMatrixBase< OtherDerived > &other) const
RealScalar squaredNorm () const
RealScalar norm () const
RealScalar blueNorm () const
TransposeReturnType transpose ()
const ConstTransposeReturnType transpose () const
const AdjointReturnType adjoint () 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
DenseMatrixType toDense () const
template<typename OtherDerived >
bool isApprox (const SparseMatrixBase< OtherDerived > &other, const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const
template<typename OtherDerived >
bool isApprox (const MatrixBase< OtherDerived > &other, const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const
const internal::eval< Derived >
::type 
eval () const
Scalar sum () const
const SparseView< Derived > pruned (const Scalar &reference=Scalar(0), const RealScalar &epsilon=NumTraits< Scalar >::dummy_precision()) const

Protected Member Functions

template<typename OtherDerived >
Derived & assign (const OtherDerived &other)
template<typename OtherDerived >
void assignGeneric (const OtherDerived &other)

Static Protected Member Functions

static StorageIndex convert_index (const Index idx)

Protected Attributes

bool m_isRValue

Private Member Functions

template<typename Dest >
void evalTo (Dest &) const

Friends

EIGEN_DEVICE_FUNC friend const
ScalarMultipleReturnType 
operator* (const Scalar &scalar, const StorageBaseType &matrix)
EIGEN_DEVICE_FUNC friend const
CwiseUnaryOp
< internal::scalar_multiple2_op
< Scalar, std::complex< Scalar >
>, const Derived > 
operator* (const std::complex< Scalar > &scalar, const StorageBaseType &matrix)
std::ostream & operator<< (std::ostream &s, const SparseMatrixBase &m)
template<typename OtherDerived >
const Product< OtherDerived,
Derived > 
operator* (const DiagonalBase< OtherDerived > &lhs, const SparseMatrixBase &rhs)
template<typename OtherDerived >
const Product< OtherDerived,
Derived > 
operator* (const MatrixBase< OtherDerived > &lhs, const SparseMatrixBase &rhs)

Detailed Description

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

Base class of any sparse matrices or sparse expressions.

Template Parameters:
Derivedis the derived type, e.g. a sparse matrix type, or an expression, etc.

This class can be extended with the help of the plugin mechanism described on the page TopicCustomizingEigen by defining the preprocessor symbol EIGEN_SPARSEMATRIXBASE_PLUGIN.

Definition at line 26 of file SparseMatrixBase.h.


Member Typedef Documentation

template<typename Derived>
typedef internal::conditional<NumTraits<Scalar>::IsComplex, CwiseUnaryOp<internal::scalar_conjugate_op<Scalar>, Eigen::Transpose<const Derived> >, Transpose<const Derived> >::type Eigen::SparseMatrixBase< Derived >::AdjointReturnType

the return type of MatrixBase::adjoint()

Definition at line 111 of file SparseMatrixBase.h.

template<typename Derived>
typedef internal::special_scalar_op_base<Derived, Scalar, RealScalar, EigenBase<Derived> > Eigen::SparseMatrixBase< Derived >::Base

Reimplemented in Eigen::BlockImpl< XprType, BlockRows, BlockCols, InnerPanel, Sparse >, Eigen::BlockImpl< const SparseMatrix< _Scalar, _Options, _StorageIndex >, BlockRows, BlockCols, true, Sparse >, Eigen::BlockImpl< SparseMatrix< _Scalar, _Options, _StorageIndex >, BlockRows, BlockCols, true, Sparse >, Eigen::SparseMapBase< Derived, WriteAccessors >, Eigen::internal::sparse_matrix_block_impl< SparseMatrixType, BlockRows, BlockCols >, Eigen::internal::sparse_matrix_block_impl< SparseMatrix< _Scalar, _Options, _StorageIndex >, BlockRows, BlockCols >, Eigen::internal::sparse_matrix_block_impl< const SparseMatrix< _Scalar, _Options, _StorageIndex >, BlockRows, BlockCols >, Eigen::SparseMatrix< _Scalar, _Options, _Index >, Eigen::SparseMatrix< Scalar >, Eigen::SparseMatrix< Scalar, ColMajor, StorageIndex >, Eigen::SparseMatrix< Scalar, ColMajor, int >, Eigen::SparseMatrix< Scalar, RowMajor, StorageIndex >, Eigen::SparseVector< _Scalar, _Options, _StorageIndex >, Eigen::SparseMapBase< Derived, ReadOnlyAccessors >, Eigen::TransposeImpl< MatrixType, Sparse >, Eigen::TriangularViewImpl< MatrixType, Mode, Sparse >, Eigen::SparseCompressedBase< Derived >, Eigen::SparseCompressedBase< SparseMatrix< Scalar, _Options, int > >, Eigen::SparseCompressedBase< Block< SparseMatrixType, BlockRows, BlockCols, true > >, Eigen::SparseCompressedBase< SparseVector< _Scalar, _Options, _StorageIndex > >, Eigen::SparseCompressedBase< Block< const SparseMatrix< _Scalar, _Options, _StorageIndex >, BlockRows, BlockCols, true > >, Eigen::SparseCompressedBase< Transpose< MatrixType > >, Eigen::SparseCompressedBase< SparseMatrix< Scalar, _Options, _Index > >, Eigen::SparseCompressedBase< SparseMatrix< _Scalar, _Options, _Index > >, Eigen::SparseCompressedBase< Block< SparseMatrix< _Scalar, _Options, _StorageIndex >, BlockRows, BlockCols, true > >, Eigen::SparseCompressedBase< SparseMatrix< Scalar, _Options, StorageIndex > >, Eigen::CwiseBinaryOpImpl< BinaryOp, Lhs, Rhs, Sparse >, Eigen::SparseView< MatrixType >, Eigen::BlockImpl< XprType, BlockRows, BlockCols, true, Sparse >, and Eigen::internal::SparseTransposeImpl< MatrixType, CompressedAccessBit >.

Definition at line 145 of file SparseMatrixBase.h.

template<typename Derived>
typedef Block<Derived> Eigen::SparseMatrixBase< Derived >::BlockXpr

expression of a block

Definition at line 33 of file SparseMatrixBase.h.

template<typename Derived>
typedef internal::conditional<_HasDirectAccess, const Scalar&, Scalar>::type Eigen::SparseMatrixBase< Derived >::CoeffReturnType

the return type of coeff()

Definition at line 129 of file SparseMatrixBase.h.

template<typename Derived>
typedef Block<Derived, internal::traits<Derived>::RowsAtCompileTime, Dynamic, !IsRowMajor> Eigen::SparseMatrixBase< Derived >::ColsBlockXpr

expression type of a block of whole columns

Definition at line 21 of file SparseMatrixBase.h.

template<typename Derived>
typedef Block<Derived, internal::traits<Derived>::RowsAtCompileTime, 1, !IsRowMajor> Eigen::SparseMatrixBase< Derived >::ColXpr

expression type of a column

Definition at line 15 of file SparseMatrixBase.h.

template<typename Derived>
typedef internal::conditional<NumTraits<Scalar>::IsComplex, const CwiseUnaryOp<internal::scalar_conjugate_op<Scalar>, const Derived>, const Derived& >::type Eigen::SparseMatrixBase< Derived >::ConjugateReturnType

the return type of conjugate()

Definition at line 26 of file SparseMatrixBase.h.

Represents a matrix with all coefficients equal to one another

Definition at line 132 of file SparseMatrixBase.h.

template<typename Derived>
typedef const Block<const Derived> Eigen::SparseMatrixBase< Derived >::ConstBlockXpr

Definition at line 34 of file SparseMatrixBase.h.

template<typename Derived>
typedef const Block<const Derived, internal::traits<Derived>::RowsAtCompileTime, Dynamic, !IsRowMajor> Eigen::SparseMatrixBase< Derived >::ConstColsBlockXpr

Definition at line 22 of file SparseMatrixBase.h.

template<typename Derived>
typedef const Block<const Derived, internal::traits<Derived>::RowsAtCompileTime, 1, !IsRowMajor> Eigen::SparseMatrixBase< Derived >::ConstColXpr

Definition at line 16 of file SparseMatrixBase.h.

template<typename Derived>
typedef Block<const Derived,IsRowMajor?1:Dynamic,IsRowMajor?Dynamic:1,true> Eigen::SparseMatrixBase< Derived >::ConstInnerVectorReturnType

Definition at line 340 of file SparseMatrixBase.h.

template<typename Derived>
typedef Block<const Derived,Dynamic,Dynamic,true> Eigen::SparseMatrixBase< Derived >::ConstInnerVectorsReturnType

Definition at line 346 of file SparseMatrixBase.h.

template<typename Derived>
typedef const Block<const Derived, Dynamic, internal::traits<Derived>::ColsAtCompileTime, IsRowMajor> Eigen::SparseMatrixBase< Derived >::ConstRowsBlockXpr

Definition at line 25 of file SparseMatrixBase.h.

template<typename Derived>
typedef const Block<const Derived, 1, internal::traits<Derived>::ColsAtCompileTime, IsRowMajor> Eigen::SparseMatrixBase< Derived >::ConstRowXpr

Definition at line 19 of file SparseMatrixBase.h.

template<typename Derived>
typedef const VectorBlock<const Derived> Eigen::SparseMatrixBase< Derived >::ConstSegmentReturnType

Definition at line 40 of file SparseMatrixBase.h.

template<typename Derived>
typedef internal::add_const<Transpose<const Derived> >::type Eigen::SparseMatrixBase< Derived >::ConstTransposeReturnType

Definition at line 113 of file SparseMatrixBase.h.

template<typename Derived>
typedef CwiseUnaryOp<internal::scalar_abs2_op<Scalar>, const Derived> Eigen::SparseMatrixBase< Derived >::CwiseAbs2ReturnType

Definition at line 16 of file SparseMatrixBase.h.

template<typename Derived>
typedef CwiseUnaryOp<internal::scalar_abs_op<Scalar>, const Derived> Eigen::SparseMatrixBase< Derived >::CwiseAbsReturnType

Definition at line 15 of file SparseMatrixBase.h.

template<typename Derived>
typedef CwiseUnaryOp<internal::scalar_inverse_op<Scalar>, const Derived> Eigen::SparseMatrixBase< Derived >::CwiseInverseReturnType

Definition at line 19 of file SparseMatrixBase.h.

template<typename Derived>
typedef CwiseBinaryOp<internal::scalar_cmp_op<Scalar,internal::cmp_EQ>, const Derived, const ConstantReturnType> Eigen::SparseMatrixBase< Derived >::CwiseScalarEqualReturnType

Definition at line 137 of file SparseMatrixBase.h.

template<typename Derived>
typedef CwiseUnaryOp<internal::scalar_sign_op<Scalar>, const Derived> Eigen::SparseMatrixBase< Derived >::CwiseSignReturnType

Definition at line 18 of file SparseMatrixBase.h.

template<typename Derived>
typedef CwiseUnaryOp<internal::scalar_sqrt_op<Scalar>, const Derived> Eigen::SparseMatrixBase< Derived >::CwiseSqrtReturnType

Definition at line 17 of file SparseMatrixBase.h.

type of the equivalent dense matrix

Definition at line 135 of file SparseMatrixBase.h.

template<typename Derived>
typedef CwiseUnaryOp<internal::scalar_imag_op<Scalar>, const Derived> Eigen::SparseMatrixBase< Derived >::ImagReturnType

the return type of imag() const

Definition at line 38 of file SparseMatrixBase.h.

template<typename Derived>
typedef Matrix<StorageIndex,Dynamic,1> Eigen::SparseMatrixBase< Derived >::IndexVector
template<typename Derived>
typedef Block<Derived,IsRowMajor?1:Dynamic,IsRowMajor?Dynamic:1,true> Eigen::SparseMatrixBase< Derived >::InnerVectorReturnType

Definition at line 339 of file SparseMatrixBase.h.

template<typename Derived>
typedef Block<Derived,Dynamic,Dynamic,true> Eigen::SparseMatrixBase< Derived >::InnerVectorsReturnType

Definition at line 345 of file SparseMatrixBase.h.

template<typename Derived>
typedef CwiseUnaryOp<internal::scalar_opposite_op<Scalar>, const Derived> Eigen::SparseMatrixBase< Derived >::NegativeReturnType

Definition at line 42 of file SparseMatrixBase.h.

template<typename Derived>
typedef CwiseUnaryView<internal::scalar_imag_ref_op<Scalar>, Derived> Eigen::SparseMatrixBase< Derived >::NonConstImagReturnType

the return type of imag()

Definition at line 40 of file SparseMatrixBase.h.

template<typename Derived>
typedef internal::conditional<NumTraits<Scalar>::IsComplex, CwiseUnaryView<internal::scalar_real_ref_op<Scalar>, Derived>, Derived& >::type Eigen::SparseMatrixBase< Derived >::NonConstRealReturnType

the return type of real()

Definition at line 36 of file SparseMatrixBase.h.

Definition at line 49 of file SparseMatrixBase.h.

template<typename Derived>
typedef internal::packet_traits<Scalar>::type Eigen::SparseMatrixBase< Derived >::PacketScalar

Definition at line 44 of file SparseMatrixBase.h.

template<typename Derived>
typedef SparseMatrix<Scalar, Flags&RowMajorBit ? RowMajor : ColMajor, StorageIndex> Eigen::SparseMatrixBase< Derived >::PlainObject

Definition at line 116 of file SparseMatrixBase.h.

template<typename Derived>
typedef internal::conditional<NumTraits<Scalar>::IsComplex, const CwiseUnaryOp<internal::scalar_real_op<Scalar>, const Derived>, const Derived& >::type Eigen::SparseMatrixBase< Derived >::RealReturnType

the return type of real() const

Definition at line 31 of file SparseMatrixBase.h.

template<typename Derived>
typedef NumTraits<Scalar>::Real Eigen::SparseMatrixBase< Derived >::RealScalar

This is the "real scalar" type; if the Scalar type is already real numbers (e.g. int, float or double) then RealScalar is just the same as Scalar. If Scalar is std::complex<T> then RealScalar is T.

See also:
class NumTraits

Definition at line 125 of file SparseMatrixBase.h.

template<typename Derived>
typedef Block<Derived, Dynamic, internal::traits<Derived>::ColsAtCompileTime, IsRowMajor> Eigen::SparseMatrixBase< Derived >::RowsBlockXpr

expression type of a block of whole rows

Definition at line 24 of file SparseMatrixBase.h.

template<typename Derived>
typedef Block<Derived, 1, internal::traits<Derived>::ColsAtCompileTime, IsRowMajor> Eigen::SparseMatrixBase< Derived >::RowXpr

expression type of a row

Definition at line 18 of file SparseMatrixBase.h.

template<typename Derived>
typedef CwiseUnaryOp<internal::scalar_multiple2_op<Scalar,std::complex<Scalar> >, const Derived> Eigen::SparseMatrixBase< Derived >::ScalarComplexMultipleReturnType

Definition at line 18 of file SparseMatrixBase.h.

template<typename Derived>
typedef CwiseUnaryOp<internal::scalar_multiple_op<Scalar>, const Derived> Eigen::SparseMatrixBase< Derived >::ScalarMultipleReturnType

Represents a scalar multiple of an expression

Definition at line 17 of file SparseMatrixBase.h.

template<typename Derived>
typedef CwiseUnaryOp<internal::scalar_quotient1_op<Scalar>, const Derived> Eigen::SparseMatrixBase< Derived >::ScalarQuotient1ReturnType

Represents a quotient of an expression by a scalar

Definition at line 21 of file SparseMatrixBase.h.

template<typename Derived>
typedef VectorBlock<Derived> Eigen::SparseMatrixBase< Derived >::SegmentReturnType

Definition at line 39 of file SparseMatrixBase.h.

type of the equivalent square matrix

Definition at line 138 of file SparseMatrixBase.h.

template<typename Derived>
typedef SparseMatrixBase Eigen::SparseMatrixBase< Derived >::StorageBaseType

Definition at line 51 of file SparseMatrixBase.h.

template<typename Derived>
typedef internal::traits<Derived>::StorageKind Eigen::SparseMatrixBase< Derived >::StorageKind

Reimplemented from Eigen::EigenBase< Derived >.

Definition at line 45 of file SparseMatrixBase.h.

template<typename Derived>
typedef Transpose<Derived> Eigen::SparseMatrixBase< Derived >::TransposeReturnType

Definition at line 112 of file SparseMatrixBase.h.

template<typename Derived>
typedef Scalar Eigen::SparseMatrixBase< Derived >::value_type

The numeric type of the expression' coefficients, e.g. float, double, int or std::complex<float>, etc.

It is an alias for the Scalar type

Definition at line 42 of file SparseMatrixBase.h.


Member Enumeration Documentation

template<typename Derived>
anonymous enum
Enumerator:
RowsAtCompileTime 

The number of rows at compile-time. This is just a copy of the value provided by the Derived type. If a value is not known at compile-time, it is set to the Dynamic constant.

See also:
MatrixBase::rows(), MatrixBase::cols(), ColsAtCompileTime, SizeAtCompileTime
ColsAtCompileTime 

The number of columns at compile-time. This is just a copy of the value provided by the Derived type. If a value is not known at compile-time, it is set to the Dynamic constant.

See also:
MatrixBase::rows(), MatrixBase::cols(), RowsAtCompileTime, SizeAtCompileTime
SizeAtCompileTime 

This is equal to the number of coefficients, i.e. the number of rows times the number of columns, or to Dynamic if this is not known at compile-time.

See also:
RowsAtCompileTime, ColsAtCompileTime
MaxRowsAtCompileTime 
MaxColsAtCompileTime 
MaxSizeAtCompileTime 
IsVectorAtCompileTime 

This is set to true if either the number of rows or the number of columns is known at compile-time to be equal to 1. Indeed, in that case, we are dealing with a column-vector (if there is only one column) or with a row-vector (if there is only one row).

Flags 

This stores expression Flags flags which may or may not be inherited by new expressions constructed from this one. See the list of flags.

IsRowMajor 
InnerSizeAtCompileTime 
_HasDirectAccess 

Definition at line 59 of file SparseMatrixBase.h.

         {

      RowsAtCompileTime = internal::traits<Derived>::RowsAtCompileTime,
      ColsAtCompileTime = internal::traits<Derived>::ColsAtCompileTime,
      SizeAtCompileTime = (internal::size_at_compile_time<internal::traits<Derived>::RowsAtCompileTime,
                                                   internal::traits<Derived>::ColsAtCompileTime>::ret),
      MaxRowsAtCompileTime = RowsAtCompileTime,
      MaxColsAtCompileTime = ColsAtCompileTime,

      MaxSizeAtCompileTime = (internal::size_at_compile_time<MaxRowsAtCompileTime,
                                                      MaxColsAtCompileTime>::ret),

      IsVectorAtCompileTime = RowsAtCompileTime == 1 || ColsAtCompileTime == 1,
      Flags = internal::traits<Derived>::Flags,
      IsRowMajor = Flags&RowMajorBit ? 1 : 0,
      
      InnerSizeAtCompileTime = int(IsVectorAtCompileTime) ? int(SizeAtCompileTime)
                             : int(IsRowMajor) ? int(ColsAtCompileTime) : int(RowsAtCompileTime),

      #ifndef EIGEN_PARSED_BY_DOXYGEN
      _HasDirectAccess = (int(Flags)&DirectAccessBit) ? 1 : 0 // workaround sunCC
      #endif
    };

Constructor & Destructor Documentation

template<typename Derived>
Eigen::SparseMatrixBase< Derived >::SparseMatrixBase ( ) [inline]

Definition at line 184 of file SparseMatrixBase.h.

: m_isRValue(false) { /* TODO check flags */ }

Member Function Documentation

template<typename Derived>
const AdjointReturnType Eigen::SparseMatrixBase< Derived >::adjoint ( ) const [inline]

Definition at line 336 of file SparseMatrixBase.h.

template<typename Derived>
template<typename OtherDerived >
Derived& Eigen::SparseMatrixBase< Derived >::assign ( const OtherDerived &  other) [inline, protected]
template<typename Derived>
template<typename OtherDerived >
void Eigen::SparseMatrixBase< Derived >::assignGeneric ( const OtherDerived &  other) [inline, protected]
template<typename Derived>
template<typename CustomBinaryOp , typename OtherDerived >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const CwiseBinaryOp<CustomBinaryOp, const Derived, const OtherDerived> Eigen::SparseMatrixBase< Derived >::binaryExpr ( const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > &  other,
const CustomBinaryOp &  func = CustomBinaryOp() 
) const [inline]
Returns:
an expression of the difference of *this and other
Note:
If you want to substract a given scalar from all coefficients, see Cwise::operator-().
See also:
class CwiseBinaryOp, operator-=()
Returns:
an expression of the sum of *this and other
Note:
If you want to add a given scalar to all coefficients, see Cwise::operator+().
See also:
class CwiseBinaryOp, operator+=()
Returns:
an expression of a custom coefficient-wise operator func of *this and other

The template parameter CustomBinaryOp is the type of the functor of the custom operator (see class CwiseBinaryOp for an example)

Here is an example illustrating the use of custom functors:

Output:

See also:
class CwiseBinaryOp, operator+(), operator-(), cwiseProduct()

Definition at line 44 of file SparseMatrixBase.h.

template<typename Derived>
EIGEN_DEVICE_FUNC BlockXpr Eigen::SparseMatrixBase< Derived >::block ( Index  startRow,
Index  startCol,
Index  blockRows,
Index  blockCols 
) [inline]
Returns:
a dynamic-size expression of a block in *this.
Parameters:
startRowthe first row in the block
startColthe first column in the block
blockRowsthe number of rows in the block
blockColsthe number of columns in the block

Example:

Output:

Note:
Even though the returned expression has dynamic size, in the case when it is applied to a fixed-size matrix, it inherits a fixed maximal size, which means that evaluating it does not cause a dynamic memory allocation.
See also:
class Block, block(Index,Index)

Definition at line 63 of file SparseMatrixBase.h.

template<typename Derived>
EIGEN_DEVICE_FUNC const ConstBlockXpr Eigen::SparseMatrixBase< Derived >::block ( Index  startRow,
Index  startCol,
Index  blockRows,
Index  blockCols 
) const [inline]

This is the const version of block(Index,Index,Index,Index).

Definition at line 70 of file SparseMatrixBase.h.

template<typename Derived>
template<int NRows, int NCols>
EIGEN_DEVICE_FUNC FixedBlockXpr<NRows,NCols>::Type Eigen::SparseMatrixBase< Derived >::block ( Index  startRow,
Index  startCol 
) [inline]
Returns:
a fixed-size expression of a block in *this.

The template parameters NRows and NCols are the number of rows and columns in the block.

Parameters:
startRowthe first row in the block
startColthe first column in the block

Example:

Output:

Note:
since block is a templated member, the keyword template has to be used if the matrix type is also a template parameter:
 m.template block<3,3>(1,1); 
See also:
class Block, block(Index,Index,Index,Index)

Definition at line 729 of file SparseMatrixBase.h.

template<typename Derived>
template<int NRows, int NCols>
EIGEN_DEVICE_FUNC const ConstFixedBlockXpr<NRows,NCols>::Type Eigen::SparseMatrixBase< Derived >::block ( Index  startRow,
Index  startCol 
) const [inline]

This is the const version of block<>(Index, Index).

Definition at line 737 of file SparseMatrixBase.h.

template<typename Derived>
template<int NRows, int NCols>
FixedBlockXpr<NRows,NCols>::Type Eigen::SparseMatrixBase< Derived >::block ( Index  startRow,
Index  startCol,
Index  blockRows,
Index  blockCols 
) [inline]
Returns:
an expression of a block in *this.
Template Parameters:
NRowsnumber of rows in block as specified at compile-time
NColsnumber of columns in block as specified at compile-time
Parameters:
startRowthe first row in the block
startColthe first column in the block
blockRowsnumber of rows in block as specified at run-time
blockColsnumber of columns in block as specified at run-time

This function is mainly useful for blocks where the number of rows is specified at compile-time and the number of columns is specified at run-time, or vice versa. The compile-time and run-time information should not contradict. In other words, blockRows should equal NRows unless NRows is Dynamic, and the same for the number of columns.

Example:

Output:

See also:
class Block, block(Index,Index,Index,Index)

Definition at line 762 of file SparseMatrixBase.h.

template<typename Derived>
template<int NRows, int NCols>
const ConstFixedBlockXpr<NRows,NCols>::Type Eigen::SparseMatrixBase< Derived >::block ( Index  startRow,
Index  startCol,
Index  blockRows,
Index  blockCols 
) const [inline]

This is the const version of block<>(Index, Index, Index, Index).

Definition at line 770 of file SparseMatrixBase.h.

template<typename Derived >
NumTraits< typename internal::traits< Derived >::Scalar >::Real Eigen::SparseMatrixBase< Derived >::blueNorm ( ) const [inline]

Definition at line 92 of file SparseDot.h.

{
  return internal::blueNorm_impl(*this);
}
template<typename Derived>
EIGEN_DEVICE_FUNC BlockXpr Eigen::SparseMatrixBase< Derived >::bottomLeftCorner ( Index  cRows,
Index  cCols 
) [inline]
Returns:
a dynamic-size expression of a bottom-left corner of *this.
Parameters:
cRowsthe number of rows in the corner
cColsthe number of columns in the corner

Example:

Output:

See also:
class Block, block(Index,Index,Index,Index)

Definition at line 327 of file SparseMatrixBase.h.

                                    { return TransposeReturnType(derived()); }
template<typename Derived>
EIGEN_DEVICE_FUNC const ConstBlockXpr Eigen::SparseMatrixBase< Derived >::bottomLeftCorner ( Index  cRows,
Index  cCols 
) const [inline]

This is the const version of bottomLeftCorner(Index, Index).

Definition at line 334 of file SparseMatrixBase.h.

template<typename Derived>
template<int CRows, int CCols>
EIGEN_DEVICE_FUNC FixedBlockXpr<CRows,CCols>::Type Eigen::SparseMatrixBase< Derived >::bottomLeftCorner ( ) [inline]
Returns:
an expression of a fixed-size bottom-left corner of *this.

The template parameters CRows and CCols are the number of rows and columns in the corner.

Example:

Output:

See also:
class Block, block(Index,Index,Index,Index)

Definition at line 350 of file SparseMatrixBase.h.

    {
      return DenseMatrixType(derived());
    }
template<typename Derived>
template<int CRows, int CCols>
EIGEN_DEVICE_FUNC const ConstFixedBlockXpr<CRows,CCols>::Type Eigen::SparseMatrixBase< Derived >::bottomLeftCorner ( ) const [inline]

This is the const version of bottomLeftCorner<int, int>().

Definition at line 358 of file SparseMatrixBase.h.

    { return toDense().isApprox(other,prec); }
template<typename Derived>
template<int CRows, int CCols>
FixedBlockXpr<CRows,CCols>::Type Eigen::SparseMatrixBase< Derived >::bottomLeftCorner ( Index  cRows,
Index  cCols 
) [inline]
Returns:
an expression of a bottom-left corner of *this.
Template Parameters:
CRowsnumber of rows in corner as specified at compile-time
CColsnumber of columns in corner as specified at compile-time
Parameters:
cRowsnumber of rows in corner as specified at run-time
cColsnumber of columns in corner as specified at run-time

This function is mainly useful for corners where the number of rows is specified at compile-time and the number of columns is specified at run-time, or vice versa. The compile-time and run-time information should not contradict. In other words, cRows should equal CRows unless CRows is Dynamic, and the same for the number of columns.

Example:

Output:

See also:
class Block

Definition at line 381 of file SparseMatrixBase.h.

                                                              {
      return internal::convert_index<StorageIndex>(idx);
    }
  private:
template<typename Derived>
template<int CRows, int CCols>
const ConstFixedBlockXpr<CRows,CCols>::Type Eigen::SparseMatrixBase< Derived >::bottomLeftCorner ( Index  cRows,
Index  cCols 
) const [inline]

This is the const version of bottomLeftCorner<int, int>(Index, Index).

Definition at line 388 of file SparseMatrixBase.h.

template<typename Derived>
EIGEN_DEVICE_FUNC BlockXpr Eigen::SparseMatrixBase< Derived >::bottomRightCorner ( Index  cRows,
Index  cCols 
) [inline]
Returns:
a dynamic-size expression of a bottom-right corner of *this.
Parameters:
cRowsthe number of rows in the corner
cColsthe number of columns in the corner

Example:

Output:

See also:
class Block, block(Index,Index,Index,Index)

Definition at line 248 of file SparseMatrixBase.h.

                                                                       {
template<typename Derived>
EIGEN_DEVICE_FUNC const ConstBlockXpr Eigen::SparseMatrixBase< Derived >::bottomRightCorner ( Index  cRows,
Index  cCols 
) const [inline]

This is the const version of bottomRightCorner(Index, Index).

Definition at line 255 of file SparseMatrixBase.h.

                                                                       {
template<typename Derived>
template<int CRows, int CCols>
EIGEN_DEVICE_FUNC FixedBlockXpr<CRows,CCols>::Type Eigen::SparseMatrixBase< Derived >::bottomRightCorner ( ) [inline]
Returns:
an expression of a fixed-size bottom-right corner of *this.

The template parameters CRows and CCols are the number of rows and columns in the corner.

Example:

Output:

See also:
class Block, block(Index,Index,Index,Index)

Definition at line 271 of file SparseMatrixBase.h.

template<typename Derived>
template<int CRows, int CCols>
EIGEN_DEVICE_FUNC const ConstFixedBlockXpr<CRows,CCols>::Type Eigen::SparseMatrixBase< Derived >::bottomRightCorner ( ) const [inline]

This is the const version of bottomRightCorner<int, int>().

Definition at line 279 of file SparseMatrixBase.h.

    { return Product<Derived,OtherDerived>(derived(), other.derived()); }
template<typename Derived>
template<int CRows, int CCols>
FixedBlockXpr<CRows,CCols>::Type Eigen::SparseMatrixBase< Derived >::bottomRightCorner ( Index  cRows,
Index  cCols 
) [inline]
Returns:
an expression of a bottom-right corner of *this.
Template Parameters:
CRowsnumber of rows in corner as specified at compile-time
CColsnumber of columns in corner as specified at compile-time
Parameters:
cRowsnumber of rows in corner as specified at run-time
cColsnumber of columns in corner as specified at run-time

This function is mainly useful for corners where the number of rows is specified at compile-time and the number of columns is specified at run-time, or vice versa. The compile-time and run-time information should not contradict. In other words, cRows should equal CRows unless CRows is Dynamic, and the same for the number of columns.

Example:

Output:

See also:
class Block

Definition at line 302 of file SparseMatrixBase.h.

    { return Product<OtherDerived,Derived>(lhs.derived(), rhs.derived()); }
template<typename Derived>
template<int CRows, int CCols>
const ConstFixedBlockXpr<CRows,CCols>::Type Eigen::SparseMatrixBase< Derived >::bottomRightCorner ( Index  cRows,
Index  cCols 
) const [inline]

This is the const version of bottomRightCorner<int, int>(Index, Index).

Definition at line 309 of file SparseMatrixBase.h.

    {
      return SparseSymmetricPermutationProduct<Derived,Upper|Lower>(derived(), perm);
    }
template<typename Derived>
EIGEN_DEVICE_FUNC RowsBlockXpr Eigen::SparseMatrixBase< Derived >::bottomRows ( Index  n) [inline]
Returns:
a block consisting of the bottom rows of *this.
Parameters:
nthe number of rows in the block

Example:

Output:

See also:
class Block, block(Index,Index,Index,Index)

Definition at line 457 of file SparseMatrixBase.h.

template<typename Derived>
EIGEN_DEVICE_FUNC ConstRowsBlockXpr Eigen::SparseMatrixBase< Derived >::bottomRows ( Index  n) const [inline]

This is the const version of bottomRows(Index).

Definition at line 464 of file SparseMatrixBase.h.

template<typename Derived>
template<int N>
EIGEN_DEVICE_FUNC NRowsBlockXpr<N>::Type Eigen::SparseMatrixBase< Derived >::bottomRows ( Index  n = N) [inline]
Returns:
a block consisting of the bottom rows of *this.
Template Parameters:
Nthe number of rows in the block as specified at compile-time
Parameters:
nthe number of rows in the block as specified at run-time

The compile-time and run-time information should not contradict. In other words, n should equal N unless N is Dynamic.

Example:

Output:

See also:
class Block, block(Index,Index,Index,Index)

Definition at line 484 of file SparseMatrixBase.h.

template<typename Derived>
template<int N>
EIGEN_DEVICE_FUNC ConstNRowsBlockXpr<N>::Type Eigen::SparseMatrixBase< Derived >::bottomRows ( Index  n = N) const [inline]

This is the const version of bottomRows<int>().

Definition at line 492 of file SparseMatrixBase.h.

template<typename Derived>
template<typename NewType >
EIGEN_DEVICE_FUNC CastXpr<NewType>::Type Eigen::SparseMatrixBase< Derived >::cast ( ) const [inline]
Returns:
an expression of *this with the Scalar type casted to NewScalar.

The template parameter NewScalar is the type we are casting the scalars to.

See also:
class CwiseUnaryOp

Definition at line 105 of file SparseMatrixBase.h.

template<typename Derived>
EIGEN_DEVICE_FUNC ColXpr Eigen::SparseMatrixBase< Derived >::col ( Index  i) [inline]
Returns:
an expression of the i-th column of *this. Note that the numbering starts at 0.

Example:

Output:

See also:
row(), class Block

Definition at line 783 of file SparseMatrixBase.h.

template<typename Derived>
EIGEN_DEVICE_FUNC ConstColXpr Eigen::SparseMatrixBase< Derived >::col ( Index  i) const [inline]

This is the const version of col().

Definition at line 790 of file SparseMatrixBase.h.

template<typename Derived>
EIGEN_DEVICE_FUNC ConjugateReturnType Eigen::SparseMatrixBase< Derived >::conjugate ( ) const [inline]
Returns:
an expression of the complex conjugate of *this.
See also:
adjoint()

Definition at line 115 of file SparseMatrixBase.h.

                                                              : ColMajor, StorageIndex> PlainObject;

#ifndef EIGEN_PARSED_BY_DOXYGEN
template<typename Derived>
Derived& Eigen::SparseMatrixBase< Derived >::const_cast_derived ( ) const [inline]

Reimplemented from Eigen::EigenBase< Derived >.

Definition at line 142 of file SparseMatrixBase.h.

    { return *static_cast<Derived*>(const_cast<SparseMatrixBase*>(this)); }
template<typename Derived>
static StorageIndex Eigen::SparseMatrixBase< Derived >::convert_index ( const Index  idx) [inline, static, protected]

Definition at line 381 of file SparseMatrixBase.h.

                                                              {
      return internal::convert_index<StorageIndex>(idx);
    }
template<typename Derived>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const CwiseAbsReturnType Eigen::SparseMatrixBase< Derived >::cwiseAbs ( ) const [inline]
Returns:
an expression of the coefficient-wise absolute value of *this

Example:

Output:

See also:
cwiseAbs2()

Definition at line 30 of file SparseMatrixBase.h.

: public EigenBase<Derived>
template<typename Derived>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const CwiseAbs2ReturnType Eigen::SparseMatrixBase< Derived >::cwiseAbs2 ( ) const [inline]
Returns:
an expression of the coefficient-wise squared absolute value of *this

Example:

Output:

See also:
cwiseAbs()

Definition at line 41 of file SparseMatrixBase.h.

template<typename Derived>
template<typename OtherDerived >
EIGEN_DEVICE_FUNC const CwiseBinaryOp<std::equal_to<Scalar>, const Derived, const OtherDerived> Eigen::SparseMatrixBase< Derived >::cwiseEqual ( const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > &  other) const [inline]
Returns:
an expression of the coefficient-wise == operator of *this and other
Warning:
this performs an exact comparison, which is generally a bad idea with floating-point types. In order to check for equality between two vectors or matrices with floating-point coefficients, it is generally a far better idea to use a fuzzy comparison as provided by isApprox() and isMuchSmallerThan().

Example:

Output:

See also:
cwiseNotEqual(), isApprox(), isMuchSmallerThan()

Definition at line 44 of file SparseMatrixBase.h.

template<typename Derived>
EIGEN_DEVICE_FUNC const CwiseScalarEqualReturnType Eigen::SparseMatrixBase< Derived >::cwiseEqual ( const Scalar s) const [inline]
Returns:
an expression of the coefficient-wise == operator of *this and a scalar s
Warning:
this performs an exact comparison, which is generally a bad idea with floating-point types. In order to check for equality between two vectors or matrices with floating-point coefficients, it is generally a far better idea to use a fuzzy comparison as provided by isApprox() and isMuchSmallerThan().
See also:
cwiseEqual(const MatrixBase<OtherDerived> &) const

Definition at line 150 of file SparseMatrixBase.h.

                              { return derived().rows(); }
template<typename Derived>
EIGEN_DEVICE_FUNC const CwiseInverseReturnType Eigen::SparseMatrixBase< Derived >::cwiseInverse ( ) const [inline]
Returns:
an expression of the coefficient-wise inverse of *this.

Example:

Output:

See also:
cwiseProduct()

Definition at line 74 of file SparseMatrixBase.h.

template<typename Derived>
template<typename OtherDerived >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const CwiseBinaryOp<internal::scalar_max_op<Scalar>, const Derived, const OtherDerived> Eigen::SparseMatrixBase< Derived >::cwiseMax ( const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > &  other) const [inline]
Returns:
an expression of the coefficient-wise max of *this and other

Example:

Output:

See also:
class CwiseBinaryOp, min()

Definition at line 105 of file SparseMatrixBase.h.

template<typename Derived>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const CwiseBinaryOp<internal::scalar_max_op<Scalar>, const Derived, const ConstantReturnType> Eigen::SparseMatrixBase< Derived >::cwiseMax ( const Scalar other) const [inline]
Returns:
an expression of the coefficient-wise max of *this and scalar other
See also:
class CwiseBinaryOp, min()

Definition at line 116 of file SparseMatrixBase.h.

                                                              : ColMajor, StorageIndex> PlainObject;

#ifndef EIGEN_PARSED_BY_DOXYGEN
template<typename Derived>
template<typename OtherDerived >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const CwiseBinaryOp<internal::scalar_min_op<Scalar>, const Derived, const OtherDerived> Eigen::SparseMatrixBase< Derived >::cwiseMin ( const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > &  other) const [inline]
Returns:
an expression of the coefficient-wise min of *this and other

Example:

Output:

See also:
class CwiseBinaryOp, max()

Definition at line 79 of file SparseMatrixBase.h.

template<typename Derived>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const CwiseBinaryOp<internal::scalar_min_op<Scalar>, const Derived, const ConstantReturnType> Eigen::SparseMatrixBase< Derived >::cwiseMin ( const Scalar other) const [inline]
Returns:
an expression of the coefficient-wise min of *this and scalar other
See also:
class CwiseBinaryOp, min()

Definition at line 90 of file SparseMatrixBase.h.

                                         : 0,
template<typename Derived>
template<typename OtherDerived >
EIGEN_DEVICE_FUNC const CwiseBinaryOp<std::not_equal_to<Scalar>, const Derived, const OtherDerived> Eigen::SparseMatrixBase< Derived >::cwiseNotEqual ( const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > &  other) const [inline]
Returns:
an expression of the coefficient-wise != operator of *this and other
Warning:
this performs an exact comparison, which is generally a bad idea with floating-point types. In order to check for equality between two vectors or matrices with floating-point coefficients, it is generally a far better idea to use a fuzzy comparison as provided by isApprox() and isMuchSmallerThan().

Example:

Output:

See also:
cwiseEqual(), isApprox(), isMuchSmallerThan()

Definition at line 64 of file SparseMatrixBase.h.

template<typename Derived >
template<typename OtherDerived >
EIGEN_STRONG_INLINE const SparseMatrixBase< Derived >::template CwiseProductDenseReturnType< OtherDerived >::Type Eigen::SparseMatrixBase< Derived >::cwiseProduct ( const MatrixBase< OtherDerived > &  other) const

Definition at line 597 of file SparseCwiseBinaryOp.h.

{
  return typename CwiseProductDenseReturnType<OtherDerived>::Type(derived(), other.derived());
}
template<typename Derived>
template<typename OtherDerived >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const CwiseBinaryOp<internal::scalar_quotient_op<Scalar>, const Derived, const OtherDerived> Eigen::SparseMatrixBase< Derived >::cwiseQuotient ( const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > &  other) const [inline]
Returns:
an expression of the coefficient-wise quotient of *this and other

Example:

Output:

See also:
class CwiseBinaryOp, cwiseProduct(), cwiseInverse()

Definition at line 132 of file SparseMatrixBase.h.

                                          { return *static_cast<const Derived*>(this); }
template<typename Derived>
EIGEN_DEVICE_FUNC const CwiseSignReturnType Eigen::SparseMatrixBase< Derived >::cwiseSign ( ) const [inline]
Returns:
an expression of the coefficient-wise signum of *this.

Example:

Output:

Definition at line 62 of file SparseMatrixBase.h.

template<typename Derived>
EIGEN_DEVICE_FUNC const CwiseSqrtReturnType Eigen::SparseMatrixBase< Derived >::cwiseSqrt ( ) const [inline]
Returns:
an expression of the coefficient-wise square root of *this.

Example:

Output:

See also:
cwisePow(), cwiseSquare()

Definition at line 52 of file SparseMatrixBase.h.

{
template<typename Derived>
const Derived& Eigen::SparseMatrixBase< Derived >::derived ( ) const [inline]
Returns:
a const reference to the derived object

Reimplemented from Eigen::EigenBase< Derived >.

Definition at line 140 of file SparseMatrixBase.h.

{ return *static_cast<const Derived*>(this); }
template<typename Derived>
Derived& Eigen::SparseMatrixBase< Derived >::derived ( ) [inline]
Returns:
a reference to the derived object

Reimplemented from Eigen::EigenBase< Derived >.

Definition at line 141 of file SparseMatrixBase.h.

{ return *static_cast<Derived*>(this); }
template<typename Derived >
template<typename OtherDerived >
internal::traits< Derived >::Scalar Eigen::SparseMatrixBase< Derived >::dot ( const MatrixBase< OtherDerived > &  other) const

Definition at line 18 of file SparseDot.h.

{
  EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived)
  EIGEN_STATIC_ASSERT_VECTOR_ONLY(OtherDerived)
  EIGEN_STATIC_ASSERT_SAME_VECTOR_SIZE(Derived,OtherDerived)
  EIGEN_STATIC_ASSERT((internal::is_same<Scalar, typename OtherDerived::Scalar>::value),
    YOU_MIXED_DIFFERENT_NUMERIC_TYPES__YOU_NEED_TO_USE_THE_CAST_METHOD_OF_MATRIXBASE_TO_CAST_NUMERIC_TYPES_EXPLICITLY)

  eigen_assert(size() == other.size());
  eigen_assert(other.size()>0 && "you are using a non initialized vector");

  internal::evaluator<Derived> thisEval(derived());
  typename internal::evaluator<Derived>::InnerIterator i(thisEval, 0);
  Scalar res(0);
  while (i)
  {
    res += numext::conj(i.value()) * other.coeff(i.index());
    ++i;
  }
  return res;
}
template<typename Derived >
template<typename OtherDerived >
internal::traits< Derived >::Scalar Eigen::SparseMatrixBase< Derived >::dot ( const SparseMatrixBase< OtherDerived > &  other) const

Definition at line 43 of file SparseDot.h.

{
  EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived)
  EIGEN_STATIC_ASSERT_VECTOR_ONLY(OtherDerived)
  EIGEN_STATIC_ASSERT_SAME_VECTOR_SIZE(Derived,OtherDerived)
  EIGEN_STATIC_ASSERT((internal::is_same<Scalar, typename OtherDerived::Scalar>::value),
    YOU_MIXED_DIFFERENT_NUMERIC_TYPES__YOU_NEED_TO_USE_THE_CAST_METHOD_OF_MATRIXBASE_TO_CAST_NUMERIC_TYPES_EXPLICITLY)

  eigen_assert(size() == other.size());

  internal::evaluator<Derived> thisEval(derived());
  typename internal::evaluator<Derived>::InnerIterator i(thisEval, 0);
  
  internal::evaluator<OtherDerived>  otherEval(other.derived());
  typename internal::evaluator<OtherDerived>::InnerIterator j(otherEval, 0);

  Scalar res(0);
  while (i && j)
  {
    if (i.index()==j.index())
    {
      res += numext::conj(i.value()) * j.value();
      ++i; ++j;
    }
    else if (i.index()<j.index())
      ++i;
    else
      ++j;
  }
  return res;
}
template<typename Derived>
template<typename OtherDerived >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Eigen::SparseMatrixBase< Derived >::EIGEN_CWISE_PRODUCT_RETURN_TYPE ( Derived  ,
OtherDerived   
) const [inline]
Returns:
an expression of the Schur product (coefficient wise product) of *this and other

Example:

Output:

See also:
class CwiseBinaryOp, cwiseAbs2

Definition at line 23 of file SparseMatrixBase.h.

  : public internal::special_scalar_op_base<Derived,typename internal::traits<Derived>::Scalar,
template<typename Derived>
const internal::eval<Derived>::type Eigen::SparseMatrixBase< Derived >::eval ( ) const [inline]
Returns:
the matrix or vector obtained by evaluating this expression.

Notice that in the case of a plain matrix or vector (not an expression) this function just returns a const reference, in order to avoid a useless copy.

Definition at line 369 of file SparseMatrixBase.h.

    { return typename internal::eval<Derived>::type(derived()); }
template<typename Derived>
template<typename Dest >
void Eigen::SparseMatrixBase< Derived >::evalTo ( Dest &  dst) const [private]

Don't use it, but do the equivalent:

 dst = *this; 

Reimplemented from Eigen::EigenBase< Derived >.

template<typename Derived>
EIGEN_DEVICE_FUNC SegmentReturnType Eigen::SparseMatrixBase< Derived >::head ( Index  n) [inline]
Returns:
a dynamic-size expression of the first coefficients of *this.
Parameters:
nthe number of coefficients in the segment

Example:

Output:

Note:
Even though the returned expression has dynamic size, in the case when it is applied to a fixed-size vector, it inherits a fixed maximal size, which means that evaluating it does not cause a dynamic memory allocation.
See also:
class Block, block(Index,Index)

Definition at line 862 of file SparseMatrixBase.h.

template<typename Derived>
EIGEN_DEVICE_FUNC ConstSegmentReturnType Eigen::SparseMatrixBase< Derived >::head ( Index  n) const [inline]

This is the const version of head(Index).

Definition at line 870 of file SparseMatrixBase.h.

template<typename Derived>
template<int N>
EIGEN_DEVICE_FUNC FixedSegmentReturnType<N>::Type Eigen::SparseMatrixBase< Derived >::head ( Index  n = N) [inline]
Returns:
a fixed-size expression of the first coefficients of *this.
Template Parameters:
Nthe number of coefficients in the segment as specified at compile-time
Parameters:
nthe number of coefficients in the segment as specified at run-time

The compile-time and run-time information should not contradict. In other words, n should equal N unless N is Dynamic.

Example:

Output:

See also:
class Block

Definition at line 956 of file SparseMatrixBase.h.

template<typename Derived>
template<int N>
EIGEN_DEVICE_FUNC ConstFixedSegmentReturnType<N>::Type Eigen::SparseMatrixBase< Derived >::head ( Index  n = N) const [inline]

This is the const version of head<int>().

Definition at line 965 of file SparseMatrixBase.h.

template<typename Derived>
EIGEN_DEVICE_FUNC const ImagReturnType Eigen::SparseMatrixBase< Derived >::imag ( ) const [inline]
Returns:
an read-only expression of the imaginary part of *this.
See also:
real()

Definition at line 132 of file SparseMatrixBase.h.

{ return *static_cast<const Derived*>(this); }
template<typename Derived>
EIGEN_DEVICE_FUNC NonConstImagReturnType Eigen::SparseMatrixBase< Derived >::imag ( ) [inline]
Returns:
a non const expression of the imaginary part of *this.
See also:
real()

Definition at line 192 of file SparseMatrixBase.h.

:

template<typename Derived>
Index Eigen::SparseMatrixBase< Derived >::innerSize ( ) const [inline]
template<typename Derived >
SparseMatrixBase< Derived >::InnerVectorReturnType Eigen::SparseMatrixBase< Derived >::innerVector ( Index  outer)
Returns:
the outer -th column (resp. row) of the matrix *this if *this is col-major (resp. row-major).

Definition at line 331 of file SparseBlock.h.

{ return InnerVectorReturnType(derived(), outer); }
template<typename Derived >
const SparseMatrixBase< Derived >::ConstInnerVectorReturnType Eigen::SparseMatrixBase< Derived >::innerVector ( Index  outer) const
Returns:
the outer -th column (resp. row) of the matrix *this if *this is col-major (resp. row-major). Read-only.

Definition at line 338 of file SparseBlock.h.

{ return ConstInnerVectorReturnType(derived(), outer); }
template<typename Derived >
SparseMatrixBase< Derived >::InnerVectorsReturnType Eigen::SparseMatrixBase< Derived >::innerVectors ( Index  outerStart,
Index  outerSize 
)
Returns:
the outer -th column (resp. row) of the matrix *this if *this is col-major (resp. row-major).

Definition at line 346 of file SparseBlock.h.

{
  return Block<Derived,Dynamic,Dynamic,true>(derived(),
                                             IsRowMajor ? outerStart : 0, IsRowMajor ? 0 : outerStart,
                                             IsRowMajor ? outerSize : rows(), IsRowMajor ? cols() : outerSize);
  
}
template<typename Derived >
const SparseMatrixBase< Derived >::ConstInnerVectorsReturnType Eigen::SparseMatrixBase< Derived >::innerVectors ( Index  outerStart,
Index  outerSize 
) const
Returns:
the outer -th column (resp. row) of the matrix *this if *this is col-major (resp. row-major). Read-only.

Definition at line 359 of file SparseBlock.h.

{
  return Block<const Derived,Dynamic,Dynamic,true>(derived(),
                                                  IsRowMajor ? outerStart : 0, IsRowMajor ? 0 : outerStart,
                                                  IsRowMajor ? outerSize : rows(), IsRowMajor ? cols() : outerSize);
  
}
template<typename Derived >
template<typename OtherDerived >
bool Eigen::SparseMatrixBase< Derived >::isApprox ( const SparseMatrixBase< OtherDerived > &  other,
const RealScalar prec = NumTraits<Scalar>::dummy_precision() 
) const

Definition at line 17 of file SparseFuzzy.h.

{
  const typename internal::nested_eval<Derived,2,PlainObject>::type actualA(derived());
  typename internal::conditional<bool(IsRowMajor)==bool(OtherDerived::IsRowMajor),
    const typename internal::nested_eval<OtherDerived,2,PlainObject>::type,
    const PlainObject>::type actualB(other.derived());

  return (actualA - actualB).squaredNorm() <= prec * prec * numext::mini(actualA.squaredNorm(), actualB.squaredNorm());
}
template<typename Derived>
template<typename OtherDerived >
bool Eigen::SparseMatrixBase< Derived >::isApprox ( const MatrixBase< OtherDerived > &  other,
const RealScalar prec = NumTraits<Scalar>::dummy_precision() 
) const [inline]

Definition at line 360 of file SparseMatrixBase.h.

    { return toDense().isApprox(other,prec); }
template<typename Derived>
bool Eigen::SparseMatrixBase< Derived >::isRValue ( ) const [inline]

Definition at line 181 of file SparseMatrixBase.h.

{ return m_isRValue; }
template<typename Derived>
bool Eigen::SparseMatrixBase< Derived >::isVector ( ) const [inline]
Returns:
true if either the number of rows or the number of columns is equal to 1. In other words, this function returns
 rows()==1 || cols()==1 
See also:
rows(), cols(), IsVectorAtCompileTime.

Definition at line 173 of file SparseMatrixBase.h.

{ return rows()==1 || cols()==1; }
template<typename Derived>
EIGEN_DEVICE_FUNC ColsBlockXpr Eigen::SparseMatrixBase< Derived >::leftCols ( Index  n) [inline]
Returns:
a block consisting of the left columns of *this.
Parameters:
nthe number of columns in the block

Example:

Output:

See also:
class Block, block(Index,Index,Index,Index)

Definition at line 563 of file SparseMatrixBase.h.

template<typename Derived>
EIGEN_DEVICE_FUNC ConstColsBlockXpr Eigen::SparseMatrixBase< Derived >::leftCols ( Index  n) const [inline]

This is the const version of leftCols(Index).

Definition at line 570 of file SparseMatrixBase.h.

template<typename Derived>
template<int N>
EIGEN_DEVICE_FUNC NColsBlockXpr<N>::Type Eigen::SparseMatrixBase< Derived >::leftCols ( Index  n = N) [inline]
Returns:
a block consisting of the left columns of *this.
Template Parameters:
Nthe number of columns in the block as specified at compile-time
Parameters:
nthe number of columns in the block as specified at run-time

The compile-time and run-time information should not contradict. In other words, n should equal N unless N is Dynamic.

Example:

Output:

See also:
class Block, block(Index,Index,Index,Index)

Definition at line 590 of file SparseMatrixBase.h.

template<typename Derived>
template<int N>
EIGEN_DEVICE_FUNC ConstNColsBlockXpr<N>::Type Eigen::SparseMatrixBase< Derived >::leftCols ( Index  n = N) const [inline]

This is the const version of leftCols<int>().

Definition at line 598 of file SparseMatrixBase.h.

template<typename Derived>
Derived& Eigen::SparseMatrixBase< Derived >::markAsRValue ( ) [inline]

Definition at line 182 of file SparseMatrixBase.h.

{ m_isRValue = true; return derived(); }
template<typename Derived>
EIGEN_DEVICE_FUNC ColsBlockXpr Eigen::SparseMatrixBase< Derived >::middleCols ( Index  startCol,
Index  numCols 
) [inline]
Returns:
a block consisting of a range of columns of *this.
Parameters:
startColthe index of the first column in the block
numColsthe number of columns in the block

Example:

Output:

See also:
class Block, block(Index,Index,Index,Index)

Definition at line 668 of file SparseMatrixBase.h.

template<typename Derived>
EIGEN_DEVICE_FUNC ConstColsBlockXpr Eigen::SparseMatrixBase< Derived >::middleCols ( Index  startCol,
Index  numCols 
) const [inline]

This is the const version of middleCols(Index,Index).

Definition at line 675 of file SparseMatrixBase.h.

template<typename Derived>
template<int N>
EIGEN_DEVICE_FUNC NColsBlockXpr<N>::Type Eigen::SparseMatrixBase< Derived >::middleCols ( Index  startCol,
Index  n = N 
) [inline]
Returns:
a block consisting of a range of columns of *this.
Template Parameters:
Nthe number of columns in the block as specified at compile-time
Parameters:
startColthe index of the first column in the block
nthe number of columns in the block as specified at run-time

The compile-time and run-time information should not contradict. In other words, n should equal N unless N is Dynamic.

Example:

Output:

See also:
class Block, block(Index,Index,Index,Index)

Definition at line 696 of file SparseMatrixBase.h.

template<typename Derived>
template<int N>
EIGEN_DEVICE_FUNC ConstNColsBlockXpr<N>::Type Eigen::SparseMatrixBase< Derived >::middleCols ( Index  startCol,
Index  n = N 
) const [inline]

This is the const version of middleCols<int>().

Definition at line 704 of file SparseMatrixBase.h.

template<typename Derived>
EIGEN_DEVICE_FUNC RowsBlockXpr Eigen::SparseMatrixBase< Derived >::middleRows ( Index  startRow,
Index  n 
) [inline]
Returns:
a block consisting of a range of rows of *this.
Parameters:
startRowthe index of the first row in the block
nthe number of rows in the block

Example:

Output:

See also:
class Block, block(Index,Index,Index,Index)

Definition at line 510 of file SparseMatrixBase.h.

template<typename Derived>
EIGEN_DEVICE_FUNC ConstRowsBlockXpr Eigen::SparseMatrixBase< Derived >::middleRows ( Index  startRow,
Index  n 
) const [inline]

This is the const version of middleRows(Index,Index).

Definition at line 517 of file SparseMatrixBase.h.

template<typename Derived>
template<int N>
EIGEN_DEVICE_FUNC NRowsBlockXpr<N>::Type Eigen::SparseMatrixBase< Derived >::middleRows ( Index  startRow,
Index  n = N 
) [inline]
Returns:
a block consisting of a range of rows of *this.
Template Parameters:
Nthe number of rows in the block as specified at compile-time
Parameters:
startRowthe index of the first row in the block
nthe number of rows in the block as specified at run-time

The compile-time and run-time information should not contradict. In other words, n should equal N unless N is Dynamic.

Example:

Output:

See also:
class Block, block(Index,Index,Index,Index)

Definition at line 538 of file SparseMatrixBase.h.

template<typename Derived>
template<int N>
EIGEN_DEVICE_FUNC ConstNRowsBlockXpr<N>::Type Eigen::SparseMatrixBase< Derived >::middleRows ( Index  startRow,
Index  n = N 
) const [inline]

This is the const version of middleRows<int>().

Definition at line 546 of file SparseMatrixBase.h.

template<typename Derived >
NumTraits< typename internal::traits< Derived >::Scalar >::Real Eigen::SparseMatrixBase< Derived >::norm ( ) const [inline]

Definition at line 84 of file SparseDot.h.

{
  using std::sqrt;
  return sqrt(squaredNorm());
}
template<typename Derived>
EIGEN_DEVICE_FUNC const ScalarMultipleReturnType Eigen::SparseMatrixBase< Derived >::operator* ( const Scalar scalar) const [inline]
Returns:
an expression of *this scaled by the scalar factor scalar

Definition at line 57 of file SparseMatrixBase.h.

         {

template<typename Derived>
EIGEN_DEVICE_FUNC const ScalarComplexMultipleReturnType Eigen::SparseMatrixBase< Derived >::operator* ( const std::complex< Scalar > &  scalar) const [inline]

Overloaded for efficient real matrix times complex scalar value

Definition at line 77 of file SparseMatrixBase.h.

template<typename Derived>
template<typename OtherDerived >
const Product<Derived,OtherDerived> Eigen::SparseMatrixBase< Derived >::operator* ( const DiagonalBase< OtherDerived > &  other) const [inline]

Definition at line 282 of file SparseMatrixBase.h.

    { return Product<Derived,OtherDerived>(derived(), other.derived()); }
template<typename Derived >
template<typename OtherDerived >
const Product< Derived, OtherDerived, AliasFreeProduct > Eigen::SparseMatrixBase< Derived >::operator* ( const SparseMatrixBase< OtherDerived > &  other) const [inline]
Returns:
an expression of the product of two sparse matrices. By default a conservative product preserving the symbolic non zeros is performed. The automatic pruning of the small values can be achieved by calling the pruned() function in which case a totally different product algorithm is employed:
 C = (A*B).pruned();             // supress numerical zeros (exact)
 C = (A*B).pruned(ref);
 C = (A*B).pruned(ref,epsilon);
where ref is a meaningful non zero reference value.

Definition at line 29 of file SparseProduct.h.

{
  return Product<Derived,OtherDerived,AliasFreeProduct>(derived(), other.derived());
}
template<typename Derived>
template<typename OtherDerived >
const Product<Derived,OtherDerived> Eigen::SparseMatrixBase< Derived >::operator* ( const MatrixBase< OtherDerived > &  other) const [inline]

Definition at line 299 of file SparseMatrixBase.h.

    { return Product<Derived,OtherDerived>(derived(), other.derived()); }
template<typename Derived >
EIGEN_STRONG_INLINE Derived & Eigen::SparseMatrixBase< Derived >::operator*= ( const Scalar other)

Definition at line 178 of file SparseCwiseUnaryOp.h.

{
  for (Index j=0; j<outerSize(); ++j)
    for (typename Derived::InnerIterator i(derived(),j); i; ++i)
      i.valueRef() *= other;
  return derived();
}
template<typename Derived>
template<typename OtherDerived >
Derived& Eigen::SparseMatrixBase< Derived >::operator*= ( const SparseMatrixBase< OtherDerived > &  other)
template<typename Derived >
template<typename OtherDerived >
EIGEN_STRONG_INLINE Derived & Eigen::SparseMatrixBase< Derived >::operator+= ( const SparseMatrixBase< OtherDerived > &  other)

Definition at line 573 of file SparseCwiseBinaryOp.h.

{
  return derived() = derived() + other.derived();
}
template<typename Derived >
template<typename OtherDerived >
Derived & Eigen::SparseMatrixBase< Derived >::operator+= ( const DiagonalBase< OtherDerived > &  other)

Definition at line 580 of file SparseCwiseBinaryOp.h.

{
  call_assignment_no_alias(derived(), other.derived(), internal::add_assign_op<Scalar>());
  return derived();
}
template<typename Derived>
EIGEN_DEVICE_FUNC const NegativeReturnType Eigen::SparseMatrixBase< Derived >::operator- ( ) const [inline]
Returns:
an expression of the opposite of *this

Definition at line 51 of file SparseMatrixBase.h.

{
template<typename Derived >
template<typename OtherDerived >
EIGEN_STRONG_INLINE Derived & Eigen::SparseMatrixBase< Derived >::operator-= ( const SparseMatrixBase< OtherDerived > &  other)

Definition at line 565 of file SparseCwiseBinaryOp.h.

{
  return derived() = derived() - other.derived();
}
template<typename Derived >
template<typename OtherDerived >
Derived & Eigen::SparseMatrixBase< Derived >::operator-= ( const DiagonalBase< OtherDerived > &  other)

Definition at line 588 of file SparseCwiseBinaryOp.h.

{
  call_assignment_no_alias(derived(), other.derived(), internal::sub_assign_op<Scalar>());
  return derived();
}
template<typename Derived>
EIGEN_DEVICE_FUNC const ScalarQuotient1ReturnType Eigen::SparseMatrixBase< Derived >::operator/ ( const Scalar scalar) const [inline]
Returns:
an expression of *this divided by the scalar value scalar

Definition at line 69 of file SparseMatrixBase.h.

template<typename Derived >
EIGEN_STRONG_INLINE Derived & Eigen::SparseMatrixBase< Derived >::operator/= ( const Scalar other)

Definition at line 188 of file SparseCwiseUnaryOp.h.

{
  for (Index j=0; j<outerSize(); ++j)
    for (typename Derived::InnerIterator i(derived(),j); i; ++i)
      i.valueRef() /= other;
  return derived();
}
template<typename Derived >
template<typename OtherDerived >
Derived & Eigen::SparseMatrixBase< Derived >::operator= ( const EigenBase< OtherDerived > &  other)
template<typename Derived >
template<typename OtherDerived >
Derived & Eigen::SparseMatrixBase< Derived >::operator= ( const ReturnByValue< OtherDerived > &  other)

Definition at line 25 of file SparseAssign.h.

{
  // TODO use the evaluator mechanism
  other.evalTo(derived());
  return derived();
}
template<typename Derived >
template<typename OtherDerived >
Derived & Eigen::SparseMatrixBase< Derived >::operator= ( const SparseMatrixBase< OtherDerived > &  other) [inline]
template<typename Derived>
Derived & Eigen::SparseMatrixBase< Derived >::operator= ( const Derived &  other) [inline]
template<typename Derived>
Index Eigen::SparseMatrixBase< Derived >::outerSize ( ) const [inline]
template<typename Derived >
const SparseView< Derived > Eigen::SparseMatrixBase< Derived >::pruned ( const Scalar reference = Scalar(0),
const RealScalar epsilon = NumTraits<Scalar>::dummy_precision() 
) const [inline]
Returns:
an expression of *this with values smaller than reference * epsilon are removed.

This method is typically used in conjunction with the product of two sparse matrices to automatically prune the smallest values as follows:

 C = (A*B).pruned();             // suppress numerical zeros (exact)
 C = (A*B).pruned(ref);
 C = (A*B).pruned(ref,epsilon);

where ref is a meaningful non zero reference value.

Definition at line 214 of file SparseView.h.

{
  return SparseView<Derived>(derived(), reference, epsilon);
}
template<typename Derived>
EIGEN_DEVICE_FUNC RealReturnType Eigen::SparseMatrixBase< Derived >::real ( ) const [inline]
Returns:
a read-only expression of the real part of *this.
See also:
imag()

Definition at line 125 of file SparseMatrixBase.h.

template<typename Derived>
EIGEN_DEVICE_FUNC NonConstRealReturnType Eigen::SparseMatrixBase< Derived >::real ( ) [inline]
Returns:
a non const expression of the real part of *this.
See also:
imag()

Definition at line 185 of file SparseMatrixBase.h.

:

template<typename Derived>
EIGEN_DEVICE_FUNC ColsBlockXpr Eigen::SparseMatrixBase< Derived >::rightCols ( Index  n) [inline]
Returns:
a block consisting of the right columns of *this.
Parameters:
nthe number of columns in the block

Example:

Output:

See also:
class Block, block(Index,Index,Index,Index)

Definition at line 615 of file SparseMatrixBase.h.

template<typename Derived>
EIGEN_DEVICE_FUNC ConstColsBlockXpr Eigen::SparseMatrixBase< Derived >::rightCols ( Index  n) const [inline]

This is the const version of rightCols(Index).

Definition at line 622 of file SparseMatrixBase.h.

template<typename Derived>
template<int N>
EIGEN_DEVICE_FUNC NColsBlockXpr<N>::Type Eigen::SparseMatrixBase< Derived >::rightCols ( Index  n = N) [inline]
Returns:
a block consisting of the right columns of *this.
Template Parameters:
Nthe number of columns in the block as specified at compile-time
Parameters:
nthe number of columns in the block as specified at run-time

The compile-time and run-time information should not contradict. In other words, n should equal N unless N is Dynamic.

Example:

Output:

See also:
class Block, block(Index,Index,Index,Index)

Definition at line 642 of file SparseMatrixBase.h.

template<typename Derived>
template<int N>
EIGEN_DEVICE_FUNC ConstNColsBlockXpr<N>::Type Eigen::SparseMatrixBase< Derived >::rightCols ( Index  n = N) const [inline]

This is the const version of rightCols<int>().

Definition at line 650 of file SparseMatrixBase.h.

template<typename Derived>
EIGEN_DEVICE_FUNC RowXpr Eigen::SparseMatrixBase< Derived >::row ( Index  i) [inline]
Returns:
an expression of the i-th row of *this. Note that the numbering starts at 0.

Example:

Output:

See also:
col(), class Block

Definition at line 802 of file SparseMatrixBase.h.

template<typename Derived>
EIGEN_DEVICE_FUNC ConstRowXpr Eigen::SparseMatrixBase< Derived >::row ( Index  i) const [inline]

This is the const version of row().

Definition at line 809 of file SparseMatrixBase.h.

template<typename Derived>
EIGEN_DEVICE_FUNC SegmentReturnType Eigen::SparseMatrixBase< Derived >::segment ( Index  start,
Index  n 
) [inline]
Returns:
a dynamic-size expression of a segment (i.e. a vector block) in *this.
Parameters:
startthe first coefficient in the segment
nthe number of coefficients in the segment

Example:

Output:

Note:
Even though the returned expression has dynamic size, in the case when it is applied to a fixed-size vector, it inherits a fixed maximal size, which means that evaluating it does not cause a dynamic memory allocation.
See also:
class Block, segment(Index)

Definition at line 831 of file SparseMatrixBase.h.

template<typename Derived>
EIGEN_DEVICE_FUNC ConstSegmentReturnType Eigen::SparseMatrixBase< Derived >::segment ( Index  start,
Index  n 
) const [inline]

This is the const version of segment(Index,Index).

Definition at line 840 of file SparseMatrixBase.h.

template<typename Derived>
template<int N>
EIGEN_DEVICE_FUNC FixedSegmentReturnType<N>::Type Eigen::SparseMatrixBase< Derived >::segment ( Index  start,
Index  n = N 
) [inline]
Returns:
a fixed-size expression of a segment (i.e. a vector block) in *this
Template Parameters:
Nthe number of coefficients in the segment as specified at compile-time
Parameters:
startthe index of the first element in the segment
nthe number of coefficients in the segment as specified at compile-time

The compile-time and run-time information should not contradict. In other words, n should equal N unless N is Dynamic.

Example:

Output:

See also:
class Block

Definition at line 924 of file SparseMatrixBase.h.

template<typename Derived>
template<int N>
EIGEN_DEVICE_FUNC ConstFixedSegmentReturnType<N>::Type Eigen::SparseMatrixBase< Derived >::segment ( Index  start,
Index  n = N 
) const [inline]

This is the const version of segment<int>(Index).

Definition at line 933 of file SparseMatrixBase.h.

template<typename Derived >
template<unsigned int UpLo>
SparseMatrixBase< Derived >::template ConstSelfAdjointViewReturnType< UpLo >::Type Eigen::SparseMatrixBase< Derived >::selfadjointView ( ) const [inline]

Definition at line 174 of file SparseSelfAdjointView.h.

{
  return SparseSelfAdjointView<const Derived, UpLo>(derived());
}
template<typename Derived >
template<unsigned int UpLo>
SparseMatrixBase< Derived >::template SelfAdjointViewReturnType< UpLo >::Type Eigen::SparseMatrixBase< Derived >::selfadjointView ( ) [inline]

Definition at line 181 of file SparseSelfAdjointView.h.

{
  return SparseSelfAdjointView<Derived, UpLo>(derived());
}
template<typename Derived>
Index Eigen::SparseMatrixBase< Derived >::size ( ) const [inline]
Returns:
the number of coefficients, which is rows()*cols().
See also:
rows(), cols().

Reimplemented from Eigen::EigenBase< Derived >.

Definition at line 168 of file SparseMatrixBase.h.

{ return rows() * cols(); }
template<typename Derived >
NumTraits< typename internal::traits< Derived >::Scalar >::Real Eigen::SparseMatrixBase< Derived >::squaredNorm ( ) const [inline]

Definition at line 77 of file SparseDot.h.

{
  return numext::real((*this).cwiseAbs2().sum());
}
template<typename Derived >
internal::traits< Derived >::Scalar Eigen::SparseMatrixBase< Derived >::sum ( ) const

Reimplemented in Eigen::SparseMatrix< _Scalar, _Options, _Index >, Eigen::SparseMatrix< Scalar >, Eigen::SparseMatrix< Scalar, ColMajor, StorageIndex >, Eigen::SparseMatrix< Scalar, ColMajor, int >, Eigen::SparseMatrix< Scalar, RowMajor, StorageIndex >, and Eigen::SparseVector< _Scalar, _Options, _StorageIndex >.

Definition at line 17 of file SparseRedux.h.

{
  eigen_assert(rows()>0 && cols()>0 && "you are using a non initialized matrix");
  Scalar res(0);
  internal::evaluator<Derived> thisEval(derived());
  for (Index j=0; j<outerSize(); ++j)
    for (typename internal::evaluator<Derived>::InnerIterator iter(thisEval,j); iter; ++iter)
      res += iter.value();
  return res;
}
template<typename Derived>
EIGEN_DEVICE_FUNC SegmentReturnType Eigen::SparseMatrixBase< Derived >::tail ( Index  n) [inline]
Returns:
a dynamic-size expression of the last coefficients of *this.
Parameters:
nthe number of coefficients in the segment

Example:

Output:

Note:
Even though the returned expression has dynamic size, in the case when it is applied to a fixed-size vector, it inherits a fixed maximal size, which means that evaluating it does not cause a dynamic memory allocation.
See also:
class Block, block(Index,Index)

Definition at line 892 of file SparseMatrixBase.h.

template<typename Derived>
EIGEN_DEVICE_FUNC ConstSegmentReturnType Eigen::SparseMatrixBase< Derived >::tail ( Index  n) const [inline]

This is the const version of tail(Index).

Definition at line 900 of file SparseMatrixBase.h.

template<typename Derived>
template<int N>
EIGEN_DEVICE_FUNC FixedSegmentReturnType<N>::Type Eigen::SparseMatrixBase< Derived >::tail ( Index  n = N) [inline]
Returns:
a fixed-size expression of the last coefficients of *this.
Template Parameters:
Nthe number of coefficients in the segment as specified at compile-time
Parameters:
nthe number of coefficients in the segment as specified at run-time

The compile-time and run-time information should not contradict. In other words, n should equal N unless N is Dynamic.

Example:

Output:

See also:
class Block

Definition at line 988 of file SparseMatrixBase.h.

template<typename Derived>
template<int N>
EIGEN_DEVICE_FUNC ConstFixedSegmentReturnType<N>::Type Eigen::SparseMatrixBase< Derived >::tail ( Index  n = N) const [inline]

This is the const version of tail<int>.

Definition at line 997 of file SparseMatrixBase.h.

template<typename Derived>
DenseMatrixType Eigen::SparseMatrixBase< Derived >::toDense ( ) const [inline]

Definition at line 350 of file SparseMatrixBase.h.

    {
      return DenseMatrixType(derived());
    }
template<typename Derived>
EIGEN_DEVICE_FUNC BlockXpr Eigen::SparseMatrixBase< Derived >::topLeftCorner ( Index  cRows,
Index  cCols 
) [inline]
Returns:
a dynamic-size expression of a top-left corner of *this.
Parameters:
cRowsthe number of rows in the corner
cColsthe number of columns in the corner

Example:

Output:

See also:
class Block, block(Index,Index,Index,Index)

Definition at line 169 of file SparseMatrixBase.h.

                                 { return rows()==1 || cols()==1; }
template<typename Derived>
EIGEN_DEVICE_FUNC const ConstBlockXpr Eigen::SparseMatrixBase< Derived >::topLeftCorner ( Index  cRows,
Index  cCols 
) const [inline]

This is the const version of topLeftCorner(Index, Index).

Definition at line 176 of file SparseMatrixBase.h.

                            { return (int(Flags)&RowMajorBit) ? this->rows() : this->cols(); }
    Index innerSize() const { return (int(Flags)&RowMajorBit) ? this->cols() : this->rows(); }
template<typename Derived>
template<int CRows, int CCols>
EIGEN_DEVICE_FUNC FixedBlockXpr<CRows,CCols>::Type Eigen::SparseMatrixBase< Derived >::topLeftCorner ( ) [inline]
Returns:
an expression of a fixed-size top-left corner of *this.

The template parameters CRows and CCols are the number of rows and columns in the corner.

Example:

Output:

See also:
class Block, block(Index,Index,Index,Index)

Definition at line 192 of file SparseMatrixBase.h.

           :

template<typename Derived>
template<int CRows, int CCols>
EIGEN_DEVICE_FUNC const ConstFixedBlockXpr<CRows,CCols>::Type Eigen::SparseMatrixBase< Derived >::topLeftCorner ( ) const [inline]

This is the const version of topLeftCorner<int, int>().

Definition at line 200 of file SparseMatrixBase.h.

        :

template<typename Derived>
template<int CRows, int CCols>
FixedBlockXpr<CRows,CCols>::Type Eigen::SparseMatrixBase< Derived >::topLeftCorner ( Index  cRows,
Index  cCols 
) [inline]
Returns:
an expression of a top-left corner of *this.
Template Parameters:
CRowsnumber of rows in corner as specified at compile-time
CColsnumber of columns in corner as specified at compile-time
Parameters:
cRowsnumber of rows in corner as specified at run-time
cColsnumber of columns in corner as specified at run-time

This function is mainly useful for corners where the number of rows is specified at compile-time and the number of columns is specified at run-time, or vice versa. The compile-time and run-time information should not contradict. In other words, cRows should equal CRows unless CRows is Dynamic, and the same for the number of columns.

Example:

Output:

See also:
class Block

Definition at line 223 of file SparseMatrixBase.h.

      {
template<typename Derived>
template<int CRows, int CCols>
const ConstFixedBlockXpr<CRows,CCols>::Type Eigen::SparseMatrixBase< Derived >::topLeftCorner ( Index  cRows,
Index  cCols 
) const [inline]

This is the const version of topLeftCorner<int, int>(Index, Index).

Definition at line 230 of file SparseMatrixBase.h.

                           {
          Index row = 0;
          for (typename NestedCleaned::InnerIterator it(nm.derived(), 0); it; ++it)
template<typename Derived>
EIGEN_DEVICE_FUNC BlockXpr Eigen::SparseMatrixBase< Derived >::topRightCorner ( Index  cRows,
Index  cCols 
) [inline]
Returns:
a dynamic-size expression of a top-right corner of *this.
Parameters:
cRowsthe number of rows in the corner
cColsthe number of columns in the corner

Example:

Output:

See also:
class Block, block(Index,Index,Index,Index)

Definition at line 89 of file SparseMatrixBase.h.

                                         : 0,
template<typename Derived>
EIGEN_DEVICE_FUNC const ConstBlockXpr Eigen::SparseMatrixBase< Derived >::topRightCorner ( Index  cRows,
Index  cCols 
) const [inline]

This is the const version of topRightCorner(Index, Index).

Definition at line 96 of file SparseMatrixBase.h.

template<typename Derived>
template<int CRows, int CCols>
EIGEN_DEVICE_FUNC FixedBlockXpr<CRows,CCols>::Type Eigen::SparseMatrixBase< Derived >::topRightCorner ( ) [inline]
Returns:
an expression of a fixed-size top-right corner of *this.
Template Parameters:
CRowsthe number of rows in the corner
CColsthe number of columns in the corner

Example:

Output:

See also:
class Block, block<int,int>(Index,Index)

Definition at line 113 of file SparseMatrixBase.h.

template<typename Derived>
template<int CRows, int CCols>
EIGEN_DEVICE_FUNC const ConstFixedBlockXpr<CRows,CCols>::Type Eigen::SparseMatrixBase< Derived >::topRightCorner ( ) const [inline]

This is the const version of topRightCorner<int, int>().

Definition at line 121 of file SparseMatrixBase.h.

template<typename Derived>
template<int CRows, int CCols>
FixedBlockXpr<CRows,CCols>::Type Eigen::SparseMatrixBase< Derived >::topRightCorner ( Index  cRows,
Index  cCols 
) [inline]
Returns:
an expression of a top-right corner of *this.
Template Parameters:
CRowsnumber of rows in corner as specified at compile-time
CColsnumber of columns in corner as specified at compile-time
Parameters:
cRowsnumber of rows in corner as specified at run-time
cColsnumber of columns in corner as specified at run-time

This function is mainly useful for corners where the number of rows is specified at compile-time and the number of columns is specified at run-time, or vice versa. The compile-time and run-time information should not contradict. In other words, cRows should equal CRows unless CRows is Dynamic, and the same for the number of columns.

Example:

Output:

See also:
class Block

Definition at line 144 of file SparseMatrixBase.h.

template<typename Derived>
template<int CRows, int CCols>
const ConstFixedBlockXpr<CRows,CCols>::Type Eigen::SparseMatrixBase< Derived >::topRightCorner ( Index  cRows,
Index  cCols 
) const [inline]

This is the const version of topRightCorner<int, int>(Index, Index).

Definition at line 151 of file SparseMatrixBase.h.

                              { return derived().rows(); }
template<typename Derived>
EIGEN_DEVICE_FUNC RowsBlockXpr Eigen::SparseMatrixBase< Derived >::topRows ( Index  n) [inline]
Returns:
a block consisting of the top rows of *this.
Parameters:
nthe number of rows in the block

Example:

Output:

See also:
class Block, block(Index,Index,Index,Index)

Definition at line 405 of file SparseMatrixBase.h.

template<typename Derived>
EIGEN_DEVICE_FUNC ConstRowsBlockXpr Eigen::SparseMatrixBase< Derived >::topRows ( Index  n) const [inline]

This is the const version of topRows(Index).

Definition at line 412 of file SparseMatrixBase.h.

template<typename Derived>
template<int N>
EIGEN_DEVICE_FUNC NRowsBlockXpr<N>::Type Eigen::SparseMatrixBase< Derived >::topRows ( Index  n = N) [inline]
Returns:
a block consisting of the top rows of *this.
Template Parameters:
Nthe number of rows in the block as specified at compile-time
Parameters:
nthe number of rows in the block as specified at run-time

The compile-time and run-time information should not contradict. In other words, n should equal N unless N is Dynamic.

Example:

Output:

See also:
class Block, block(Index,Index,Index,Index)

Definition at line 432 of file SparseMatrixBase.h.

template<typename Derived>
template<int N>
EIGEN_DEVICE_FUNC ConstNRowsBlockXpr<N>::Type Eigen::SparseMatrixBase< Derived >::topRows ( Index  n = N) const [inline]

This is the const version of topRows<int>().

Definition at line 440 of file SparseMatrixBase.h.

template<typename Derived>
TransposeReturnType Eigen::SparseMatrixBase< Derived >::transpose ( ) [inline]

Definition at line 334 of file SparseMatrixBase.h.

template<typename Derived>
const ConstTransposeReturnType Eigen::SparseMatrixBase< Derived >::transpose ( ) const [inline]

Definition at line 335 of file SparseMatrixBase.h.

template<typename Derived >
template<int Mode>
const TriangularView< const Derived, Mode > Eigen::SparseMatrixBase< Derived >::triangularView ( ) const [inline]

Definition at line 179 of file SparseTriangularView.h.

{
  return TriangularView<const Derived, Mode>(derived());
}
template<typename Derived>
SparseSymmetricPermutationProduct<Derived,Upper|Lower> Eigen::SparseMatrixBase< Derived >::twistedBy ( const PermutationMatrix< Dynamic, Dynamic, StorageIndex > &  perm) const [inline]
Returns:
an expression of P H P^-1 where H is the matrix represented by *this

Definition at line 309 of file SparseMatrixBase.h.

    {
      return SparseSymmetricPermutationProduct<Derived,Upper|Lower>(derived(), perm);
    }
template<typename Derived>
template<typename CustomUnaryOp >
EIGEN_DEVICE_FUNC const CwiseUnaryOp<CustomUnaryOp, const Derived> Eigen::SparseMatrixBase< Derived >::unaryExpr ( const CustomUnaryOp &  func = CustomUnaryOp()) const [inline]

Apply a unary operator coefficient-wise.

Parameters:
[in]funcFunctor implementing the unary operator
Template Parameters:
CustomUnaryOpType of func
Returns:
An expression of a custom coefficient-wise unary operator func of *this

The function ptr_fun() from the C++ standard library can be used to make functors out of normal functions.

Example:

Output:

Genuine functors allow for more possibilities, for instance it may contain a state.

Example:

Output:

See also:
class CwiseUnaryOp, class CwiseBinaryOp

Definition at line 156 of file SparseMatrixBase.h.

                              { return derived().rows(); }
template<typename Derived>
template<typename CustomViewOp >
EIGEN_DEVICE_FUNC const CwiseUnaryView<CustomViewOp, const Derived> Eigen::SparseMatrixBase< Derived >::unaryViewExpr ( const CustomViewOp &  func = CustomViewOp()) const [inline]
Returns:
an expression of a custom coefficient-wise unary operator func of *this

The template parameter CustomUnaryOp is the type of the functor of the custom unary operator.

Example:

Output:

See also:
class CwiseUnaryOp, class CwiseBinaryOp

Definition at line 175 of file SparseMatrixBase.h.

                            { return (int(Flags)&RowMajorBit) ? this->rows() : this->cols(); }

Friends And Related Function Documentation

template<typename Derived>
EIGEN_DEVICE_FUNC friend const ScalarMultipleReturnType operator* ( const Scalar scalar,
const StorageBaseType matrix 
) [friend]

Definition at line 84 of file SparseMatrixBase.h.

template<typename Derived>
EIGEN_DEVICE_FUNC friend const CwiseUnaryOp<internal::scalar_multiple2_op<Scalar,std::complex<Scalar> >, const Derived> operator* ( const std::complex< Scalar > &  scalar,
const StorageBaseType matrix 
) [friend]

Definition at line 89 of file SparseMatrixBase.h.

template<typename Derived>
template<typename OtherDerived >
const Product<OtherDerived,Derived> operator* ( const DiagonalBase< OtherDerived > &  lhs,
const SparseMatrixBase< Derived > &  rhs 
) [friend]

Definition at line 288 of file SparseMatrixBase.h.

    { return Product<OtherDerived,Derived>(lhs.derived(), rhs.derived()); }
template<typename Derived>
template<typename OtherDerived >
const Product<OtherDerived,Derived> operator* ( const MatrixBase< OtherDerived > &  lhs,
const SparseMatrixBase< Derived > &  rhs 
) [friend]

Definition at line 305 of file SparseMatrixBase.h.

    { return Product<OtherDerived,Derived>(lhs.derived(), rhs.derived()); }
template<typename Derived>
std::ostream& operator<< ( std::ostream &  s,
const SparseMatrixBase< Derived > &  m 
) [friend]

Definition at line 205 of file SparseMatrixBase.h.

    {
      typedef typename Derived::Nested Nested;
      typedef typename internal::remove_all<Nested>::type NestedCleaned;

      if (Flags&RowMajorBit)
      {
        const Nested nm(m.derived());
        for (Index row=0; row<nm.outerSize(); ++row)
        {
          Index col = 0;
          for (typename NestedCleaned::InnerIterator it(nm.derived(), row); it; ++it)
          {
            for ( ; col<it.index(); ++col)
              s << "0 ";
            s << it.value() << " ";
            ++col;
          }
          for ( ; col<m.cols(); ++col)
            s << "0 ";
          s << std::endl;
        }
      }
      else
      {
        const Nested nm(m.derived());
        if (m.cols() == 1) {
          Index row = 0;
          for (typename NestedCleaned::InnerIterator it(nm.derived(), 0); it; ++it)
          {
            for ( ; row<it.index(); ++row)
              s << "0" << std::endl;
            s << it.value() << std::endl;
            ++row;
          }
          for ( ; row<m.rows(); ++row)
            s << "0" << std::endl;
        }
        else
        {
          SparseMatrix<Scalar, RowMajorBit, StorageIndex> trans = m;
          s << static_cast<const SparseMatrixBase<SparseMatrix<Scalar, RowMajorBit, StorageIndex> >&>(trans);
        }
      }
      return s;
    }

Member Data Documentation

template<typename Derived>
bool Eigen::SparseMatrixBase< Derived >::m_isRValue [protected]

Definition at line 379 of file SparseMatrixBase.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines