a sparse vector class More...
#include <SparseVector.h>
Public Member Functions | |
const CwiseBinaryOp < CustomBinaryOp, const SparseVector< _Scalar, _Options, _Index >, const OtherDerived > | binaryExpr (const Eigen::SparseMatrixBase< OtherDerived > &other, const CustomBinaryOp &func=CustomBinaryOp()) const |
internal::cast_return_type < SparseVector< _Scalar, _Options, _Index >, const CwiseUnaryOp < internal::scalar_cast_op < typename internal::traits < SparseVector< _Scalar, _Options, _Index > >::Scalar, NewType >, const SparseVector < _Scalar, _Options, _Index > > >::type | cast () const |
Scalar & | coeffRef (Index i) |
Index | cols () const |
ConjugateReturnType | conjugate () const |
const CwiseUnaryOp < internal::scalar_abs_op < Scalar >, const SparseVector < _Scalar, _Options, _Index > > | cwiseAbs () const |
const CwiseUnaryOp < internal::scalar_abs2_op < Scalar >, const SparseVector < _Scalar, _Options, _Index > > | cwiseAbs2 () const |
const CwiseBinaryOp < std::equal_to< Scalar > , const SparseVector< _Scalar, _Options, _Index >, const OtherDerived > | cwiseEqual (const Eigen::SparseMatrixBase< OtherDerived > &other) const |
const CwiseUnaryOp < std::binder1st < std::equal_to< Scalar > >, const SparseVector < _Scalar, _Options, _Index > > | cwiseEqual (const Scalar &s) const |
const CwiseUnaryOp < internal::scalar_inverse_op < Scalar >, const SparseVector < _Scalar, _Options, _Index > > | cwiseInverse () const |
const CwiseBinaryOp < internal::scalar_max_op < Scalar >, const SparseVector < _Scalar, _Options, _Index > , const OtherDerived > | cwiseMax (const Eigen::SparseMatrixBase< OtherDerived > &other) const |
const CwiseBinaryOp < internal::scalar_max_op < Scalar >, const SparseVector < _Scalar, _Options, _Index > , const ConstantReturnType > | cwiseMax (const Scalar &other) const |
const CwiseBinaryOp < internal::scalar_min_op < Scalar >, const SparseVector < _Scalar, _Options, _Index > , const OtherDerived > | cwiseMin (const Eigen::SparseMatrixBase< OtherDerived > &other) const |
const CwiseBinaryOp < internal::scalar_min_op < Scalar >, const SparseVector < _Scalar, _Options, _Index > , const ConstantReturnType > | cwiseMin (const Scalar &other) const |
const CwiseBinaryOp < std::not_equal_to< Scalar > , const SparseVector< _Scalar, _Options, _Index >, const OtherDerived > | cwiseNotEqual (const Eigen::SparseMatrixBase< OtherDerived > &other) const |
const CwiseBinaryOp < internal::scalar_quotient_op < Scalar >, const SparseVector < _Scalar, _Options, _Index > , const OtherDerived > | cwiseQuotient (const Eigen::SparseMatrixBase< OtherDerived > &other) const |
const CwiseUnaryOp < internal::scalar_sqrt_op < Scalar >, const SparseVector < _Scalar, _Options, _Index > > | cwiseSqrt () const |
SparseVector< _Scalar, _Options, _Index > & | derived () |
const SparseVector< _Scalar, _Options, _Index > & | derived () const |
const | EIGEN_CWISE_PRODUCT_RETURN_TYPE (SparseVector< _Scalar, _Options, _Index >, OtherDerived) cwiseProduct(const Eigen |
EIGEN_DEPRECATED void | endFill () |
const internal::eval < SparseVector< _Scalar, _Options, _Index > >::type | eval () const |
EIGEN_DEPRECATED Scalar & | fill (Index r, Index c) |
EIGEN_DEPRECATED Scalar & | fill (Index i) |
EIGEN_DEPRECATED Scalar & | fillrand (Index r, Index c) |
EIGEN_DEPRECATED Scalar & | fillrand (Index i) |
const ImagReturnType | imag () const |
NonConstImagReturnType | imag () |
Index | innerSize () 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 SparseVector < _Scalar, _Options, _Index > > | operator* (const std::complex< Scalar > &scalar) const |
const SparseDenseProductReturnType < SparseVector< _Scalar, _Options, _Index > , OtherDerived >::Type | operator* (const MatrixBase< OtherDerived > &other) const |
const CwiseUnaryOp < internal::scalar_opposite_op < typename internal::traits < SparseVector< _Scalar, _Options, _Index > >::Scalar > , const SparseVector< _Scalar, _Options, _Index > > | operator- () const |
const CwiseUnaryOp < internal::scalar_quotient1_op < typename internal::traits < SparseVector< _Scalar, _Options, _Index > >::Scalar > , const SparseVector< _Scalar, _Options, _Index > > | operator/ (const Scalar &scalar) const |
Index | outerSize () const |
RealReturnType | real () const |
NonConstRealReturnType | real () |
Index | rows () const |
Index | size () const |
EIGEN_DEPRECATED void | startFill (Index reserve) |
Scalar | sum () const |
SparseSymmetricPermutationProduct < SparseVector< _Scalar, _Options, _Index >, Upper|Lower > | twistedBy (const PermutationMatrix< Dynamic, Dynamic, Index > &perm) const |
const CwiseUnaryOp < CustomUnaryOp, const SparseVector< _Scalar, _Options, _Index > > | unaryExpr (const CustomUnaryOp &func=CustomUnaryOp()) const |
Apply a unary operator coefficient-wise. | |
const CwiseUnaryView < CustomViewOp, const SparseVector< _Scalar, _Options, _Index > > | unaryViewExpr (const CustomViewOp &func=CustomViewOp()) const |
~SparseVector () |
a sparse vector class
_Scalar | the scalar type, i.e. the type of the coefficients |
See http://www.netlib.org/linalg/html_templates/node91.html for details on the storage scheme.
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_SPARSEVECTOR_PLUGIN
.
|
inline |
Destructor
|
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.
|
inline |
This insertion might be very costly if the number of nonzeros above i is large.
|
inline |
Reimplemented from SparseMatrixBase< SparseVector< _Scalar, _Options, _Index > >.
|
inlineinherited |
*this
.
|
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 |
Example:
Output:
0.5 1.5 1.33
|
inlineinherited |
Example:
Output:
1 1.41 2
|
inlineinherited |
|
inlineinherited |
|
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
|
inline |
|
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 |
|
inline |
|
inline |
|
inline |
|
inlineinherited |
*this
.
|
inlineinherited |
*this
.
|
inline |
Reimplemented from SparseMatrixBase< SparseVector< _Scalar, _Options, _Index > >.
|
inlineinherited |
|
inline |
Reimplemented from SparseMatrixBase< SparseVector< _Scalar, _Options, _Index > >.
|
inlineinherited |
*this
scaled by the scalar factor scalar
|
inlineinherited |
Overloaded for efficient real matrix times complex scalar value
|
inherited |
sparse * dense (returns a dense object unless it is an outer product)
|
inlineinherited |
*this
|
inlineinherited |
*this
divided by the scalar value scalar
|
inline |
Reimplemented from SparseMatrixBase< SparseVector< _Scalar, _Options, _Index > >.
|
inlineinherited |
*this
.
|
inlineinherited |
*this
.
|
inline |
Reimplemented from SparseMatrixBase< SparseVector< _Scalar, _Options, _Index > >.
|
inlineinherited |
Reimplemented from EigenBase< SparseVector< _Scalar, _Options, _Index > >.
|
inline |
internal::traits< SparseVector< _Scalar, _Options, _Index > >::Scalar sum | ( | ) | const |
Overloaded for performance
Reimplemented from SparseMatrixBase< SparseVector< _Scalar, _Options, _Index > >.
|
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