Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Friends
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 >:
Inheritance graph
[legend]

List of all members.

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,
  CoeffReadCost = internal::traits<Derived>::CoeffReadCost, IsRowMajor = Flags&RowMajorBit ? 1 : 0, _HasDirectAccess = (int(Flags)&DirectAccessBit) ? 1 : 0
}
typedef internal::conditional
< NumTraits< Scalar >
::IsComplex, CwiseUnaryOp
< internal::scalar_conjugate_op
< Scalar >, Eigen::Transpose
< const Derived > >, Transpose
< const Derived > >::type 
AdjointReturnType
typedef EigenBase< Derived > Base
typedef internal::conditional
< _HasDirectAccess, const
Scalar &, Scalar >::type 
CoeffReturnType
typedef internal::conditional
< NumTraits< Scalar >
::IsComplex, const
CwiseUnaryOp
< internal::scalar_conjugate_op
< Scalar >, const Derived >
, const Derived & >::type 
ConjugateReturnType
typedef CwiseNullaryOp
< internal::scalar_constant_op
< Scalar >, Matrix< Scalar,
Dynamic, Dynamic > > 
ConstantReturnType
typedef CwiseUnaryOp
< internal::scalar_imag_op
< Scalar >, const Derived > 
ImagReturnType
typedef internal::traits
< Derived >::Index 
Index
typedef CwiseUnaryView
< internal::scalar_imag_ref_op
< Scalar >, Derived > 
NonConstImagReturnType
typedef internal::conditional
< NumTraits< Scalar >
::IsComplex, CwiseUnaryView
< internal::scalar_real_ref_op
< Scalar >, Derived >, Derived & >
::type 
NonConstRealReturnType
typedef
internal::add_const_on_value_type_if_arithmetic
< typename
internal::packet_traits
< Scalar >::type >::type 
PacketReturnType
typedef
internal::packet_traits
< Scalar >::type 
PacketScalar
typedef SparseMatrix< Scalar,
Flags &RowMajorBit?RowMajor:ColMajor > 
PlainObject
typedef internal::conditional
< NumTraits< Scalar >
::IsComplex, const
CwiseUnaryOp
< internal::scalar_real_op
< Scalar >, const Derived >
, const Derived & >::type 
RealReturnType
typedef NumTraits< Scalar >::Real RealScalar
typedef internal::traits
< Derived >::Scalar 
Scalar
typedef CwiseUnaryOp
< internal::scalar_multiple_op
< Scalar >, const Derived > 
ScalarMultipleReturnType
typedef CwiseUnaryOp
< internal::scalar_quotient1_op
< Scalar >, const Derived > 
ScalarQuotient1ReturnType
typedef Matrix< Scalar,
EIGEN_SIZE_MAX(RowsAtCompileTime,
ColsAtCompileTime),
EIGEN_SIZE_MAX(RowsAtCompileTime,
ColsAtCompileTime)> 
SquareMatrixType
typedef SparseMatrixBase StorageBaseType
typedef internal::traits
< Derived >::StorageKind 
StorageKind

Public Member Functions

