#include <SparseProduct.h>
Public Types | |
enum | |
typedef internal::conditional < NumTraits< Scalar > ::IsComplex, CwiseUnaryOp < internal::scalar_conjugate_op < Scalar >, Eigen::Transpose < const SparseSparseProduct < LhsNested, RhsNested > > >, Transpose< const SparseSparseProduct< LhsNested, RhsNested > > >::type | AdjointReturnType |
typedef SparseMatrixBase < SparseSparseProduct > | Base |
typedef internal::traits < SparseSparseProduct < LhsNested, RhsNested > >::Index | Index |
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::traits < SparseSparseProduct < LhsNested, RhsNested > >::Scalar | Scalar |
typedef SparseMatrixBase | StorageBaseType |
typedef internal::traits < SparseSparseProduct < LhsNested, RhsNested > >::StorageKind | StorageKind |
Public Member Functions | |
void | addTo (Dest &dst) const |
const AdjointReturnType | adjoint () const |
void | applyThisOnTheLeft (Dest &dst) const |
void | applyThisOnTheRight (Dest &dst) const |
const CwiseBinaryOp < CustomBinaryOp, const SparseSparseProduct< LhsNested, RhsNested >, const OtherDerived > | binaryExpr (const Eigen::SparseMatrixBase< OtherDerived > &other, const CustomBinaryOp &func=CustomBinaryOp()) const |
internal::cast_return_type < SparseSparseProduct < LhsNested, RhsNested > , const CwiseUnaryOp < internal::scalar_cast_op < typename internal::traits < SparseSparseProduct < LhsNested, RhsNested > >::Scalar, NewType >, const SparseSparseProduct< LhsNested, RhsNested > > >::type | cast () const |
SparseInnerVectorSet < SparseSparseProduct < LhsNested, RhsNested >, 1 > | col (Index j) |
const SparseInnerVectorSet < SparseSparseProduct < LhsNested, RhsNested >, 1 > | col (Index j) const |
Index | cols () const |
ConjugateReturnType | conjugate () const |
SparseSparseProduct< LhsNested, RhsNested > & | const_cast_derived () const |
const SparseSparseProduct < LhsNested, RhsNested > & | const_derived () const |
const CwiseUnaryOp < internal::scalar_abs_op < Scalar >, const SparseSparseProduct< LhsNested, RhsNested > > | cwiseAbs () const |
const CwiseUnaryOp < internal::scalar_abs2_op < Scalar >, const SparseSparseProduct< LhsNested, RhsNested > > | cwiseAbs2 () const |
const CwiseBinaryOp < std::equal_to< Scalar > , const SparseSparseProduct < LhsNested, RhsNested > , const OtherDerived > | cwiseEqual (const Eigen::SparseMatrixBase< OtherDerived > &other) const |
const CwiseUnaryOp < std::binder1st < std::equal_to< Scalar > >, const SparseSparseProduct < LhsNested, RhsNested > > | cwiseEqual (const Scalar &s) const |
const CwiseUnaryOp < internal::scalar_inverse_op < Scalar >, const SparseSparseProduct< LhsNested, RhsNested > > | cwiseInverse () const |
const CwiseBinaryOp < internal::scalar_max_op < Scalar >, const SparseSparseProduct< LhsNested, RhsNested >, const OtherDerived > | cwiseMax (const Eigen::SparseMatrixBase< OtherDerived > &other) const |
const CwiseBinaryOp < internal::scalar_max_op < Scalar >, const SparseSparseProduct< LhsNested, RhsNested >, const ConstantReturnType > | cwiseMax (const Scalar &other) const |
const CwiseBinaryOp < internal::scalar_min_op < Scalar >, const SparseSparseProduct< LhsNested, RhsNested >, const OtherDerived > | cwiseMin (const Eigen::SparseMatrixBase< OtherDerived > &other) const |
const CwiseBinaryOp < internal::scalar_min_op < Scalar >, const SparseSparseProduct< LhsNested, RhsNested >, const ConstantReturnType > | cwiseMin (const Scalar &other) const |
const CwiseBinaryOp < std::not_equal_to< Scalar > , const SparseSparseProduct < LhsNested, RhsNested > , const OtherDerived > | cwiseNotEqual (const Eigen::SparseMatrixBase< OtherDerived > &other) const |
const EIGEN_SPARSE_CWISE_PRODUCT_RETURN_TYPE | cwiseProduct (const MatrixBase< OtherDerived > &other) const |
const CwiseBinaryOp < internal::scalar_quotient_op < Scalar >, const SparseSparseProduct< LhsNested, RhsNested >, const OtherDerived > | cwiseQuotient (const Eigen::SparseMatrixBase< OtherDerived > &other) const |
const CwiseUnaryOp < internal::scalar_sqrt_op < Scalar >, const SparseSparseProduct< LhsNested, RhsNested > > | cwiseSqrt () const |
SparseSparseProduct< LhsNested, RhsNested > & | derived () |
const SparseSparseProduct < LhsNested, RhsNested > & | derived () const |
Scalar | dot (const MatrixBase< OtherDerived > &other) const |
Scalar | dot (const SparseMatrixBase< OtherDerived > &other) const |
const | EIGEN_CWISE_PRODUCT_RETURN_TYPE (SparseSparseProduct< LhsNested, RhsNested >, OtherDerived) cwiseProduct(const Eigen |
const internal::eval < SparseSparseProduct < LhsNested, RhsNested > >::type | eval () const |
template<typename Dest > | |
void | evalTo (Dest &result) const |
void | evalTo (MatrixBase< DenseDerived > &dst) const |
const ImagReturnType | imag () const |
NonConstImagReturnType | imag () |
Index | innerSize () const |
SparseInnerVectorSet < SparseSparseProduct < LhsNested, RhsNested >, 1 > | innerVector (Index outer) |
const SparseInnerVectorSet < SparseSparseProduct < LhsNested, RhsNested >, 1 > | innerVector (Index outer) const |
SparseInnerVectorSet < SparseSparseProduct < LhsNested, RhsNested > , Dynamic > | innerVectors (Index outerStart, Index outerSize) |
const SparseInnerVectorSet < SparseSparseProduct < LhsNested, RhsNested > , Dynamic > | innerVectors (Index outerStart, Index outerSize) const |
bool | isApprox (const SparseMatrixBase< OtherDerived > &other, RealScalar prec=NumTraits< Scalar >::dummy_precision()) const |
bool | isApprox (const MatrixBase< OtherDerived > &other, RealScalar prec=NumTraits< Scalar >::dummy_precision()) const |
bool | isRValue () const |
bool | isVector () const |
const _LhsNested & | lhs () const |
SparseSparseProduct< LhsNested, RhsNested > & | markAsRValue () |
SparseInnerVectorSet < SparseSparseProduct < LhsNested, RhsNested > , Dynamic > | middleCols (Index start, Index size) |
const SparseInnerVectorSet < SparseSparseProduct < LhsNested, RhsNested > , Dynamic > | middleCols (Index start, Index size) const |
SparseInnerVectorSet < SparseSparseProduct < LhsNested, RhsNested > , Dynamic > | middleRows (Index start, Index size) |
const SparseInnerVectorSet < SparseSparseProduct < LhsNested, RhsNested > , Dynamic > | middleRows (Index start, Index size) const |
Index | nonZeros () const |
RealScalar | norm () const |
const ScalarMultipleReturnType | operator* (const Scalar &scalar) const |
const ScalarMultipleReturnType | operator* (const RealScalar &scalar) const |
const CwiseUnaryOp < internal::scalar_multiple2_op < Scalar, std::complex< Scalar > >, const SparseSparseProduct < LhsNested, RhsNested > > | operator* (const std::complex< Scalar > &scalar) const |
const SparseSparseProductReturnType < SparseSparseProduct < LhsNested, RhsNested > , OtherDerived >::Type | operator* (const SparseMatrixBase< OtherDerived > &other) const |
const SparseDiagonalProduct < SparseSparseProduct < LhsNested, RhsNested > , OtherDerived > | operator* (const DiagonalBase< OtherDerived > &other) const |
const SparseDenseProductReturnType < SparseSparseProduct < LhsNested, RhsNested > , OtherDerived >::Type | operator* (const MatrixBase< OtherDerived > &other) const |
SparseSparseProduct< LhsNested, RhsNested > & | operator*= (const Scalar &other) |
SparseSparseProduct< LhsNested, RhsNested > & | operator*= (const SparseMatrixBase< OtherDerived > &other) |
SparseSparseProduct< LhsNested, RhsNested > & | operator+= (const SparseMatrixBase< OtherDerived > &other) |
const CwiseUnaryOp < internal::scalar_opposite_op < typename internal::traits < SparseSparseProduct < LhsNested, RhsNested > >::Scalar >, const SparseSparseProduct< LhsNested, RhsNested > > | operator- () const |
SparseSparseProduct< LhsNested, RhsNested > & | operator-= (const SparseMatrixBase< OtherDerived > &other) |
const CwiseUnaryOp < internal::scalar_quotient1_op < typename internal::traits < SparseSparseProduct < LhsNested, RhsNested > >::Scalar >, const SparseSparseProduct< LhsNested, RhsNested > > | operator/ (const Scalar &scalar) const |
SparseSparseProduct< LhsNested, RhsNested > & | operator/= (const Scalar &other) |
Index | outerSize () const |
SparseSparseProduct | pruned (Scalar reference=0, RealScalar epsilon=NumTraits< RealScalar >::dummy_precision()) const |
RealReturnType | real () const |
NonConstRealReturnType | real () |
const _RhsNested & | rhs () const |
SparseInnerVectorSet < SparseSparseProduct < LhsNested, RhsNested >, 1 > | row (Index i) |
const SparseInnerVectorSet < SparseSparseProduct < LhsNested, RhsNested >, 1 > | row (Index i) const |
Index | rows () const |
const SparseSelfAdjointView < SparseSparseProduct < LhsNested, RhsNested >, UpLo > | selfadjointView () const |
SparseSelfAdjointView < SparseSparseProduct < LhsNested, RhsNested >, UpLo > | selfadjointView () |
Index | size () const |
template<typename Lhs , typename Rhs > | |
SparseSparseProduct (const Lhs &lhs, const Rhs &rhs) | |
template<typename Lhs , typename Rhs > | |
SparseSparseProduct (const Lhs &lhs, const Rhs &rhs, RealScalar tolerance) | |
RealScalar | squaredNorm () const |
SparseInnerVectorSet < SparseSparseProduct < LhsNested, RhsNested > , Dynamic > | subcols (Index start, Index size) |
const SparseInnerVectorSet < SparseSparseProduct < LhsNested, RhsNested > , Dynamic > | subcols (Index start, Index size) const |
SparseInnerVectorSet < SparseSparseProduct < LhsNested, RhsNested > , Dynamic > | subrows (Index start, Index size) |
const SparseInnerVectorSet < SparseSparseProduct < LhsNested, RhsNested > , Dynamic > | subrows (Index start, Index size) const |
void | subTo (Dest &dst) const |
Scalar | sum () const |
Matrix< Scalar, RowsAtCompileTime, ColsAtCompileTime > | toDense () const |
Transpose< SparseSparseProduct < LhsNested, RhsNested > > | transpose () |
const Transpose< const SparseSparseProduct< LhsNested, RhsNested > > | transpose () const |
const SparseTriangularView < SparseSparseProduct < LhsNested, RhsNested >, Mode > | triangularView () const |
SparseSymmetricPermutationProduct < SparseSparseProduct < LhsNested, RhsNested > , Upper|Lower > | twistedBy (const PermutationMatrix< Dynamic, Dynamic, Index > &perm) const |
const CwiseUnaryOp < CustomUnaryOp, const SparseSparseProduct< LhsNested, RhsNested > > | unaryExpr (const CustomUnaryOp &func=CustomUnaryOp()) const |
Apply a unary operator coefficient-wise. | |
const CwiseUnaryView < CustomViewOp, const SparseSparseProduct< LhsNested, RhsNested > > | unaryViewExpr (const CustomViewOp &func=CustomViewOp()) const |
Protected Member Functions | |
SparseSparseProduct< LhsNested, RhsNested > & | assign (const OtherDerived &other) |
void | assignGeneric (const OtherDerived &other) |
void | init () |
Protected Attributes | |
bool | m_conservative |
bool | m_isRValue |
LhsNested | m_lhs |
RhsNested | m_rhs |
RealScalar | m_tolerance |
|
inherited |
typedef SparseMatrixBase<SparseSparseProduct> Base |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inline |
|
inline |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineinherited |
*this
and other *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:
(0.68,0.271) (0.823,-0.967) (-0.444,-0.687) (-0.27,0.998) (-0.211,0.435) (-0.605,-0.514) (0.108,-0.198) (0.0268,-0.563) (0.566,-0.717) (-0.33,-0.726) (-0.0452,-0.74) (0.904,0.0259) (0.597,0.214) (0.536,0.608) (0.258,-0.782) (0.832,0.678)
|
inlineinherited |
The template parameter NewScalar is the type we are casting the scalars to.
|
inherited |
*this
. For column-major matrix only.
|
inherited |
*this
. For column-major matrix only. (read-only version)
|
inline |
|
inlineinherited |
*this
.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
*this
Example:
Output:
2 4 6 5 1 0
|
inlineinherited |
*this
Example:
Output:
4 16 36 25 1 0
|
inlineinherited |
Example:
Output:
Comparing m with identity matrix: 1 1 0 1 Number of coefficients that are equal: 3
|
inlineinherited |
*this
and a scalar s
|
inlineinherited |
Example:
Output:
0.5 2 1 0.333 4 1
|
inlineinherited |
Example:
Output:
4 3 4
|
inlineinherited |
|
inlineinherited |
Example:
Output:
2 2 3
|
inlineinherited |
|
inlineinherited |
Example:
Output:
Comparing m with identity matrix: 0 0 1 0 Number of coefficients that are not equal: 1
|
inlineinherited |
|
inlineinherited |
Example:
Output:
0.5 1.5 1.33
|
inlineinherited |
Example:
Output:
1 1.41 2
|
inlineinherited |
|
inlineinherited |
|
inherited |
|
inherited |
|
inlineinherited |
Example:
Output:
a: 7 6 -3 -2 9 6 6 -6 -5 b: 1 -3 9 0 0 3 3 9 5 c: 7 -18 -27 0 0 18 18 -54 -25
|
inlineinherited |
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.
|
inline |
Referenced by SparseMatrixBase< Derived >::operator=().
|
inlineinherited |
|
inlineinherited |
*this
.
|
inlineinherited |
*this
.
|
inlineprotected |
References Eigen::Dynamic, eigen_assert, EIGEN_PREDICATE_SAME_MATRIX_SIZE, and EIGEN_STATIC_ASSERT.
|
inlineinherited |
|
inherited |
*this
if *this
is col-major (resp. row-major).
|
inherited |
*this
if *this
is col-major (resp. row-major). Read-only.
|
inherited |
*this
if *this
is col-major (resp. row-major).
|
inherited |
*this
if *this
is col-major (resp. row-major). Read-only.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inline |
|
inlineinherited |
|
inherited |
*this
. For column-major matrix only.
|
inherited |
*this
. For column-major matrix only. (read-only version)
|
inherited |
*this
. For row-major matrix only.
|
inherited |
*this
. For row-major matrix only. (read-only version)
|
inlineinherited |
|
inherited |
|
inlineinherited |
*this
scaled by the scalar factor scalar
|
inherited |
|
inlineinherited |
Overloaded for efficient real matrix times complex scalar value
|
inherited |
ref
is a meaningful non zero reference value.
|
inherited |
|
inherited |
sparse * dense (returns a dense object unless it is an outer product)
|
inherited |
|
inherited |
|
inherited |
|
inlineinherited |
*this
|
inherited |
|
inlineinherited |
*this
divided by the scalar value scalar
|
inherited |
|
inlineinherited |
|
inline |
References abs().
|
inlineinherited |
*this
.
|
inlineinherited |
*this
.
|
inline |
|
inherited |
*this
. For row-major matrix only.
|
inherited |
*this
. For row-major matrix only. (read-only version)
|
inline |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
Reimplemented from EigenBase< SparseSparseProduct< LhsNested, RhsNested > >.
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inlineinherited |
|
inherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
*this
|
inlineinherited |
Apply a unary operator coefficient-wise.
[in] | func | Functor implementing the unary operator |
CustomUnaryOp | Type of func |
The function ptr_fun()
from the C++ standard library can be used to make functors out of normal functions.
Example:
Output:
0.68 0.823 -0.444 -0.27 -0.211 -0.605 0.108 0.0268 0.566 -0.33 -0.0452 0.904 0.597 0.536 0.258 0.832 becomes: 0.68 0.823 0 0 0 0 0.108 0.0268 0.566 0 0 0.904 0.597 0.536 0.258 0.832
Genuine functors allow for more possibilities, for instance it may contain a state.
Example:
Output:
0.68 0.823 -0.444 -0.27 -0.211 -0.605 0.108 0.0268 0.566 -0.33 -0.0452 0.904 0.597 0.536 0.258 0.832 becomes: 0.5 0.5 -0.444 -0.27 -0.211 -0.5 0.108 0.0268 0.5 -0.33 -0.0452 0.5 0.5 0.5 0.258 0.5
|
inlineinherited |
The template parameter CustomUnaryOp is the type of the functor of the custom unary operator.
Example:
Output:
0.68 0.823 -0.444 -0.27 -0.211 -0.605 0.108 0.0268 0.566 -0.33 -0.0452 0.904 0.597 0.536 0.258 0.832 becomes: 0.5 0.5 -0.444 -0.27 -0.211 -0.5 0.108 0.0268 0.5 -0.33 -0.0452 0.5 0.5 0.5 0.258 0.5
|
protected |
|
protectedinherited |
|
protected |
|
protected |
|
protected |