Base class of any sparse matrices or sparse expressions. More...
Public Types | |
enum | { RowsAtCompileTime, ColsAtCompileTime, SizeAtCompileTime , IsVectorAtCompileTime, Flags, CoeffReadCost } |
Public Member Functions | |
template<typename CustomBinaryOp , typename OtherDerived > | |
const CwiseBinaryOp < CustomBinaryOp, const Derived, const OtherDerived > | binaryExpr (const Eigen::SparseMatrixBase< 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 |
const CwiseUnaryOp < internal::scalar_abs_op < Scalar >, const Derived > | cwiseAbs () const |
const CwiseUnaryOp < internal::scalar_abs2_op < Scalar >, const Derived > | cwiseAbs2 () const |
template<typename OtherDerived > | |
const | CwiseBinaryOp (operator-)(const Eigen |
template<typename OtherDerived > | |
const | CwiseBinaryOp (operator+)(const Eigen |
template<typename OtherDerived > | |
const CwiseBinaryOp < std::equal_to< Scalar > , const Derived, const OtherDerived > | cwiseEqual (const Eigen::SparseMatrixBase< 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 > | |
const CwiseBinaryOp < internal::scalar_max_op < Scalar >, const Derived, const OtherDerived > | cwiseMax (const Eigen::SparseMatrixBase< OtherDerived > &other) const |
template<typename OtherDerived > | |
const CwiseBinaryOp < internal::scalar_min_op < Scalar >, const Derived, const OtherDerived > | cwiseMin (const Eigen::SparseMatrixBase< OtherDerived > &other) const |
template<typename OtherDerived > | |
const CwiseBinaryOp < std::not_equal_to< Scalar > , const Derived, const OtherDerived > | cwiseNotEqual (const Eigen::SparseMatrixBase< OtherDerived > &other) const |
template<typename OtherDerived > | |
const CwiseBinaryOp < internal::scalar_product_op < typename internal::traits < Derived >::Scalar, typename internal::traits< OtherDerived > ::Scalar >, const Derived, const OtherDerived > | cwiseProduct (const Eigen::SparseMatrixBase< OtherDerived > &other) const |
template<typename OtherDerived > | |
const CwiseBinaryOp < internal::scalar_quotient_op < Scalar >, const Derived, const OtherDerived > | cwiseQuotient (const Eigen::SparseMatrixBase< OtherDerived > &other) const |
const CwiseUnaryOp < internal::scalar_sqrt_op < Scalar >, const Derived > | cwiseSqrt () const |
const internal::eval< Derived > ::type | eval () 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 |
bool | isVector () const |
Index | nonZeros () 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 SparseDenseProductReturnType < Derived, OtherDerived > ::Type | operator* (const MatrixBase< OtherDerived > &other) const |
const CwiseUnaryOp < internal::scalar_opposite_op < typename internal::traits < Derived >::Scalar >, const Derived > | operator- () const |
const CwiseUnaryOp < internal::scalar_quotient1_op < typename internal::traits < Derived >::Scalar >, const Derived > | operator/ (const Scalar &scalar) const |
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 |
Index | size () 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 |
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 |
![]() | |
Derived & | derived () |
const Derived & | derived () const |
Friends | |
template<typename OtherDerived > | |
const DenseSparseProductReturnType < OtherDerived, Derived > ::Type | operator* (const MatrixBase< OtherDerived > &lhs, const Derived &rhs) |
Base class of any sparse matrices or sparse expressions.
Derived | This class can be extended with the help of the plugin mechanism described on the page Customizing/Extending Eigen by defining the preprocessor symbol EIGEN_SPARSEMATRIXBASE_PLUGIN . |
anonymous enum |
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.
|
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.
|
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.
|
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. |
|
inline |
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)
|
inline |
The template parameter NewScalar is the type we are casting the scalars to.
SparseInnerVectorSet< Derived, 1 > col | ( | Index | i | ) |
*this
. For column-major matrix only. const SparseInnerVectorSet< Derived, 1 > col | ( | Index | i | ) | const |
*this
. For column-major matrix only. (read-only version)
|
inline |
Reimplemented from EigenBase< Derived >.
Reimplemented in SparseMatrix< _Scalar, _Options, _Index >, SparseMatrix< Scalar, ColMajor, Index >, SparseMatrix< Scalar >, DynamicSparseMatrix< _Scalar, _Options, _Index >, SparseVector< _Scalar, _Options, _Index >, and MappedSparseMatrix< _Scalar, _Flags, _Index >.
|
inline |
*this
.
|
inline |
*this
Example:
Output:
2 4 6 5 1 0
|
inline |
*this
Example:
Output:
4 16 36 25 1 0
|
inline |
*this
and other
|
inline |
*this
and other
|
inline |
Example:
Output:
Comparing m with identity matrix: 1 1 0 1 Number of coefficients that are equal: 3
|
inline |
*this
and a scalar s
|
inline |
Example:
Output:
0.5 2 1 0.333 4 1
|
inline |
Example:
Output:
4 3 4
|
inline |
Example:
Output:
2 2 3
|
inline |
Example:
Output:
Comparing m with identity matrix: 0 0 1 0 Number of coefficients that are not equal: 1
|
inline |
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
|
inline |
Example:
Output:
0.5 1.5 1.33
|
inline |
Example:
Output:
1 1.41 2
|
inline |
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 |
*this
.
|
inline |
*this
.
|
inline |
Reimplemented in SparseMatrix< _Scalar, _Options, _Index >, SparseMatrix< Scalar, ColMajor, Index >, SparseMatrix< Scalar >, DynamicSparseMatrix< _Scalar, _Options, _Index >, SparseVector< _Scalar, _Options, _Index >, and MappedSparseMatrix< _Scalar, _Flags, _Index >.
SparseInnerVectorSet< Derived, 1 > innerVector | ( | Index | outer | ) |
*this
if *this
is col-major (resp. row-major). const SparseInnerVectorSet< Derived, 1 > innerVector | ( | Index | outer | ) | const |
*this
if *this
is col-major (resp. row-major). Read-only. SparseInnerVectorSet< Derived, Dynamic > innerVectors | ( | Index | outerStart, |
Index | outerSize | ||
) |
*this
if *this
is col-major (resp. row-major). const SparseInnerVectorSet< Derived, Dynamic > innerVectors | ( | Index | outerStart, |
Index | outerSize | ||
) | const |
*this
if *this
is col-major (resp. row-major). Read-only.
|
inline |
|
inline |
Reimplemented in SparseMatrix< _Scalar, _Options, _Index >, SparseMatrix< Scalar, ColMajor, Index >, SparseMatrix< Scalar >, SparseVector< _Scalar, _Options, _Index >, DynamicSparseMatrix< _Scalar, _Options, _Index >, and MappedSparseMatrix< _Scalar, _Flags, _Index >.
|
inline |
*this
scaled by the scalar factor scalar
|
inline |
Overloaded for efficient real matrix times complex scalar value
|
inline |
sparse * dense (returns a dense object unless it is an outer product)
|
inline |
*this
|
inline |
*this
divided by the scalar value scalar
|
inline |
Reimplemented in SparseMatrix< _Scalar, _Options, _Index >, SparseMatrix< Scalar, ColMajor, Index >, SparseMatrix< Scalar >, DynamicSparseMatrix< _Scalar, _Options, _Index >, SparseVector< _Scalar, _Options, _Index >, and MappedSparseMatrix< _Scalar, _Flags, _Index >.
|
inline |
*this
.
|
inline |
*this
.SparseInnerVectorSet< Derived, 1 > row | ( | Index | i | ) |
*this
. For row-major matrix only. const SparseInnerVectorSet< Derived, 1 > row | ( | Index | i | ) | const |
*this
. For row-major matrix only. (read-only version)
|
inline |
Reimplemented from EigenBase< Derived >.
Reimplemented in SparseMatrix< _Scalar, _Options, _Index >, SparseMatrix< Scalar, ColMajor, Index >, SparseMatrix< Scalar >, DynamicSparseMatrix< _Scalar, _Options, _Index >, SparseVector< _Scalar, _Options, _Index >, and MappedSparseMatrix< _Scalar, _Flags, _Index >.
|
inline |
Reimplemented from EigenBase< Derived >.
SparseInnerVectorSet< Derived, Dynamic > subcols | ( | Index | start, |
Index | size | ||
) |
*this
. For column-major matrix only. const SparseInnerVectorSet< Derived, Dynamic > subcols | ( | Index | start, |
Index | size | ||
) | const |
*this
. For column-major matrix only. (read-only version) SparseInnerVectorSet< Derived, Dynamic > subrows | ( | Index | start, |
Index | size | ||
) |
*this
. For row-major matrix only. const SparseInnerVectorSet< Derived, Dynamic > subrows | ( | Index | start, |
Index | size | ||
) | const |
*this
. For row-major matrix only. (read-only version) internal::traits< Derived >::Scalar sum | ( | ) | const |
Reimplemented in SparseMatrix< _Scalar, _Options, _Index >, SparseMatrix< Scalar, ColMajor, Index >, SparseMatrix< Scalar >, and SparseVector< _Scalar, _Options, _Index >.
|
inline |
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
|
inline |
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
|
friend |
dense * sparse (return a dense object unless it is an outer product)