const AdjointReturnType adjoint () const
template<typename CustomBinaryOp , typename OtherDerived >
EIGEN_STRONG_INLINE const
CwiseBinaryOp< CustomBinaryOp,
const Derived, const
OtherDerived > 
binaryExpr (const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > &other, const CustomBinaryOp &func=CustomBinaryOp()) const
template<typename NewType >
internal::cast_return_type
< Derived, const CwiseUnaryOp
< internal::scalar_cast_op
< typename internal::traits
< Derived >::Scalar, NewType >
, const Derived > >::type 
cast () const
SparseInnerVectorSet< Derived, 1 > col (Index j)
const SparseInnerVectorSet
< Derived, 1 > 
col (Index j) const
Index cols () const
ConjugateReturnType conjugate () const
Derived & const_cast_derived () const
EIGEN_STRONG_INLINE const
CwiseUnaryOp
< internal::scalar_abs_op
< Scalar >, const Derived > 
cwiseAbs () const
EIGEN_STRONG_INLINE const
CwiseUnaryOp
< internal::scalar_abs2_op
< Scalar >, const Derived > 
cwiseAbs2 () const
template<typename OtherDerived >
const CwiseBinaryOp
< std::equal_to< Scalar >
, const Derived, const
OtherDerived > 
cwiseEqual (const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > &other) const
const CwiseUnaryOp
< std::binder1st
< std::equal_to< Scalar >
>, const Derived > 
cwiseEqual (const Scalar &s) const
const CwiseUnaryOp
< internal::scalar_inverse_op
< Scalar >, const Derived > 
cwiseInverse () const
template<typename OtherDerived >
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_STRONG_INLINE const
CwiseBinaryOp
< internal::scalar_max_op
< Scalar >, const Derived,
const ConstantReturnType
cwiseMax (const Scalar &other) const
template<typename OtherDerived >
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_STRONG_INLINE const
CwiseBinaryOp
< internal::scalar_min_op
< Scalar >, const Derived,
const ConstantReturnType
cwiseMin (const Scalar &other) const
template<typename OtherDerived >
const CwiseBinaryOp
< std::not_equal_to< Scalar >
, const Derived, const
OtherDerived > 
cwiseNotEqual (const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > &other) const
template<typename OtherDerived >
EIGEN_STRONG_INLINE const
EIGEN_SPARSE_CWISE_PRODUCT_RETURN_TYPE 
cwiseProduct (const MatrixBase< OtherDerived > &other) const
template<typename OtherDerived >
EIGEN_STRONG_INLINE const
CwiseBinaryOp
< internal::scalar_quotient_op
< Scalar >, const Derived,
const OtherDerived > 
cwiseQuotient (const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > &other) const
const CwiseUnaryOp
< internal::scalar_sqrt_op
< Scalar >, const Derived > 
cwiseSqrt () const
const Derived & derived () const
Derived & derived ()
template<typename OtherDerived >
Scalar dot (const MatrixBase< OtherDerived > &other) const
template<typename OtherDerived >
Scalar dot (const SparseMatrixBase< OtherDerived > &other) const
template<typename OtherDerived >
EIGEN_STRONG_INLINE const EIGEN_CWISE_PRODUCT_RETURN_TYPE (Derived, OtherDerived) cwiseProduct(const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > &other) const
const internal::eval< Derived >
::type 
eval () const
template<typename DenseDerived >
void evalTo (MatrixBase< DenseDerived > &dst) const
const ImagReturnType imag () const
NonConstImagReturnType imag ()
Index innerSize () const
SparseInnerVectorSet< Derived, 1 > innerVector (Index outer)
const SparseInnerVectorSet
< Derived, 1 > 
innerVector (Index outer) const
SparseInnerVectorSet< Derived,
Dynamic
innerVectors (Index outerStart, Index outerSize)
const SparseInnerVectorSet
< Derived, Dynamic
innerVectors (Index outerStart, Index outerSize) const
template<typename OtherDerived >
bool isApprox (const SparseMatrixBase< OtherDerived > &other, RealScalar prec=NumTraits< Scalar >::dummy_precision()) const
template<typename OtherDerived >
bool isApprox (const MatrixBase< OtherDerived > &other, RealScalar prec=NumTraits< Scalar >::dummy_precision()) const
bool isRValue () const
bool isVector () const
Derived & markAsRValue ()
SparseInnerVectorSet< Derived,
Dynamic
middleCols (Index start, Index size)
const SparseInnerVectorSet
< Derived, Dynamic
middleCols (Index start, Index size) const
SparseInnerVectorSet< Derived,
Dynamic
middleRows (Index start, Index size)
const SparseInnerVectorSet
< Derived, Dynamic
middleRows (Index start, Index size) const
Index nonZeros () const
RealScalar norm () const
const ScalarMultipleReturnType operator* (const Scalar &scalar) const
const CwiseUnaryOp
< internal::scalar_multiple2_op
< Scalar, std::complex< Scalar >
>, const Derived > 
operator* (const std::complex< Scalar > &scalar) const
template<typename OtherDerived >
const
SparseSparseProductReturnType
< Derived, OtherDerived >
::Type 
operator* (const SparseMatrixBase< OtherDerived > &other) const
template<typename OtherDerived >
const SparseDiagonalProduct
< Derived, OtherDerived > 
operator* (const DiagonalBase< OtherDerived > &other) const
template<typename OtherDerived >
const
SparseDenseProductReturnType
< Derived, OtherDerived >
::Type 
operator* (const MatrixBase< OtherDerived > &other) const
Derived & operator*= (const Scalar &other)
template<typename OtherDerived >
Derived & operator*= (const SparseMatrixBase< OtherDerived > &other)
template<typename OtherDerived >
Derived & operator+= (const SparseMatrixBase< OtherDerived > &other)
const CwiseUnaryOp
< internal::scalar_opposite_op
< typename internal::traits
< Derived >::Scalar >, const
Derived > 
operator- () const
template<typename OtherDerived >
Derived & operator-= (const SparseMatrixBase< OtherDerived > &other)
const CwiseUnaryOp
< internal::scalar_quotient1_op
< typename internal::traits
< Derived >::Scalar >, const
Derived > 
operator/ (const Scalar &scalar) const
Derived & operator/= (const Scalar &other)
template<typename OtherDerived >
Derived & operator= (const EigenBase< OtherDerived > &other)
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 Lhs , typename Rhs >
Derived & operator= (const SparseSparseProduct< Lhs, Rhs > &product)
Index outerSize () const
RealReturnType real () const
NonConstRealReturnType real ()
SparseInnerVectorSet< Derived, 1 > row (Index i)
const SparseInnerVectorSet
< Derived, 1 > 
row (Index i) const
Index rows () const
template<unsigned int UpLo>
const SparseSelfAdjointView
< Derived, UpLo > 
selfadjointView () const
template<unsigned int UpLo>
SparseSelfAdjointView< Derived,
UpLo > 
selfadjointView ()
Index size () const
 SparseMatrixBase ()
