SparseMatrixBase.h
Go to the documentation of this file.
1 // This file is part of Eigen, a lightweight C++ template library
2 // for linear algebra.
3 //
4 // Copyright (C) 2008-2014 Gael Guennebaud <gael.guennebaud@inria.fr>
5 //
6 // This Source Code Form is subject to the terms of the Mozilla
7 // Public License v. 2.0. If a copy of the MPL was not distributed
8 // with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 
10 #ifndef EIGEN_SPARSEMATRIXBASE_H
11 #define EIGEN_SPARSEMATRIXBASE_H
12 
13 namespace Eigen {
14 
26 template<typename Derived> class SparseMatrixBase
27  : public EigenBase<Derived>
28 {
29  public:
30 
32 
36  typedef Scalar value_type;
37 
40 
44 
48 
50 
53 
54  template<typename OtherDerived>
55  Derived& operator=(const EigenBase<OtherDerived> &other);
56 
57  enum {
58 
80 
83 
101 
104 
105  #ifndef EIGEN_PARSED_BY_DOXYGEN
106  _HasDirectAccess = (int(Flags)&DirectAccessBit) ? 1 : 0 // workaround sunCC
107  #endif
108  };
109 
117 
118  // FIXME storage order do not match evaluator storage order
120 
121 #ifndef EIGEN_PARSED_BY_DOXYGEN
122 
129 
133 
136 
142 
143  inline const Derived& derived() const { return *static_cast<const Derived*>(this); }
144  inline Derived& derived() { return *static_cast<Derived*>(this); }
145  inline Derived& const_cast_derived() const
146  { return *static_cast<Derived*>(const_cast<SparseMatrixBase*>(this)); }
147 
149 
150 #endif // not EIGEN_PARSED_BY_DOXYGEN
151 
152 #define EIGEN_CURRENT_STORAGE_BASE_CLASS Eigen::SparseMatrixBase
153 #ifdef EIGEN_PARSED_BY_DOXYGEN
154 #define EIGEN_DOC_UNARY_ADDONS(METHOD,OP)
155 #define EIGEN_DOC_BLOCK_ADDONS_NOT_INNER_PANEL
156 #define EIGEN_DOC_BLOCK_ADDONS_INNER_PANEL_IF(COND)
157 #else
158 #define EIGEN_DOC_UNARY_ADDONS(X,Y)
159 #define EIGEN_DOC_BLOCK_ADDONS_NOT_INNER_PANEL
160 #define EIGEN_DOC_BLOCK_ADDONS_INNER_PANEL_IF(COND)
161 #endif
162 # include "../plugins/CommonCwiseUnaryOps.h"
163 # include "../plugins/CommonCwiseBinaryOps.h"
164 # include "../plugins/MatrixCwiseUnaryOps.h"
165 # include "../plugins/MatrixCwiseBinaryOps.h"
166 # include "../plugins/BlockMethods.h"
167 # ifdef EIGEN_SPARSEMATRIXBASE_PLUGIN
168 # include EIGEN_SPARSEMATRIXBASE_PLUGIN
169 # endif
170 #undef EIGEN_CURRENT_STORAGE_BASE_CLASS
171 #undef EIGEN_DOC_UNARY_ADDONS
172 #undef EIGEN_DOC_BLOCK_ADDONS_NOT_INNER_PANEL
173 #undef EIGEN_DOC_BLOCK_ADDONS_INNER_PANEL_IF
174 
176  inline Index rows() const { return derived().rows(); }
178  inline Index cols() const { return derived().cols(); }
181  inline Index size() const { return rows() * cols(); }
186  inline bool isVector() const { return rows()==1 || cols()==1; }
189  Index outerSize() const { return (int(Flags)&RowMajorBit) ? this->rows() : this->cols(); }
192  Index innerSize() const { return (int(Flags)&RowMajorBit) ? this->cols() : this->rows(); }
193 
194  bool isRValue() const { return m_isRValue; }
195  Derived& markAsRValue() { m_isRValue = true; return derived(); }
196 
197  SparseMatrixBase() : m_isRValue(false) { /* TODO check flags */ }
198 
199 
200  template<typename OtherDerived>
202 
203  template<typename OtherDerived>
204  inline Derived& operator=(const SparseMatrixBase<OtherDerived>& other);
205 
206  inline Derived& operator=(const Derived& other);
207 
208  protected:
209 
210  template<typename OtherDerived>
211  inline Derived& assign(const OtherDerived& other);
212 
213  template<typename OtherDerived>
214  inline void assignGeneric(const OtherDerived& other);
215 
216  public:
217 
218  friend std::ostream & operator << (std::ostream & s, const SparseMatrixBase& m)
219  {
220  typedef typename Derived::Nested Nested;
221  typedef typename internal::remove_all<Nested>::type NestedCleaned;
222 
223  if (Flags&RowMajorBit)
224  {
225  Nested nm(m.derived());
227  for (Index row=0; row<nm.outerSize(); ++row)
228  {
229  Index col = 0;
230  for (typename internal::evaluator<NestedCleaned>::InnerIterator it(thisEval, row); it; ++it)
231  {
232  for ( ; col<it.index(); ++col)
233  s << "0 ";
234  s << it.value() << " ";
235  ++col;
236  }
237  for ( ; col<m.cols(); ++col)
238  s << "0 ";
239  s << std::endl;
240  }
241  }
242  else
243  {
244  Nested nm(m.derived());
246  if (m.cols() == 1) {
247  Index row = 0;
248  for (typename internal::evaluator<NestedCleaned>::InnerIterator it(thisEval, 0); it; ++it)
249  {
250  for ( ; row<it.index(); ++row)
251  s << "0" << std::endl;
252  s << it.value() << std::endl;
253  ++row;
254  }
255  for ( ; row<m.rows(); ++row)
256  s << "0" << std::endl;
257  }
258  else
259  {
261  s << static_cast<const SparseMatrixBase<SparseMatrix<Scalar, RowMajorBit, StorageIndex> >&>(trans);
262  }
263  }
264  return s;
265  }
266 
267  template<typename OtherDerived>
269  template<typename OtherDerived>
271 
272  template<typename OtherDerived>
274  template<typename OtherDerived>
276 
277  template<typename OtherDerived>
278  Derived& operator+=(const EigenBase<OtherDerived> &other);
279  template<typename OtherDerived>
280  Derived& operator-=(const EigenBase<OtherDerived> &other);
281 
282  Derived& operator*=(const Scalar& other);
283  Derived& operator/=(const Scalar& other);
284 
285  template<typename OtherDerived> struct CwiseProductDenseReturnType {
289  >::ReturnType>,
290  const Derived,
291  const OtherDerived
292  > Type;
293  };
294 
295  template<typename OtherDerived>
298 
299  // sparse * diagonal
300  template<typename OtherDerived>
303  { return Product<Derived,OtherDerived>(derived(), other.derived()); }
304 
305  // diagonal * sparse
306  template<typename OtherDerived> friend
309  { return Product<OtherDerived,Derived>(lhs.derived(), rhs.derived()); }
310 
311  // sparse * sparse
312  template<typename OtherDerived>
315 
316  // sparse * dense
317  template<typename OtherDerived>
320  { return Product<Derived,OtherDerived>(derived(), other.derived()); }
321 
322  // dense * sparse
323  template<typename OtherDerived> friend
326  { return Product<OtherDerived,Derived>(lhs.derived(), rhs.derived()); }
327 
330  {
332  }
333 
334  template<typename OtherDerived>
336 
337  template<int Mode>
339 
340  template<unsigned int UpLo> struct SelfAdjointViewReturnType { typedef SparseSelfAdjointView<Derived, UpLo> Type; };
341  template<unsigned int UpLo> struct ConstSelfAdjointViewReturnType { typedef const SparseSelfAdjointView<const Derived, UpLo> Type; };
342 
343  template<unsigned int UpLo> inline
345  template<unsigned int UpLo> inline
347 
348  template<typename OtherDerived> Scalar dot(const MatrixBase<OtherDerived>& other) const;
349  template<typename OtherDerived> Scalar dot(const SparseMatrixBase<OtherDerived>& other) const;
350  RealScalar squaredNorm() const;
351  RealScalar norm() const;
352  RealScalar blueNorm() const;
353 
357 
359  {
360  return DenseMatrixType(derived());
361  }
362 
363  template<typename OtherDerived>
365  const RealScalar& prec = NumTraits<Scalar>::dummy_precision()) const;
366 
367  template<typename OtherDerived>
369  const RealScalar& prec = NumTraits<Scalar>::dummy_precision()) const
370  { return toDense().isApprox(other,prec); }
371 
377  inline const typename internal::eval<Derived>::type eval() const
378  { return typename internal::eval<Derived>::type(derived()); }
379 
380  Scalar sum() const;
381 
382  inline const SparseView<Derived>
383  pruned(const Scalar& reference = Scalar(0), const RealScalar& epsilon = NumTraits<Scalar>::dummy_precision()) const;
384 
385  protected:
386 
388 
389  static inline StorageIndex convert_index(const Index idx) {
390  return internal::convert_index<StorageIndex>(idx);
391  }
392  private:
393  template<typename Dest> void evalTo(Dest &) const;
394 };
395 
396 } // end namespace Eigen
397 
398 #endif // EIGEN_SPARSEMATRIXBASE_H
Eigen::SparseMatrixBase::cwiseProduct
const EIGEN_STRONG_INLINE CwiseProductDenseReturnType< OtherDerived >::Type cwiseProduct(const MatrixBase< OtherDerived > &other) const
gtsam.examples.DogLegOptimizerExample.int
int
Definition: DogLegOptimizerExample.py:111
Eigen::SparseMatrixBase::isRValue
bool isRValue() const
Definition: SparseMatrixBase.h:194
Eigen::SparseMatrixBase::ScalarVector
Matrix< Scalar, Dynamic, 1 > ScalarVector
Definition: SparseMatrixBase.h:52
Eigen::SparseMatrixBase::eval
const internal::eval< Derived >::type eval() const
Definition: SparseMatrixBase.h:377
perm
idx_t idx_t idx_t idx_t idx_t * perm
Definition: include/metis.h:223
Eigen::SparseMatrixBase::StorageBaseType
SparseMatrixBase StorageBaseType
Definition: SparseMatrixBase.h:49
Eigen::internal::add_const_on_value_type_if_arithmetic
Definition: DenseCoeffsBase.h:16
Eigen::SparseMatrixBase::InnerSizeAtCompileTime
@ InnerSizeAtCompileTime
Definition: SparseMatrixBase.h:102
Eigen
Namespace containing all symbols from the Eigen library.
Definition: jet.h:637
Eigen::SparseMatrix
A versatible sparse matrix representation.
Definition: SparseMatrix.h:96
Eigen::ReturnByValue
Definition: ReturnByValue.h:50
col
m col(1)
Eigen::SparseMatrixBase::AdjointReturnType
internal::conditional< NumTraits< Scalar >::IsComplex, CwiseUnaryOp< internal::scalar_conjugate_op< Scalar >, Eigen::Transpose< const Derived > >, Transpose< const Derived > >::type AdjointReturnType
Definition: SparseMatrixBase.h:114
gtsam.examples.DogLegOptimizerExample.type
type
Definition: DogLegOptimizerExample.py:111
s
RealScalar s
Definition: level1_cplx_impl.h:126
Eigen::CwiseBinaryOp
Generic expression where a coefficient-wise binary operator is applied to two expressions.
Definition: CwiseBinaryOp.h:77
Eigen::SparseMatrixBase::operator-=
Derived & operator-=(const SparseMatrixBase< OtherDerived > &other)
Eigen::SparseMatrixBase::isApprox
bool isApprox(const MatrixBase< OtherDerived > &other, const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const
Definition: SparseMatrixBase.h:368
Eigen::SparseMatrixBase::CoeffReturnType
internal::conditional< _HasDirectAccess, const Scalar &, Scalar >::type CoeffReturnType
Definition: SparseMatrixBase.h:132
Eigen::SparseMatrixBase::size
Index size() const
Definition: SparseMatrixBase.h:181
Eigen::EigenBase
Definition: EigenBase.h:29
Eigen::SparseMatrixBase::SelfAdjointViewReturnType
Definition: SparseMatrixBase.h:340
Eigen::SparseMatrixBase::ConstSelfAdjointViewReturnType::Type
const typedef SparseSelfAdjointView< const Derived, UpLo > Type
Definition: SparseMatrixBase.h:341
Eigen::SparseMatrixBase::Flags
@ Flags
Definition: SparseMatrixBase.h:95
Eigen::RowMajorBit
const unsigned int RowMajorBit
Definition: Constants.h:66
Eigen::SparseMatrixBase::operator+=
Derived & operator+=(const SparseMatrixBase< OtherDerived > &other)
Eigen::SparseMatrixBase::rows
Index rows() const
Definition: SparseMatrixBase.h:176
ret
DenseIndex ret
Definition: level1_cplx_impl.h:44
trans
static char trans
Definition: blas_interface.hh:58
Eigen::SparseMatrixBase::isApprox
bool isApprox(const SparseMatrixBase< OtherDerived > &other, const RealScalar &prec=NumTraits< Scalar >::dummy_precision()) const
Definition: SparseFuzzy.h:17
Eigen::SparseMatrixBase::operator*=
Derived & operator*=(const Scalar &other)
Eigen::SparseMatrixBase::twistedBy
SparseSymmetricPermutationProduct< Derived, Upper|Lower > twistedBy(const PermutationMatrix< Dynamic, Dynamic, StorageIndex > &perm) const
Definition: SparseMatrixBase.h:329
type
Definition: pytypes.h:1491
Eigen::SparseMatrixBase::operator=
Derived & operator=(const EigenBase< OtherDerived > &other)
Definition: SparseAssign.h:17
Eigen::SparseMatrixBase::assignGeneric
void assignGeneric(const OtherDerived &other)
Eigen::SparseMatrixBase::IndexVector
Matrix< StorageIndex, Dynamic, 1 > IndexVector
Definition: SparseMatrixBase.h:51
Eigen::SparseMatrixBase::const_cast_derived
Derived & const_cast_derived() const
Definition: SparseMatrixBase.h:145
Eigen::ScalarBinaryOpTraits
Determines whether the given binary operation of two numeric types is allowed and what the scalar ret...
Definition: XprHelper.h:801
EIGEN_SIZE_MAX
#define EIGEN_SIZE_MAX(a, b)
Definition: Macros.h:1310
Eigen::SparseMatrixBase::squaredNorm
RealScalar squaredNorm() const
Definition: SparseDot.h:77
Eigen::SparseMatrixBase::toDense
DenseMatrixType toDense() const
Definition: SparseMatrixBase.h:358
Eigen::SparseMatrixBase::transpose
TransposeReturnType transpose()
Definition: SparseMatrixBase.h:354
Eigen::SparseMatrixBase::ConstantReturnType
CwiseNullaryOp< internal::scalar_constant_op< Scalar >, Matrix< Scalar, Dynamic, Dynamic > > ConstantReturnType
Definition: SparseMatrixBase.h:135
Eigen::internal::scalar_product_op
Definition: BinaryFunctors.h:70
Eigen::Transpose
Expression of the transpose of a matrix.
Definition: Transpose.h:52
Eigen::DirectAccessBit
const unsigned int DirectAccessBit
Definition: Constants.h:155
Eigen::SparseMatrixBase::StorageKind
internal::traits< Derived >::StorageKind StorageKind
Definition: SparseMatrixBase.h:39
Eigen::CwiseNullaryOp
Generic expression of a matrix where all coefficients are defined by a functor.
Definition: CwiseNullaryOp.h:60
Eigen::SparseMatrixBase::SelfAdjointViewReturnType::Type
SparseSelfAdjointView< Derived, UpLo > Type
Definition: SparseMatrixBase.h:340
epsilon
static double epsilon
Definition: testRot3.cpp:37
Eigen::DiagonalBase::derived
const EIGEN_DEVICE_FUNC Derived & derived() const
Definition: DiagonalMatrix.h:41
Eigen::SparseMatrixBase::IsRowMajor
@ IsRowMajor
Definition: SparseMatrixBase.h:100
Eigen::SparseMatrixBase::value_type
Scalar value_type
Definition: SparseMatrixBase.h:36
Eigen::internal::true_type
Definition: Meta.h:96
Eigen::SparseMatrixBase::convert_index
static StorageIndex convert_index(const Index idx)
Definition: SparseMatrixBase.h:389
Eigen::SparseMatrixBase::triangularView
const TriangularView< const Derived, Mode > triangularView() const
Definition: SparseTriangularView.h:182
Eigen::SparseMatrixBase::CwiseProductDenseReturnType
Definition: SparseMatrixBase.h:285
Eigen::SparseMatrixBase::isVector
bool isVector() const
Definition: SparseMatrixBase.h:186
Eigen::SparseMatrixBase::operator/=
Derived & operator/=(const Scalar &other)
Definition: SparseCwiseUnaryOp.h:138
Eigen::SparseMatrixBase::Scalar
internal::traits< Derived >::Scalar Scalar
Definition: SparseMatrixBase.h:31
Eigen::SparseMatrixBase::TransposeReturnType
Transpose< Derived > TransposeReturnType
Definition: SparseMatrixBase.h:115
Eigen::SparseMatrixBase::innerSize
Index innerSize() const
Definition: SparseMatrixBase.h:192
Eigen::SparseMatrixBase::IsVectorAtCompileTime
@ IsVectorAtCompileTime
Definition: SparseMatrixBase.h:84
Eigen::SparseMatrixBase::evalTo
void evalTo(Dest &) const
Eigen::SparseMatrixBase::PacketScalar
internal::packet_traits< Scalar >::type PacketScalar
Definition: SparseMatrixBase.h:38
Eigen::SparseMatrixBase::operator*
const Product< Derived, OtherDerived > operator*(const MatrixBase< OtherDerived > &other) const
Definition: SparseMatrixBase.h:319
Eigen::SparseMatrixBase::cols
Index cols() const
Definition: SparseMatrixBase.h:178
Eigen::SparseMatrixBase::markAsRValue
Derived & markAsRValue()
Definition: SparseMatrixBase.h:195
Eigen::SparseMatrixBase::NumDimensions
@ NumDimensions
Definition: SparseMatrixBase.h:90
Eigen::SparseMatrixBase::ConstSelfAdjointViewReturnType
Definition: SparseMatrixBase.h:341
EIGEN_STRONG_INLINE
#define EIGEN_STRONG_INLINE
Definition: Macros.h:917
Eigen::SparseMatrixBase::m_isRValue
bool m_isRValue
Definition: SparseMatrixBase.h:387
Eigen::internal::add_const
Definition: Meta.h:208
Eigen::SparseMatrixBase::Base
EigenBase< Derived > Base
Definition: SparseMatrixBase.h:148
Eigen::Product
Expression of the product of two arbitrary matrices or vectors.
Definition: Product.h:71
m
Matrix3f m
Definition: AngleAxis_mimic_euler.cpp:1
Eigen::Triplet< double >
Eigen::internal::evaluator
Definition: CoreEvaluators.h:90
Eigen::SparseMatrixBase::adjoint
const AdjointReturnType adjoint() const
Definition: SparseMatrixBase.h:356
Eigen::SparseMatrixBase::RowsAtCompileTime
@ RowsAtCompileTime
Definition: SparseMatrixBase.h:59
Eigen::SparseMatrixBase::DenseMatrixType
Matrix< Scalar, RowsAtCompileTime, ColsAtCompileTime > DenseMatrixType
Definition: SparseMatrixBase.h:138
Eigen::SparseMatrixBase::sum
Scalar sum() const
Definition: SparseRedux.h:17
Eigen::SparseSymmetricPermutationProduct
Definition: SparseSelfAdjointView.h:599
RealScalar
NumTraits< Scalar >::Real RealScalar
Definition: bench_gemm.cpp:47
Eigen::SparseMatrixBase::_HasDirectAccess
@ _HasDirectAccess
Definition: SparseMatrixBase.h:106
Eigen::SparseMatrixBase::outerSize
Index outerSize() const
Definition: SparseMatrixBase.h:189
Eigen::SparseMatrixBase::operator*
const Product< Derived, OtherDerived > operator*(const DiagonalBase< OtherDerived > &other) const
Definition: SparseMatrixBase.h:302
Eigen::SparseMatrixBase::ConstTransposeReturnType
internal::add_const< Transpose< const Derived > >::type ConstTransposeReturnType
Definition: SparseMatrixBase.h:116
Eigen::SparseMatrixBase::PacketReturnType
internal::add_const_on_value_type_if_arithmetic< typename internal::packet_traits< Scalar >::type >::type PacketReturnType
Definition: SparseMatrixBase.h:47
Eigen::internal::traits
Definition: ForwardDeclarations.h:17
Eigen::SparseMatrixBase::assign
Derived & assign(const OtherDerived &other)
Eigen::CwiseUnaryOp
Generic expression where a coefficient-wise unary operator is applied to an expression.
Definition: CwiseUnaryOp.h:55
Eigen::SparseMatrixBase::MaxSizeAtCompileTime
@ MaxSizeAtCompileTime
Definition: SparseMatrixBase.h:81
row
m row(1)
Eigen::PermutationMatrix< Dynamic, Dynamic, StorageIndex >
Eigen::internal::conditional
Definition: Meta.h:109
Eigen::SparseMatrixBase::StorageIndex
internal::traits< Derived >::StorageIndex StorageIndex
Definition: SparseMatrixBase.h:43
Eigen::SparseMatrixBase::SizeAtCompileTime
@ SizeAtCompileTime
Definition: SparseMatrixBase.h:72
Eigen::SparseMatrixBase::transpose
const ConstTransposeReturnType transpose() const
Definition: SparseMatrixBase.h:355
Eigen::SparseMatrixBase::operator<<
friend std::ostream & operator<<(std::ostream &s, const SparseMatrixBase &m)
Definition: SparseMatrixBase.h:218
Eigen::SparseView
Expression of a dense or sparse matrix with zero or too small values removed.
Definition: ForwardDeclarations.h:124
Eigen::SparseMatrixBase::selfadjointView
ConstSelfAdjointViewReturnType< UpLo >::Type selfadjointView() const
Eigen::SparseMatrixBase
Base class of any sparse matrices or sparse expressions.
Definition: ForwardDeclarations.h:301
Eigen::SparseMatrixBase::derived
const Derived & derived() const
Definition: SparseMatrixBase.h:143
Eigen::SparseMatrixBase::RealScalar
NumTraits< Scalar >::Real RealScalar
Definition: SparseMatrixBase.h:128
Eigen::SparseMatrixBase::SparseMatrixBase
SparseMatrixBase()
Definition: SparseMatrixBase.h:197
Eigen::SparseSelfAdjointView
Pseudo expression to manipulate a triangular sparse matrix as a selfadjoint matrix.
Definition: SparseSelfAdjointView.h:43
Eigen::Matrix< StorageIndex, Dynamic, 1 >
Eigen::MatrixBase
Base class for all dense matrices, vectors, and expressions.
Definition: MatrixBase.h:48
Eigen::SparseMatrixBase::MaxRowsAtCompileTime
@ MaxRowsAtCompileTime
Definition: SparseMatrixBase.h:78
Eigen::SparseMatrixBase::ColsAtCompileTime
@ ColsAtCompileTime
Definition: SparseMatrixBase.h:65
Eigen::SparseMatrixBase::PlainObject
SparseMatrix< Scalar, Flags &RowMajorBit ? RowMajor :ColMajor, StorageIndex > PlainObject
Definition: SparseMatrixBase.h:119
Eigen::TriangularView< const Derived, Mode >
Eigen::SparseMatrixBase::SquareMatrixType
Matrix< Scalar, EIGEN_SIZE_MAX(RowsAtCompileTime, ColsAtCompileTime), EIGEN_SIZE_MAX(RowsAtCompileTime, ColsAtCompileTime)> SquareMatrixType
Definition: SparseMatrixBase.h:141
Eigen::SparseMatrixBase::CwiseProductDenseReturnType::Type
CwiseBinaryOp< internal::scalar_product_op< typename ScalarBinaryOpTraits< typename internal::traits< Derived >::Scalar, typename internal::traits< OtherDerived >::Scalar >::ReturnType >, const Derived, const OtherDerived > Type
Definition: SparseMatrixBase.h:292
Eigen::internal::eval
Definition: XprHelper.h:332
Eigen::SparseMatrixBase::MaxColsAtCompileTime
@ MaxColsAtCompileTime
Definition: SparseMatrixBase.h:79
Eigen::DiagonalBase
Definition: DiagonalMatrix.h:18
Eigen::SparseMatrixBase::operator*
const friend Product< OtherDerived, Derived > operator*(const MatrixBase< OtherDerived > &lhs, const SparseMatrixBase &rhs)
Definition: SparseMatrixBase.h:325
Eigen::NumTraits
Holds information about the various numeric (i.e. scalar) types allowed by Eigen.
Definition: NumTraits.h:232
Eigen::SparseMatrixBase::dot
Scalar dot(const MatrixBase< OtherDerived > &other) const
pybind_wrapper_test_script.other
other
Definition: pybind_wrapper_test_script.py:42
Eigen::internal::size_at_compile_time
Definition: XprHelper.h:281
Eigen::SparseMatrixBase::operator*
const friend Product< OtherDerived, Derived > operator*(const DiagonalBase< OtherDerived > &lhs, const SparseMatrixBase &rhs)
Definition: SparseMatrixBase.h:308
Eigen::SparseMatrixBase::pruned
const SparseView< Derived > pruned(const Scalar &reference=Scalar(0), const RealScalar &epsilon=NumTraits< Scalar >::dummy_precision()) const
Definition: SparseView.h:246
Eigen::SparseMatrixBase::blueNorm
RealScalar blueNorm() const
Definition: SparseDot.h:92
Eigen::SparseMatrixBase::derived
Derived & derived()
Definition: SparseMatrixBase.h:144
Scalar
SCALAR Scalar
Definition: bench_gemm.cpp:46
Eigen::Index
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
Definition: Meta.h:74
Eigen::SparseMatrixBase::norm
RealScalar norm() const
Definition: SparseDot.h:84


gtsam
Author(s):
autogenerated on Tue Jun 25 2024 03:03:12