Base class of any sparse matrices or sparse expressions. More...
#include <SparseMatrixBase.h>
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::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 | |
template<typename Lhs , typename Rhs > | |
void | _experimentalNewProduct (const Lhs &lhs, const Rhs &rhs) |
const AdjointReturnType | adjoint () const |
template<typename OtherDerived > | |
void | assignGeneric (const OtherDerived &other) |
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 |
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 |
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 () |
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) |
Derived & | operator= (const Derived &other) |
template<typename OtherDerived > | |
Derived & | operator= (const ReturnByValue< OtherDerived > &other) |
template<typename OtherDerived > | |
Derived & | operator= (const SparseMatrixBase< OtherDerived > &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 |
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 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) |
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 . |
Definition at line 39 of file SparseMatrixBase.h.
typedef internal::conditional<NumTraits<Scalar>::IsComplex, CwiseUnaryOp<internal::scalar_conjugate_op<Scalar>, Eigen::Transpose<const Derived> >, Transpose<const Derived> >::type SparseMatrixBase< Derived >::AdjointReturnType |
Definition at line 123 of file SparseMatrixBase.h.
typedef EigenBase<Derived> SparseMatrixBase< Derived >::Base |
Reimplemented in SparseSparseProduct< LhsNested, RhsNested >, and SparseDenseOuterProduct< Lhs, Rhs, Tr >.
Definition at line 49 of file SparseMatrixBase.h.
typedef internal::conditional<_HasDirectAccess, const Scalar&, Scalar>::type SparseMatrixBase< Derived >::CoeffReturnType |
Definition at line 150 of file SparseMatrixBase.h.
typedef internal::conditional<NumTraits<Scalar>::IsComplex, const CwiseUnaryOp<internal::scalar_conjugate_op<Scalar>, const Derived>, const Derived& >::type SparseMatrixBase< Derived >::ConjugateReturnType |
Definition at line 39 of file SparseMatrixBase.h.
typedef CwiseNullaryOp<internal::scalar_constant_op<Scalar>,Matrix<Scalar,Dynamic,Dynamic> > SparseMatrixBase< Derived >::ConstantReturnType |
Definition at line 153 of file SparseMatrixBase.h.
typedef CwiseUnaryOp<internal::scalar_imag_op<Scalar>, const Derived> SparseMatrixBase< Derived >::ImagReturnType |
Definition at line 51 of file SparseMatrixBase.h.
typedef internal::traits<Derived>::Index SparseMatrixBase< Derived >::Index |
Reimplemented from EigenBase< Derived >.
Definition at line 46 of file SparseMatrixBase.h.
typedef CwiseUnaryView<internal::scalar_imag_ref_op<Scalar>, Derived> SparseMatrixBase< Derived >::NonConstImagReturnType |
Definition at line 53 of file SparseMatrixBase.h.
typedef internal::conditional<NumTraits<Scalar>::IsComplex, CwiseUnaryView<internal::scalar_real_ref_op<Scalar>, Derived>, Derived& >::type SparseMatrixBase< Derived >::NonConstRealReturnType |
Definition at line 49 of file SparseMatrixBase.h.
typedef internal::packet_traits<Scalar>::type SparseMatrixBase< Derived >::PacketScalar |
Definition at line 44 of file SparseMatrixBase.h.
typedef SparseMatrix<Scalar, Flags&RowMajorBit ? RowMajor : ColMajor> SparseMatrixBase< Derived >::PlainObject |
Definition at line 126 of file SparseMatrixBase.h.
typedef internal::conditional<NumTraits<Scalar>::IsComplex, const CwiseUnaryOp<internal::scalar_real_op<Scalar>, const Derived>, const Derived& >::type SparseMatrixBase< Derived >::RealReturnType |
Definition at line 44 of file SparseMatrixBase.h.
typedef NumTraits<Scalar>::Real 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.
Definition at line 146 of file SparseMatrixBase.h.
typedef internal::traits<Derived>::Scalar SparseMatrixBase< Derived >::Scalar |
Definition at line 43 of file SparseMatrixBase.h.
typedef CwiseUnaryOp<internal::scalar_multiple_op<Scalar>, const Derived> SparseMatrixBase< Derived >::ScalarMultipleReturnType |
Definition at line 32 of file SparseMatrixBase.h.
typedef CwiseUnaryOp<internal::scalar_quotient1_op<Scalar>, const Derived> SparseMatrixBase< Derived >::ScalarQuotient1ReturnType |
Definition at line 34 of file SparseMatrixBase.h.
typedef Matrix<Scalar,EIGEN_SIZE_MAX(RowsAtCompileTime,ColsAtCompileTime), EIGEN_SIZE_MAX(RowsAtCompileTime,ColsAtCompileTime)> SparseMatrixBase< Derived >::SquareMatrixType |
type of the equivalent square matrix
Definition at line 157 of file SparseMatrixBase.h.
typedef SparseMatrixBase SparseMatrixBase< Derived >::StorageBaseType |
Definition at line 48 of file SparseMatrixBase.h.
typedef internal::traits<Derived>::StorageKind SparseMatrixBase< Derived >::StorageKind |
Reimplemented from EigenBase< Derived >.
Definition at line 45 of file SparseMatrixBase.h.
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.
|
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 60 of file SparseMatrixBase.h.
SparseMatrixBase< Derived >::SparseMatrixBase | ( | ) | [inline] |
Definition at line 190 of file SparseMatrixBase.h.
void SparseMatrixBase< Derived >::_experimentalNewProduct | ( | const Lhs & | lhs, |
const Rhs & | rhs | ||
) | [inline] |
Definition at line 383 of file SparseSparseProduct.h.
const AdjointReturnType SparseMatrixBase< Derived >::adjoint | ( | ) | const [inline] |
Definition at line 430 of file SparseMatrixBase.h.
void SparseMatrixBase< Derived >::assignGeneric | ( | const OtherDerived & | other | ) | [inline] |
Definition at line 211 of file SparseMatrixBase.h.
EIGEN_STRONG_INLINE const CwiseBinaryOp<CustomBinaryOp, const Derived, const OtherDerived> SparseMatrixBase< Derived >::binaryExpr | ( | const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > & | other, |
const CustomBinaryOp & | func = CustomBinaryOp() |
||
) | const [inline] |
*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:
#include <Eigen/Core> #include <iostream> using namespace Eigen; using namespace std; // define a custom template binary functor template<typename Scalar> struct MakeComplexOp { EIGEN_EMPTY_STRUCT_CTOR(MakeComplexOp) typedef complex<Scalar> result_type; complex<Scalar> operator()(const Scalar& a, const Scalar& b) const { return complex<Scalar>(a,b); } }; int main(int, char**) { Matrix4d m1 = Matrix4d::Random(), m2 = Matrix4d::Random(); cout << m1.binaryExpr(m2, MakeComplexOp<double>()) << endl; return 0; }
Output:
Definition at line 58 of file SparseMatrixBase.h.
internal::cast_return_type<Derived,const CwiseUnaryOp<internal::scalar_cast_op<typename internal::traits<Derived>::Scalar, NewType>, const Derived> >::type SparseMatrixBase< Derived >::cast | ( | ) | const [inline] |
The template parameter NewScalar is the type we are casting the scalars to.
Definition at line 108 of file SparseMatrixBase.h.
SparseInnerVectorSet< Derived, 1 > SparseMatrixBase< Derived >::col | ( | Index | i | ) |
*this
. For column-major matrix only. Definition at line 386 of file SparseBlock.h.
const SparseInnerVectorSet< Derived, 1 > SparseMatrixBase< Derived >::col | ( | Index | i | ) | const |
*this
. For column-major matrix only. (read-only version) Definition at line 395 of file SparseBlock.h.
Index SparseMatrixBase< Derived >::cols | ( | void | ) | const [inline] |
Reimplemented from EigenBase< Derived >.
Reimplemented in SparseInnerVectorSet< SparseMatrix< _Scalar, _Options, _Index >, Size >, SparseInnerVectorSet< DynamicSparseMatrix< _Scalar, _Options >, Size >, SparseSparseProduct< LhsNested, RhsNested >, SparseDenseOuterProduct< Lhs, Rhs, Tr >, SparseDiagonalProduct< Lhs, Rhs >, SparseMatrix< _Scalar, _Options, _Index >, SparseMatrix< Scalar, ColMajor, Index >, SparseMatrix< Scalar >, SparseMatrix< Scalar, Upper >, SparseMatrix< Scalar, Lower|UnitDiag >, SparseInnerVectorSet< MatrixType, Size >, DynamicSparseMatrix< _Scalar, _Options, _Index >, SparseVector< _Scalar, _Options, _Index >, MappedSparseMatrix< _Scalar, _Flags, _Index >, SparseView< MatrixType >, and SparseTriangularView< MatrixType, Mode >.
Definition at line 168 of file SparseMatrixBase.h.
ConjugateReturnType SparseMatrixBase< Derived >::conjugate | ( | void | ) | const [inline] |
*this
.Definition at line 117 of file SparseMatrixBase.h.
Derived& SparseMatrixBase< Derived >::const_cast_derived | ( | ) | const [inline] |
Reimplemented from EigenBase< Derived >.
Definition at line 161 of file SparseMatrixBase.h.
EIGEN_STRONG_INLINE const CwiseUnaryOp<internal::scalar_abs_op<Scalar>, const Derived> SparseMatrixBase< Derived >::cwiseAbs | ( | ) | const [inline] |
*this
Example:
MatrixXd m(2,3); m << 2, -4, 6, -5, 1, 0; cout << m.cwiseAbs() << endl;
Output:
Definition at line 37 of file SparseMatrixBase.h.
EIGEN_STRONG_INLINE const CwiseUnaryOp<internal::scalar_abs2_op<Scalar>, const Derived> SparseMatrixBase< Derived >::cwiseAbs2 | ( | ) | const [inline] |
*this
Example:
MatrixXd m(2,3); m << 2, -4, 6, -5, 1, 0; cout << m.cwiseAbs2() << endl;
Output:
Definition at line 47 of file SparseMatrixBase.h.
const CwiseBinaryOp<std::equal_to<Scalar>, const Derived, const OtherDerived> SparseMatrixBase< Derived >::cwiseEqual | ( | const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > & | other | ) | const [inline] |
Example:
MatrixXi m(2,2); m << 1, 0, 1, 1; cout << "Comparing m with identity matrix:" << endl; cout << m.cwiseEqual(MatrixXi::Identity(2,2)) << endl; int count = m.cwiseEqual(MatrixXi::Identity(2,2)).count(); cout << "Number of coefficients that are equal: " << count << endl;
Output:
Definition at line 57 of file SparseMatrixBase.h.
const CwiseUnaryOp<std::binder1st<std::equal_to<Scalar> >, const Derived> SparseMatrixBase< Derived >::cwiseEqual | ( | const Scalar & | s | ) | const [inline] |
*this
and a scalar s Definition at line 79 of file SparseMatrixBase.h.
const CwiseUnaryOp<internal::scalar_inverse_op<Scalar>, const Derived> SparseMatrixBase< Derived >::cwiseInverse | ( | ) | const [inline] |
Example:
MatrixXd m(2,3); m << 2, 0.5, 1, 3, 0.25, 1; cout << m.cwiseInverse() << endl;
Output:
Definition at line 67 of file SparseMatrixBase.h.
EIGEN_STRONG_INLINE const CwiseBinaryOp<internal::scalar_max_op<Scalar>, const Derived, const OtherDerived> SparseMatrixBase< Derived >::cwiseMax | ( | const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > & | other | ) | const [inline] |
Example:
Output:
Definition at line 104 of file SparseMatrixBase.h.
EIGEN_STRONG_INLINE const CwiseBinaryOp<internal::scalar_min_op<Scalar>, const Derived, const OtherDerived> SparseMatrixBase< Derived >::cwiseMin | ( | const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > & | other | ) | const [inline] |
Example:
Output:
Definition at line 90 of file SparseMatrixBase.h.
const CwiseBinaryOp<std::not_equal_to<Scalar>, const Derived, const OtherDerived> SparseMatrixBase< Derived >::cwiseNotEqual | ( | const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > & | other | ) | const [inline] |
Example:
MatrixXi m(2,2); m << 1, 0, 1, 1; cout << "Comparing m with identity matrix:" << endl; cout << m.cwiseNotEqual(MatrixXi::Identity(2,2)) << endl; int count = m.cwiseNotEqual(MatrixXi::Identity(2,2)).count(); cout << "Number of coefficients that are not equal: " << count << endl;
Output:
Definition at line 76 of file SparseMatrixBase.h.
EIGEN_STRONG_INLINE const EIGEN_SPARSE_CWISE_PRODUCT_RETURN_TYPE SparseMatrixBase< Derived >::cwiseProduct | ( | const MatrixBase< OtherDerived > & | other | ) | const |
Definition at line 346 of file SparseCwiseBinaryOp.h.
EIGEN_STRONG_INLINE const CwiseBinaryOp<internal::scalar_quotient_op<Scalar>, const Derived, const OtherDerived> SparseMatrixBase< Derived >::cwiseQuotient | ( | const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > & | other | ) | const [inline] |
Example:
Output:
Definition at line 118 of file SparseMatrixBase.h.
const CwiseUnaryOp<internal::scalar_sqrt_op<Scalar>, const Derived> SparseMatrixBase< Derived >::cwiseSqrt | ( | ) | const [inline] |
Example:
Vector3d v(1,2,4); cout << v.cwiseSqrt() << endl;
Output:
Definition at line 57 of file SparseMatrixBase.h.
const Derived& SparseMatrixBase< Derived >::derived | ( | ) | const [inline] |
Reimplemented from EigenBase< Derived >.
Definition at line 159 of file SparseMatrixBase.h.
Derived& SparseMatrixBase< Derived >::derived | ( | ) | [inline] |
Reimplemented from EigenBase< Derived >.
Definition at line 160 of file SparseMatrixBase.h.
internal::traits< Derived >::Scalar SparseMatrixBase< Derived >::dot | ( | const MatrixBase< OtherDerived > & | other | ) | const |
Definition at line 31 of file SparseDot.h.
internal::traits< Derived >::Scalar SparseMatrixBase< Derived >::dot | ( | const SparseMatrixBase< OtherDerived > & | other | ) | const |
Definition at line 55 of file SparseDot.h.
EIGEN_STRONG_INLINE const SparseMatrixBase< Derived >::EIGEN_CWISE_PRODUCT_RETURN_TYPE | ( | Derived | , |
OtherDerived | |||
) | const [inline] |
Example:
Matrix3i a = Matrix3i::Random(), b = Matrix3i::Random(); Matrix3i c = a.cwiseProduct(b); cout << "a:\n" << a << "\nb:\n" << b << "\nc:\n" << c << endl;
Output:
Definition at line 37 of file SparseMatrixBase.h.
const internal::eval<Derived>::type SparseMatrixBase< Derived >::eval | ( | ) | const [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.
Definition at line 577 of file SparseMatrixBase.h.
void SparseMatrixBase< Derived >::evalTo | ( | MatrixBase< DenseDerived > & | dst | ) | const [inline] |
Definition at line 518 of file SparseMatrixBase.h.
const ImagReturnType SparseMatrixBase< Derived >::imag | ( | ) | const [inline] |
*this
.Definition at line 132 of file SparseMatrixBase.h.
NonConstImagReturnType SparseMatrixBase< Derived >::imag | ( | ) | [inline] |
*this
.Definition at line 188 of file SparseMatrixBase.h.
Index SparseMatrixBase< Derived >::innerSize | ( | ) | const [inline] |
Reimplemented in SparseMatrix< _Scalar, _Options, _Index >, SparseMatrix< Scalar, ColMajor, Index >, SparseMatrix< Scalar >, SparseMatrix< Scalar, Upper >, SparseMatrix< Scalar, Lower|UnitDiag >, DynamicSparseMatrix< _Scalar, _Options, _Index >, SparseVector< _Scalar, _Options, _Index >, MappedSparseMatrix< _Scalar, _Flags, _Index >, and SparseView< MatrixType >.
Definition at line 185 of file SparseMatrixBase.h.
SparseInnerVectorSet< Derived, 1 > SparseMatrixBase< Derived >::innerVector | ( | Index | outer | ) |
*this
if *this
is col-major (resp. row-major). Definition at line 405 of file SparseBlock.h.
const SparseInnerVectorSet< Derived, 1 > SparseMatrixBase< Derived >::innerVector | ( | Index | outer | ) | const |
*this
if *this
is col-major (resp. row-major). Read-only. Definition at line 412 of file SparseBlock.h.
SparseInnerVectorSet< Derived, Dynamic > SparseMatrixBase< Derived >::innerVectors | ( | Index | outerStart, |
Index | outerSize | ||
) |
*this
if *this
is col-major (resp. row-major). Definition at line 455 of file SparseBlock.h.
const SparseInnerVectorSet< Derived, Dynamic > SparseMatrixBase< Derived >::innerVectors | ( | Index | outerStart, |
Index | outerSize | ||
) | const |
*this
if *this
is col-major (resp. row-major). Read-only. Definition at line 462 of file SparseBlock.h.
bool SparseMatrixBase< Derived >::isApprox | ( | const SparseMatrixBase< OtherDerived > & | other, |
RealScalar | prec = NumTraits<Scalar>::dummy_precision() |
||
) | const [inline] |
Definition at line 532 of file SparseMatrixBase.h.
bool SparseMatrixBase< Derived >::isApprox | ( | const MatrixBase< OtherDerived > & | other, |
RealScalar | prec = NumTraits<Scalar>::dummy_precision() |
||
) | const [inline] |
Definition at line 537 of file SparseMatrixBase.h.
bool SparseMatrixBase< Derived >::isRValue | ( | ) | const [inline] |
Definition at line 187 of file SparseMatrixBase.h.
bool SparseMatrixBase< Derived >::isVector | ( | ) | const [inline] |
Definition at line 179 of file SparseMatrixBase.h.
Derived& SparseMatrixBase< Derived >::markAsRValue | ( | ) | [inline] |
Definition at line 188 of file SparseMatrixBase.h.
Index SparseMatrixBase< Derived >::nonZeros | ( | ) | const [inline] |
Reimplemented in SparseInnerVectorSet< SparseMatrix< _Scalar, _Options, _Index >, Size >, SparseInnerVectorSet< DynamicSparseMatrix< _Scalar, _Options >, Size >, SparseMatrix< _Scalar, _Options, _Index >, SparseMatrix< Scalar, ColMajor, Index >, SparseMatrix< Scalar >, SparseMatrix< Scalar, Upper >, SparseMatrix< Scalar, Lower|UnitDiag >, SparseVector< _Scalar, _Options, _Index >, DynamicSparseMatrix< _Scalar, _Options, _Index >, MappedSparseMatrix< _Scalar, _Flags, _Index >, and TransposeImpl< MatrixType, Sparse >.
Definition at line 174 of file SparseMatrixBase.h.
NumTraits< typename internal::traits< Derived >::Scalar >::Real SparseMatrixBase< Derived >::norm | ( | ) | const [inline] |
Definition at line 92 of file SparseDot.h.
const ScalarMultipleReturnType SparseMatrixBase< Derived >::operator* | ( | const Scalar & | scalar | ) | const [inline] |
*this
scaled by the scalar factor scalar Definition at line 65 of file SparseMatrixBase.h.
const CwiseUnaryOp<internal::scalar_multiple2_op<Scalar,std::complex<Scalar> >, const Derived> SparseMatrixBase< Derived >::operator* | ( | const std::complex< Scalar > & | scalar | ) | const [inline] |
Overloaded for efficient real matrix times complex scalar value
Definition at line 85 of file SparseMatrixBase.h.
const SparseSparseProductReturnType< Derived, OtherDerived >::Type SparseMatrixBase< Derived >::operator* | ( | const SparseMatrixBase< OtherDerived > & | other | ) | const [inline] |
Definition at line 396 of file SparseSparseProduct.h.
const SparseDiagonalProduct< Derived, OtherDerived > SparseMatrixBase< Derived >::operator* | ( | const DiagonalBase< OtherDerived > & | other | ) | const |
Definition at line 190 of file SparseDiagonalProduct.h.
const SparseDenseProductReturnType< Derived, OtherDerived >::Type SparseMatrixBase< Derived >::operator* | ( | const MatrixBase< OtherDerived > & | other | ) | const [inline] |
sparse * dense (returns a dense object unless it is an outer product)
Definition at line 226 of file SparseDenseProduct.h.
EIGEN_STRONG_INLINE Derived & SparseMatrixBase< Derived >::operator*= | ( | const Scalar & | other | ) |
Definition at line 128 of file SparseCwiseUnaryOp.h.
Derived& SparseMatrixBase< Derived >::operator*= | ( | const SparseMatrixBase< OtherDerived > & | other | ) |
EIGEN_STRONG_INLINE Derived & SparseMatrixBase< Derived >::operator+= | ( | const SparseMatrixBase< OtherDerived > & | other | ) |
Definition at line 330 of file SparseCwiseBinaryOp.h.
const CwiseUnaryOp<internal::scalar_opposite_op<typename internal::traits<Derived>::Scalar>, const Derived> SparseMatrixBase< Derived >::operator- | ( | void | ) | const [inline] |
*this
Definition at line 60 of file SparseMatrixBase.h.
EIGEN_STRONG_INLINE Derived & SparseMatrixBase< Derived >::operator-= | ( | const SparseMatrixBase< OtherDerived > & | other | ) |
Definition at line 314 of file SparseCwiseBinaryOp.h.
const CwiseUnaryOp<internal::scalar_quotient1_op<typename internal::traits<Derived>::Scalar>, const Derived> SparseMatrixBase< Derived >::operator/ | ( | const Scalar & | scalar | ) | const [inline] |
*this
divided by the scalar value scalar Definition at line 77 of file SparseMatrixBase.h.
EIGEN_STRONG_INLINE Derived & SparseMatrixBase< Derived >::operator/= | ( | const Scalar & | other | ) |
Definition at line 138 of file SparseCwiseUnaryOp.h.
Derived& SparseMatrixBase< Derived >::operator= | ( | const EigenBase< OtherDerived > & | other | ) | [inline] |
Reimplemented in SparseMatrix< _Scalar, _Options, _Index >, SparseMatrix< Scalar, ColMajor, Index >, SparseMatrix< Scalar >, SparseMatrix< Scalar, Upper >, and SparseMatrix< Scalar, Lower|UnitDiag >.
Definition at line 52 of file SparseMatrixBase.h.
Derived& SparseMatrixBase< Derived >::operator= | ( | const Derived & | other | ) | [inline] |
Reimplemented in SparseMatrix< _Scalar, _Options, _Index >, DynamicSparseMatrix< _Scalar, _Options, _Index >, and SparseVector< _Scalar, _Options, _Index >.
Definition at line 192 of file SparseMatrixBase.h.
Derived& SparseMatrixBase< Derived >::operator= | ( | const ReturnByValue< OtherDerived > & | other | ) | [inline] |
Reimplemented in SparseMatrix< _Scalar, _Options, _Index >, SparseMatrix< Scalar, ColMajor, Index >, SparseMatrix< Scalar >, SparseMatrix< Scalar, Upper >, and SparseMatrix< Scalar, Lower|UnitDiag >.
Definition at line 203 of file SparseMatrixBase.h.
Derived& SparseMatrixBase< Derived >::operator= | ( | const SparseMatrixBase< OtherDerived > & | other | ) | [inline] |
Reimplemented in SparseMatrix< _Scalar, _Options, _Index >, SparseMatrix< Scalar, ColMajor, Index >, SparseMatrix< Scalar >, SparseMatrix< Scalar, Upper >, SparseMatrix< Scalar, Lower|UnitDiag >, SparseVector< _Scalar, _Options, _Index >, SparseInnerVectorSet< SparseMatrix< _Scalar, _Options, _Index >, Size >, and SparseInnerVectorSet< DynamicSparseMatrix< _Scalar, _Options >, Size >.
Definition at line 244 of file SparseMatrixBase.h.
Derived & SparseMatrixBase< Derived >::operator= | ( | const SparseSparseProduct< Lhs, Rhs > & | product | ) | [inline] |
Reimplemented in SparseMatrix< _Scalar, _Options, _Index >, SparseMatrix< Scalar, ColMajor, Index >, SparseMatrix< Scalar >, SparseMatrix< Scalar, Upper >, SparseMatrix< Scalar, Lower|UnitDiag >, and SparseVector< _Scalar, _Options, _Index >.
Definition at line 245 of file SparseSparseProduct.h.
Index SparseMatrixBase< Derived >::outerSize | ( | ) | const [inline] |
Reimplemented in SparseMatrix< _Scalar, _Options, _Index >, SparseMatrix< Scalar, ColMajor, Index >, SparseMatrix< Scalar >, SparseMatrix< Scalar, Upper >, SparseMatrix< Scalar, Lower|UnitDiag >, DynamicSparseMatrix< _Scalar, _Options, _Index >, SparseVector< _Scalar, _Options, _Index >, MappedSparseMatrix< _Scalar, _Flags, _Index >, and SparseView< MatrixType >.
Definition at line 182 of file SparseMatrixBase.h.
RealReturnType SparseMatrixBase< Derived >::real | ( | ) | const [inline] |
*this
.Definition at line 126 of file SparseMatrixBase.h.
NonConstRealReturnType SparseMatrixBase< Derived >::real | ( | ) | [inline] |
*this
.Definition at line 182 of file SparseMatrixBase.h.
SparseInnerVectorSet< Derived, 1 > SparseMatrixBase< Derived >::row | ( | Index | i | ) |
*this
. For row-major matrix only. Definition at line 369 of file SparseBlock.h.
const SparseInnerVectorSet< Derived, 1 > SparseMatrixBase< Derived >::row | ( | Index | i | ) | const |
*this
. For row-major matrix only. (read-only version) Definition at line 378 of file SparseBlock.h.
Index SparseMatrixBase< Derived >::rows | ( | void | ) | const [inline] |
Reimplemented from EigenBase< Derived >.
Reimplemented in SparseInnerVectorSet< SparseMatrix< _Scalar, _Options, _Index >, Size >, SparseInnerVectorSet< DynamicSparseMatrix< _Scalar, _Options >, Size >, SparseSparseProduct< LhsNested, RhsNested >, SparseDenseOuterProduct< Lhs, Rhs, Tr >, SparseDiagonalProduct< Lhs, Rhs >, SparseMatrix< _Scalar, _Options, _Index >, SparseMatrix< Scalar, ColMajor, Index >, SparseMatrix< Scalar >, SparseMatrix< Scalar, Upper >, SparseMatrix< Scalar, Lower|UnitDiag >, SparseInnerVectorSet< MatrixType, Size >, DynamicSparseMatrix< _Scalar, _Options, _Index >, SparseVector< _Scalar, _Options, _Index >, MappedSparseMatrix< _Scalar, _Flags, _Index >, SparseView< MatrixType >, and SparseTriangularView< MatrixType, Mode >.
Definition at line 166 of file SparseMatrixBase.h.
const SparseSelfAdjointView< Derived, UpLo > SparseMatrixBase< Derived >::selfadjointView | ( | ) | const [inline] |
Definition at line 162 of file SparseSelfAdjointView.h.
SparseSelfAdjointView< Derived, UpLo > SparseMatrixBase< Derived >::selfadjointView | ( | ) | [inline] |
Definition at line 169 of file SparseSelfAdjointView.h.
Index SparseMatrixBase< Derived >::size | ( | ) | const [inline] |
Reimplemented from EigenBase< Derived >.
Definition at line 171 of file SparseMatrixBase.h.
NumTraits< typename internal::traits< Derived >::Scalar >::Real SparseMatrixBase< Derived >::squaredNorm | ( | ) | const [inline] |
Definition at line 85 of file SparseDot.h.
SparseInnerVectorSet< Derived, Dynamic > SparseMatrixBase< Derived >::subcols | ( | Index | start, |
Index | size | ||
) |
*this
. For column-major matrix only. Definition at line 436 of file SparseBlock.h.
const SparseInnerVectorSet< Derived, Dynamic > SparseMatrixBase< Derived >::subcols | ( | Index | start, |
Index | size | ||
) | const |
*this
. For column-major matrix only. (read-only version) Definition at line 445 of file SparseBlock.h.
SparseInnerVectorSet< Derived, Dynamic > SparseMatrixBase< Derived >::subrows | ( | Index | start, |
Index | size | ||
) |
*this
. For row-major matrix only. Definition at line 419 of file SparseBlock.h.
const SparseInnerVectorSet< Derived, Dynamic > SparseMatrixBase< Derived >::subrows | ( | Index | start, |
Index | size | ||
) | const |
*this
. For row-major matrix only. (read-only version) Definition at line 428 of file SparseBlock.h.
internal::traits< Derived >::Scalar SparseMatrixBase< Derived >::sum | ( | ) | const |
Reimplemented in SparseMatrix< _Scalar, _Options, _Index >, SparseMatrix< Scalar, ColMajor, Index >, SparseMatrix< Scalar >, SparseMatrix< Scalar, Upper >, SparseMatrix< Scalar, Lower|UnitDiag >, and SparseVector< _Scalar, _Options, _Index >.
Definition at line 30 of file SparseRedux.h.
Matrix<Scalar,RowsAtCompileTime,ColsAtCompileTime> SparseMatrixBase< Derived >::toDense | ( | ) | const [inline] |
Definition at line 526 of file SparseMatrixBase.h.
Transpose<Derived> SparseMatrixBase< Derived >::transpose | ( | ) | [inline] |
Definition at line 427 of file SparseMatrixBase.h.
const Transpose<const Derived> SparseMatrixBase< Derived >::transpose | ( | ) | const [inline] |
Definition at line 428 of file SparseMatrixBase.h.
const SparseTriangularView< Derived, Mode > SparseMatrixBase< Derived >::triangularView | ( | ) | const [inline] |
Definition at line 95 of file SparseTriangularView.h.
const CwiseUnaryOp<CustomUnaryOp, const Derived> SparseMatrixBase< Derived >::unaryExpr | ( | const CustomUnaryOp & | func = CustomUnaryOp() | ) | const [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:
#include <Eigen/Core> #include <iostream> using namespace Eigen; using namespace std; // define function to be applied coefficient-wise double ramp(double x) { if (x > 0) return x; else return 0; } int main(int, char**) { Matrix4d m1 = Matrix4d::Random(); cout << m1 << endl << "becomes: " << endl << m1.unaryExpr(ptr_fun(ramp)) << endl; return 0; }
Output:
Genuine functors allow for more possibilities, for instance it may contain a state.
Example:
#include <Eigen/Core> #include <iostream> using namespace Eigen; using namespace std; // define a custom template unary functor template<typename Scalar> struct CwiseClampOp { CwiseClampOp(const Scalar& inf, const Scalar& sup) : m_inf(inf), m_sup(sup) {} const Scalar operator()(const Scalar& x) const { return x<m_inf ? m_inf : (x>m_sup ? m_sup : x); } Scalar m_inf, m_sup; }; int main(int, char**) { Matrix4d m1 = Matrix4d::Random(); cout << m1 << endl << "becomes: " << endl << m1.unaryExpr(CwiseClampOp<double>(-0.5,0.5)) << endl; return 0; }
Output:
Definition at line 155 of file SparseMatrixBase.h.
const CwiseUnaryView<CustomViewOp, const Derived> SparseMatrixBase< Derived >::unaryViewExpr | ( | const CustomViewOp & | func = CustomViewOp() | ) | const [inline] |
The template parameter CustomUnaryOp is the type of the functor of the custom unary operator.
Example:
#include <Eigen/Core> #include <iostream> using namespace Eigen; using namespace std; // define a custom template unary functor template<typename Scalar> struct CwiseClampOp { CwiseClampOp(const Scalar& inf, const Scalar& sup) : m_inf(inf), m_sup(sup) {} const Scalar operator()(const Scalar& x) const { return x<m_inf ? m_inf : (x>m_sup ? m_sup : x); } Scalar m_inf, m_sup; }; int main(int, char**) { Matrix4d m1 = Matrix4d::Random(); cout << m1 << endl << "becomes: " << endl << m1.unaryExpr(CwiseClampOp<double>(-0.5,0.5)) << endl; return 0; }
Output:
Definition at line 173 of file SparseMatrixBase.h.
const ScalarMultipleReturnType operator* | ( | const Scalar & | scalar, |
const StorageBaseType & | matrix | ||
) | [friend] |
Definition at line 92 of file SparseMatrixBase.h.
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 96 of file SparseMatrixBase.h.
const SparseDiagonalProduct<OtherDerived,Derived> operator* | ( | const DiagonalBase< OtherDerived > & | lhs, |
const SparseMatrixBase< Derived > & | rhs | ||
) | [friend] |
Definition at line 384 of file SparseMatrixBase.h.
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 390 of file SparseMatrixBase.h.
std::ostream& operator<< | ( | std::ostream & | s, |
const SparseMatrixBase< Derived > & | m | ||
) | [friend] |
Definition at line 282 of file SparseMatrixBase.h.
bool SparseMatrixBase< Derived >::m_isRValue [protected] |
Definition at line 703 of file SparseMatrixBase.h.