RealScalar squaredNorm () const
SparseInnerVectorSet< Derived,
Dynamic
subcols (Index start, Index size)
const SparseInnerVectorSet
< Derived, Dynamic
subcols (Index start, Index size) const
SparseInnerVectorSet< Derived,
Dynamic
subrows (Index start, Index size)
const SparseInnerVectorSet
< Derived, Dynamic
subrows (Index start, Index size) const
Scalar sum () const
Matrix< Scalar,
RowsAtCompileTime,
ColsAtCompileTime
toDense () const
Transpose< Derived > transpose ()
const Transpose< const Derived > transpose () const
template<int Mode>
const SparseTriangularView
< Derived, Mode > 
triangularView () const
SparseSymmetricPermutationProduct
< Derived, Upper|Lower
twistedBy (const PermutationMatrix< Dynamic, Dynamic, Index > &perm) const
template<typename CustomUnaryOp >
const CwiseUnaryOp
< CustomUnaryOp, const Derived > 
unaryExpr (const CustomUnaryOp &func=CustomUnaryOp()) const
 Apply a unary operator coefficient-wise.
template<typename CustomViewOp >
const CwiseUnaryView
< CustomViewOp, const Derived > 
unaryViewExpr (const CustomViewOp &func=CustomViewOp()) const

Protected Member Functions

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

Protected Attributes

bool m_isRValue

Friends

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

Detailed Description

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

Base class of any sparse matrices or sparse expressions.

Template Parameters:
DerivedThis 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

Definition at line 102 of file SparseMatrixBase.h.

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

Definition at line 119 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

Definition at line 24 of file SparseMatrixBase.h.

Definition at line 122 of file SparseMatrixBase.h.

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

Definition at line 36 of file SparseMatrixBase.h.

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

Reimplemented from Eigen::EigenBase< Derived >.

Definition at line 33 of file SparseMatrixBase.h.

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

Definition at line 38 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

Definition at line 34 of file SparseMatrixBase.h.

Definition at line 36 of file SparseMatrixBase.h.

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

Definition at line 31 of file SparseMatrixBase.h.

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

Definition at line 105 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

Definition at line 29 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 115 of file SparseMatrixBase.h.

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

Definition at line 30 of file SparseMatrixBase.h.

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

Definition at line 17 of file SparseMatrixBase.h.

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

Definition at line 19 of file SparseMatrixBase.h.

type of the equivalent square matrix

Definition at line 126 of file SparseMatrixBase.h.

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

Definition at line 38 of file SparseMatrixBase.h.

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

Reimplemented from Eigen::EigenBase< Derived >.

Definition at line 32 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.

CoeffReadCost 

This is a rough measure of how expensive it is to read one coefficient from this expression.

IsRowMajor 
_HasDirectAccess 

Definition at line 48 of file SparseMatrixBase.h.


Constructor & Destructor Documentation

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

Definition at line 171 of file SparseMatrixBase.h.


Member Function Documentation

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

Definition at line 393 of file SparseMatrixBase.h.

template<typename Derived>
template<typename OtherDerived >
Derived& Eigen::SparseMatrixBase< Derived >::assign ( const OtherDerived &  other) [inline, protected]

Definition at line 199 of file SparseMatrixBase.h.

template<typename Derived>
template<typename OtherDerived >
void Eigen::SparseMatrixBase< Derived >::assignGeneric ( const OtherDerived &  other) [inline, protected]

Definition at line 228 of file SparseMatrixBase.h.

template<typename Derived>
template<typename CustomBinaryOp , typename OtherDerived >
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 43 of file SparseMatrixBase.h.

template<typename Derived>
template<typename NewType >
internal::cast_return_type<Derived,const CwiseUnaryOp<internal::scalar_cast_op<typename internal::traits<Derived>::Scalar, NewType>, const Derived> >::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 93 of file SparseMatrixBase.h.

template<typename Derived >
SparseInnerVectorSet< Derived, 1 > Eigen::SparseMatrixBase< Derived >::col ( Index  i)
Returns:
the i-th column of the matrix *this. For column-major matrix only.

Definition at line 306 of file SparseBlock.h.

template<typename Derived >
const SparseInnerVectorSet< Derived, 1 > Eigen::SparseMatrixBase< Derived >::col ( Index  i) const
Returns:
the i-th column of the matrix *this. For column-major matrix only. (read-only version)

Definition at line 315 of file SparseBlock.h.

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

Definition at line 102 of file SparseMatrixBase.h.

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

Reimplemented from Eigen::EigenBase< Derived >.

Definition at line 130 of file SparseMatrixBase.h.

template<typename Derived>
EIGEN_STRONG_INLINE const CwiseUnaryOp<internal::scalar_abs_op<Scalar>, const Derived> 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 22 of file SparseMatrixBase.h.

template<typename Derived>
EIGEN_STRONG_INLINE const CwiseUnaryOp<internal::scalar_abs2_op<Scalar>, const Derived> 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 32 of file SparseMatrixBase.h.

template<typename Derived>
template<typename OtherDerived >
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 42 of file SparseMatrixBase.h.

template<typename Derived>
const CwiseUnaryOp<std::binder1st<std::equal_to<Scalar> >, const Derived> 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 64 of file SparseMatrixBase.h.

template<typename Derived>
const CwiseUnaryOp<internal::scalar_inverse_op<Scalar>, const Derived> Eigen::SparseMatrixBase< Derived >::cwiseInverse ( ) const [inline]
Returns:
an expression of the coefficient-wise inverse of *this.

Example:

Output:

See also:
cwiseProduct()

Definition at line 52 of file SparseMatrixBase.h.

template<typename Derived>
template<typename OtherDerived >
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 99 of file SparseMatrixBase.h.

template<typename Derived>
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 109 of file SparseMatrixBase.h.

template<typename Derived>
template<typename OtherDerived >
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 75 of file SparseMatrixBase.h.

template<typename Derived>
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 85 of file SparseMatrixBase.h.

template<typename Derived>
template<typename OtherDerived >
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 61 of file SparseMatrixBase.h.

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

Definition at line 317 of file SparseCwiseBinaryOp.h.

template<typename Derived>
template<typename OtherDerived >
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 124 of file SparseMatrixBase.h.

template<typename Derived>
const CwiseUnaryOp<internal::scalar_sqrt_op<Scalar>, const Derived> 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 42 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 128 of file SparseMatrixBase.h.

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

Reimplemented from Eigen::EigenBase< Derived >.

Definition at line 129 of file SparseMatrixBase.h.

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.

template<typename Derived >
template<typename OtherDerived >
internal::traits< Derived >::Scalar Eigen::SparseMatrixBase< Derived >::dot ( const SparseMatrixBase< OtherDerived > &  other) const

Definition at line 42 of file SparseDot.h.

template<typename Derived>
template<typename OtherDerived >
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 22 of file SparseMatrixBase.h.

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 446 of file SparseMatrixBase.h.

template<typename Derived>
template<typename DenseDerived >
void Eigen::SparseMatrixBase< Derived >::evalTo ( MatrixBase< DenseDerived > &  dst) const [inline]

Definition at line 418 of file SparseMatrixBase.h.

template<typename Derived>
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 117 of file SparseMatrixBase.h.

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

Definition at line 173 of file SparseMatrixBase.h.

template<typename Derived>
Index Eigen::SparseMatrixBase< Derived >::innerSize ( ) const [inline]
template<typename Derived >
SparseInnerVectorSet< Derived, 1 > 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 325 of file SparseBlock.h.

template<typename Derived >
const SparseInnerVectorSet< Derived, 1 > 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 332 of file SparseBlock.h.

template<typename Derived >
SparseInnerVectorSet< Derived, Dynamic > 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 375 of file SparseBlock.h.

template<typename Derived >
const SparseInnerVectorSet< Derived, Dynamic > 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 382 of file SparseBlock.h.

template<typename Derived>
template<typename OtherDerived >
bool Eigen::SparseMatrixBase< Derived >::isApprox ( const SparseMatrixBase< OtherDerived > &  other,
RealScalar  prec = NumTraits<Scalar>::dummy_precision() 
) const [inline]

Definition at line 432 of file SparseMatrixBase.h.

template<typename Derived>
template<typename OtherDerived >
bool Eigen::SparseMatrixBase< Derived >::isApprox ( const MatrixBase< OtherDerived > &  other,
RealScalar  prec = NumTraits<Scalar>::dummy_precision() 
) const [inline]

Definition at line 437 of file SparseMatrixBase.h.

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

Definition at line 168 of file SparseMatrixBase.h.

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 160 of file SparseMatrixBase.h.

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

Definition at line 169 of file SparseMatrixBase.h.

template<typename Derived >
SparseInnerVectorSet< Derived, Dynamic > Eigen::SparseMatrixBase< Derived >::middleCols ( Index  start,
Index  size 
)
Returns:
the i-th column of the matrix *this. For column-major matrix only.

Definition at line 354 of file SparseBlock.h.

template<typename Derived >
const SparseInnerVectorSet< Derived, Dynamic > Eigen::SparseMatrixBase< Derived >::middleCols ( Index  start,
Index  size 
) const
Returns:
the i-th column of the matrix *this. For column-major matrix only. (read-only version)

Definition at line 363 of file SparseBlock.h.

template<typename Derived >
SparseInnerVectorSet< Derived, Dynamic > Eigen::SparseMatrixBase< Derived >::middleRows ( Index  start,
Index  size 
)
Returns:
the i-th row of the matrix *this. For row-major matrix only.

Definition at line 337 of file SparseBlock.h.

template<typename Derived >
const SparseInnerVectorSet< Derived, Dynamic > Eigen::SparseMatrixBase< Derived >::middleRows ( Index  start,
Index  size 
) const
Returns:
the i-th row of the matrix *this. For row-major matrix only. (read-only version)

Definition at line 346 of file SparseBlock.h.

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

Definition at line 87 of file SparseDot.h.

template<typename Derived>
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 50 of file SparseMatrixBase.h.

template<typename Derived>
const CwiseUnaryOp<internal::scalar_multiple2_op<Scalar,std::complex<Scalar> >, const Derived> Eigen::SparseMatrixBase< Derived >::operator* ( const std::complex< Scalar > &  scalar) const [inline]

Overloaded for efficient real matrix times complex scalar value

Definition at line 70 of file SparseMatrixBase.h.

template<typename Derived >
template<typename OtherDerived >
const SparseSparseProductReturnType< Derived, OtherDerived >::Type 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 179 of file SparseProduct.h.

template<typename Derived >
template<typename OtherDerived >
const SparseDiagonalProduct< Derived, OtherDerived > Eigen::SparseMatrixBase< Derived >::operator* ( const DiagonalBase< OtherDerived > &  other) const

Definition at line 185 of file SparseDiagonalProduct.h.

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

sparse * dense (returns a dense object unless it is an outer product)

Definition at line 293 of file SparseDenseProduct.h.

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

Definition at line 143 of file SparseCwiseUnaryOp.h.

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 309 of file SparseCwiseBinaryOp.h.

template<typename Derived>
const CwiseUnaryOp<internal::scalar_opposite_op<typename internal::traits<Derived>::Scalar>, const Derived> Eigen::SparseMatrixBase< Derived >::operator- ( ) const [inline]
Returns:
an expression of the opposite of *this

Definition at line 45 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 301 of file SparseCwiseBinaryOp.h.

template<typename Derived>
const CwiseUnaryOp<internal::scalar_quotient1_op<typename internal::traits<Derived>::Scalar>, const Derived> Eigen::SparseMatrixBase< Derived >::operator/ ( const Scalar scalar) const [inline]
Returns:
an expression of *this divided by the scalar value scalar

Definition at line 62 of file SparseMatrixBase.h.

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

Definition at line 153 of file SparseCwiseUnaryOp.h.

template<typename Derived>
template<typename OtherDerived >
Derived& Eigen::SparseMatrixBase< Derived >::operator= ( const EigenBase< OtherDerived > &  other) [inline]
template<typename Derived>
template<typename OtherDerived >
Derived& Eigen::SparseMatrixBase< Derived >::operator= ( const ReturnByValue< OtherDerived > &  other) [inline]
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 >
template<typename Lhs , typename Rhs >
Derived & Eigen::SparseMatrixBase< Derived >::operator= ( const SparseSparseProduct< Lhs, Rhs > &  product) [inline]
template<typename Derived>
Index Eigen::SparseMatrixBase< Derived >::outerSize ( ) const [inline]
template<typename Derived>
RealReturnType Eigen::SparseMatrixBase< Derived >::real ( ) const [inline]
Returns:
a read-only expression of the real part of *this.
See also:
imag()

Definition at line 111 of file SparseMatrixBase.h.

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

Definition at line 167 of file SparseMatrixBase.h.

template<typename Derived >
SparseInnerVectorSet< Derived, 1 > Eigen::SparseMatrixBase< Derived >::row ( Index  i)
Returns:
the i-th row of the matrix *this. For row-major matrix only.

Definition at line 289 of file SparseBlock.h.

template<typename Derived >
const SparseInnerVectorSet< Derived, 1 > Eigen::SparseMatrixBase< Derived >::row ( Index  i) const
Returns:
the i-th row of the matrix *this. For row-major matrix only. (read-only version)

Definition at line 298 of file SparseBlock.h.

template<typename Derived>
Index Eigen::SparseMatrixBase< Derived >::rows ( void  ) const [inline]
template<typename Derived >
template<unsigned int UpLo>
const SparseSelfAdjointView< Derived, UpLo > Eigen::SparseMatrixBase< Derived >::selfadjointView ( ) const [inline]

Definition at line 157 of file SparseSelfAdjointView.h.

template<typename Derived >
template<unsigned int UpLo>
SparseSelfAdjointView< Derived, UpLo > Eigen::SparseMatrixBase< Derived >::selfadjointView ( ) [inline]

Definition at line 164 of file SparseSelfAdjointView.h.

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 152 of file SparseMatrixBase.h.

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

Definition at line 80 of file SparseDot.h.

template<typename Derived>
SparseInnerVectorSet<Derived,Dynamic> Eigen::SparseMatrixBase< Derived >::subcols ( Index  start,
Index  size 
)
template<typename Derived>
const SparseInnerVectorSet<Derived,Dynamic> Eigen::SparseMatrixBase< Derived >::subcols ( Index  start,
Index  size 
) const
template<typename Derived>
SparseInnerVectorSet<Derived,Dynamic> Eigen::SparseMatrixBase< Derived >::subrows ( Index  start,
Index  size 
)
template<typename Derived>
const SparseInnerVectorSet<Derived,Dynamic> Eigen::SparseMatrixBase< Derived >::subrows ( Index  start,
Index  size 
) const
template<typename Derived >
internal::traits< Derived >::Scalar Eigen::SparseMatrixBase< Derived >::sum ( ) const
template<typename Derived>
Matrix<Scalar,RowsAtCompileTime,ColsAtCompileTime> Eigen::SparseMatrixBase< Derived >::toDense ( ) const [inline]

Definition at line 426 of file SparseMatrixBase.h.

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

Definition at line 391 of file SparseMatrixBase.h.

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

Definition at line 392 of file SparseMatrixBase.h.

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

Definition at line 157 of file SparseTriangularView.h.

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

Definition at line 361 of file SparseMatrixBase.h.

template<typename Derived>
template<typename CustomUnaryOp >
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 140 of file SparseMatrixBase.h.

template<typename Derived>
template<typename CustomViewOp >
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 158 of file SparseMatrixBase.h.


Friends And Related Function Documentation

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

Definition at line 77 of file SparseMatrixBase.h.

template<typename Derived>
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 81 of file SparseMatrixBase.h.

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

Definition at line 346 of file SparseMatrixBase.h.

template<typename Derived>
template<typename OtherDerived >
const DenseSparseProductReturnType<OtherDerived,Derived>::Type operator* ( const MatrixBase< OtherDerived > &  lhs,
const Derived &  rhs 
) [friend]

dense * sparse (return a dense object unless it is an outer product)

Definition at line 352 of file SparseMatrixBase.h.

template<typename Derived>
std::ostream& operator<< ( std::ostream &  s,
const SparseMatrixBase< Derived > &  m 
) [friend]

Definition at line 262 of file SparseMatrixBase.h.


Member Data Documentation

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

Definition at line 453 of file SparseMatrixBase.h.


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


win_eigen
Author(s): Daniel Stonier
autogenerated on Wed Sep 16 2015 07:12:58