BandMatrix.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) 2009 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_BANDMATRIX_H
11 #define EIGEN_BANDMATRIX_H
12 
13 namespace Eigen {
14 
15 namespace internal {
16 
17 template<typename Derived>
18 class BandMatrixBase : public EigenBase<Derived>
19 {
20  public:
21 
22  enum {
32  };
35  typedef typename DenseMatrixType::StorageIndex StorageIndex;
38 
39  protected:
40  enum {
42  ? 1 + Supers + Subs
43  : Dynamic,
45  };
46 
47  public:
48 
49  using Base::derived;
50  using Base::rows;
51  using Base::cols;
52 
54  inline Index supers() const { return derived().supers(); }
55 
57  inline Index subs() const { return derived().subs(); }
58 
60  inline const CoefficientsType& coeffs() const { return derived().coeffs(); }
61 
63  inline CoefficientsType& coeffs() { return derived().coeffs(); }
64 
69  {
70  EIGEN_STATIC_ASSERT((int(Options) & int(RowMajor)) == 0, THIS_METHOD_IS_ONLY_FOR_COLUMN_MAJOR_MATRICES);
71  Index start = 0;
72  Index len = coeffs().rows();
73  if (i<=supers())
74  {
75  start = supers()-i;
76  len = (std::min)(rows(),std::max<Index>(0,coeffs().rows() - (supers()-i)));
77  }
78  else if (i>=rows()-subs())
79  len = std::max<Index>(0,coeffs().rows() - (i + 1 - rows() + subs()));
80  return Block<CoefficientsType,Dynamic,1>(coeffs(), start, i, len, 1);
81  }
82 
86 
90 
91  template<int Index> struct DiagonalIntReturnType {
92  enum {
93  ReturnOpposite = (int(Options) & int(SelfAdjoint)) && (((Index) > 0 && Supers == 0) || ((Index) < 0 && Subs == 0)),
97  ? Dynamic
98  : (ActualIndex<0
101  };
103  typedef typename internal::conditional<Conjugate,
106  };
107 
109  template<int N> inline typename DiagonalIntReturnType<N>::Type diagonal()
110  {
111  return typename DiagonalIntReturnType<N>::BuildType(coeffs(), supers()-N, (std::max)(0,N), 1, diagonalLength(N));
112  }
113 
115  template<int N> inline const typename DiagonalIntReturnType<N>::Type diagonal() const
116  {
117  return typename DiagonalIntReturnType<N>::BuildType(coeffs(), supers()-N, (std::max)(0,N), 1, diagonalLength(N));
118  }
119 
122  {
123  eigen_assert((i<0 && -i<=subs()) || (i>=0 && i<=supers()));
124  return Block<CoefficientsType,1,Dynamic>(coeffs(), supers()-i, std::max<Index>(0,i), 1, diagonalLength(i));
125  }
126 
129  {
130  eigen_assert((i<0 && -i<=subs()) || (i>=0 && i<=supers()));
131  return Block<const CoefficientsType,1,Dynamic>(coeffs(), supers()-i, std::max<Index>(0,i), 1, diagonalLength(i));
132  }
133 
134  template<typename Dest> inline void evalTo(Dest& dst) const
135  {
136  dst.resize(rows(),cols());
137  dst.setZero();
138  dst.diagonal() = diagonal();
139  for (Index i=1; i<=supers();++i)
140  dst.diagonal(i) = diagonal(i);
141  for (Index i=1; i<=subs();++i)
142  dst.diagonal(-i) = diagonal(-i);
143  }
144 
146  {
148  evalTo(res);
149  return res;
150  }
151 
152  protected:
153 
154  inline Index diagonalLength(Index i) const
155  { return i<0 ? (std::min)(cols(),rows()+i) : (std::min)(rows(),cols()-i); }
156 };
157 
177 template<typename _Scalar, int _Rows, int _Cols, int _Supers, int _Subs, int _Options>
178 struct traits<BandMatrix<_Scalar,_Rows,_Cols,_Supers,_Subs,_Options> >
179 {
180  typedef _Scalar Scalar;
183  enum {
190  Supers = _Supers,
191  Subs = _Subs,
192  Options = _Options,
194  };
196 };
197 
198 template<typename _Scalar, int Rows, int Cols, int Supers, int Subs, int Options>
199 class BandMatrix : public BandMatrixBase<BandMatrix<_Scalar,Rows,Cols,Supers,Subs,Options> >
200 {
201  public:
202 
206 
208  : m_coeffs(1+supers+subs,cols),
209  m_rows(rows), m_supers(supers), m_subs(subs)
210  {
211  }
212 
214  inline EIGEN_CONSTEXPR Index rows() const { return m_rows.value(); }
215 
217  inline EIGEN_CONSTEXPR Index cols() const { return m_coeffs.cols(); }
218 
220  inline EIGEN_CONSTEXPR Index supers() const { return m_supers.value(); }
221 
223  inline EIGEN_CONSTEXPR Index subs() const { return m_subs.value(); }
224 
225  inline const CoefficientsType& coeffs() const { return m_coeffs; }
226  inline CoefficientsType& coeffs() { return m_coeffs; }
227 
228  protected:
229 
234 };
235 
236 template<typename _CoefficientsType,int _Rows, int _Cols, int _Supers, int _Subs,int _Options>
238 
239 template<typename _CoefficientsType,int _Rows, int _Cols, int _Supers, int _Subs,int _Options>
240 struct traits<BandMatrixWrapper<_CoefficientsType,_Rows,_Cols,_Supers,_Subs,_Options> >
241 {
243  typedef typename _CoefficientsType::StorageKind StorageKind;
244  typedef typename _CoefficientsType::StorageIndex StorageIndex;
245  enum {
252  Supers = _Supers,
253  Subs = _Subs,
254  Options = _Options,
256  };
257  typedef _CoefficientsType CoefficientsType;
258 };
259 
260 template<typename _CoefficientsType,int _Rows, int _Cols, int _Supers, int _Subs,int _Options>
261 class BandMatrixWrapper : public BandMatrixBase<BandMatrixWrapper<_CoefficientsType,_Rows,_Cols,_Supers,_Subs,_Options> >
262 {
263  public:
264 
268 
269  explicit inline BandMatrixWrapper(const CoefficientsType& coeffs, Index rows=_Rows, Index cols=_Cols, Index supers=_Supers, Index subs=_Subs)
270  : m_coeffs(coeffs),
271  m_rows(rows), m_supers(supers), m_subs(subs)
272  {
274  //internal::assert(coeffs.cols()==cols() && (supers()+subs()+1)==coeffs.rows());
275  }
276 
278  inline EIGEN_CONSTEXPR Index rows() const { return m_rows.value(); }
279 
281  inline EIGEN_CONSTEXPR Index cols() const { return m_coeffs.cols(); }
282 
284  inline EIGEN_CONSTEXPR Index supers() const { return m_supers.value(); }
285 
287  inline EIGEN_CONSTEXPR Index subs() const { return m_subs.value(); }
288 
289  inline const CoefficientsType& coeffs() const { return m_coeffs; }
290 
291  protected:
292 
297 };
298 
311 template<typename Scalar, int Size, int Options>
312 class TridiagonalMatrix : public BandMatrix<Scalar,Size,Size,Options&SelfAdjoint?0:1,1,Options|RowMajor>
313 {
316  public:
318 
319  inline typename Base::template DiagonalIntReturnType<1>::Type super()
320  { return Base::template diagonal<1>(); }
321  inline const typename Base::template DiagonalIntReturnType<1>::Type super() const
322  { return Base::template diagonal<1>(); }
323  inline typename Base::template DiagonalIntReturnType<-1>::Type sub()
324  { return Base::template diagonal<-1>(); }
325  inline const typename Base::template DiagonalIntReturnType<-1>::Type sub() const
326  { return Base::template diagonal<-1>(); }
327  protected:
328 };
329 
330 
331 struct BandShape {};
332 
333 template<typename _Scalar, int _Rows, int _Cols, int _Supers, int _Subs, int _Options>
334 struct evaluator_traits<BandMatrix<_Scalar,_Rows,_Cols,_Supers,_Subs,_Options> >
335  : public evaluator_traits_base<BandMatrix<_Scalar,_Rows,_Cols,_Supers,_Subs,_Options> >
336 {
337  typedef BandShape Shape;
338 };
339 
340 template<typename _CoefficientsType,int _Rows, int _Cols, int _Supers, int _Subs,int _Options>
341 struct evaluator_traits<BandMatrixWrapper<_CoefficientsType,_Rows,_Cols,_Supers,_Subs,_Options> >
342  : public evaluator_traits_base<BandMatrixWrapper<_CoefficientsType,_Rows,_Cols,_Supers,_Subs,_Options> >
343 {
344  typedef BandShape Shape;
345 };
346 
348 
349 } // end namespace internal
350 
351 } // end namespace Eigen
352 
353 #endif // EIGEN_BANDMATRIX_H
Eigen::internal::BandMatrix
Represents a rectangular matrix with a banded storage.
Definition: BandMatrix.h:199
gtsam.examples.DogLegOptimizerExample.int
int
Definition: DogLegOptimizerExample.py:111
Eigen::internal::BandMatrixBase::subs
Index subs() const
Definition: BandMatrix.h:57
Eigen::internal::variable_if_dynamic< Index, Rows >
Eigen::internal::BandMatrixBase::DenseMatrixType
Matrix< Scalar, RowsAtCompileTime, ColsAtCompileTime > DenseMatrixType
Definition: BandMatrix.h:34
Eigen
Namespace containing all symbols from the Eigen library.
Definition: jet.h:637
Eigen::internal::BandMatrixBase::DiagonalIntReturnType::ActualIndex
@ ActualIndex
Definition: BandMatrix.h:95
Eigen::internal::TridiagonalMatrix::StorageIndex
Base::StorageIndex StorageIndex
Definition: BandMatrix.h:315
Eigen::internal::BandMatrixBase::ColsAtCompileTime
@ ColsAtCompileTime
Definition: BandMatrix.h:26
Eigen::Block
Expression of a fixed-size or dynamic-size block.
Definition: Block.h:103
Eigen::EigenBase::derived
EIGEN_DEVICE_FUNC Derived & derived()
Definition: EigenBase.h:46
Eigen::internal::traits< BandMatrix< _Scalar, _Rows, _Cols, _Supers, _Subs, _Options > >::CoefficientsType
Matrix< Scalar, DataRowsAtCompileTime, ColsAtCompileTime, int(Options) &int(RowMajor) ? RowMajor :ColMajor > CoefficientsType
Definition: BandMatrix.h:195
Eigen::internal::BandMatrix::coeffs
CoefficientsType & coeffs()
Definition: BandMatrix.h:226
Eigen::EigenBase< BandMatrix< Scalar, Rows, Cols, Supers, Subs, Options > >::Index
Eigen::Index Index
The interface type of indices.
Definition: EigenBase.h:39
Eigen::DenseShape
Definition: Constants.h:528
Eigen::internal::EigenBase2EigenBase
Definition: AssignEvaluator.h:815
Eigen::internal::BandMatrix::cols
EIGEN_CONSTEXPR Index cols() const
Definition: BandMatrix.h:217
Eigen::internal::BandMatrix::supers
EIGEN_CONSTEXPR Index supers() const
Definition: BandMatrix.h:220
Eigen::internal::BandMatrix::coeffs
const CoefficientsType & coeffs() const
Definition: BandMatrix.h:225
Eigen::internal::BandMatrixBase::DiagonalIntReturnType
Definition: BandMatrix.h:91
Eigen::EigenBase
Definition: EigenBase.h:29
Eigen::internal::BandMatrixBase::DiagonalIntReturnType::Conjugate
@ Conjugate
Definition: BandMatrix.h:94
Eigen::internal::BandMatrixBase::RowsAtCompileTime
@ RowsAtCompileTime
Definition: BandMatrix.h:25
Eigen::internal::BandMatrixBase::diagonal
Block< CoefficientsType, 1, SizeAtCompileTime > diagonal()
Definition: BandMatrix.h:84
eigen_assert
#define eigen_assert(x)
Definition: Macros.h:1037
Eigen::internal::traits< BandMatrixWrapper< _CoefficientsType, _Rows, _Cols, _Supers, _Subs, _Options > >::Scalar
_CoefficientsType::Scalar Scalar
Definition: BandMatrix.h:242
Eigen::EigenBase::size
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index size() const EIGEN_NOEXCEPT
Definition: EigenBase.h:67
Eigen::internal::evaluator_traits< BandMatrixWrapper< _CoefficientsType, _Rows, _Cols, _Supers, _Subs, _Options > >::Shape
BandShape Shape
Definition: BandMatrix.h:344
EIGEN_CONSTEXPR
#define EIGEN_CONSTEXPR
Definition: Macros.h:787
Eigen::internal::TridiagonalMatrix::TridiagonalMatrix
TridiagonalMatrix(Index size=Size)
Definition: BandMatrix.h:317
Eigen::internal::BandMatrixWrapper::cols
EIGEN_CONSTEXPR Index cols() const
Definition: BandMatrix.h:281
type
Definition: pytypes.h:1491
Eigen::internal::evaluator_traits
Definition: CoreEvaluators.h:79
Eigen::internal::BandMatrix::CoefficientsType
internal::traits< BandMatrix >::CoefficientsType CoefficientsType
Definition: BandMatrix.h:205
Eigen::internal::BandMatrixWrapper::StorageIndex
internal::traits< BandMatrixWrapper >::StorageIndex StorageIndex
Definition: BandMatrix.h:267
Eigen::internal::BandMatrixWrapper::m_subs
internal::variable_if_dynamic< Index, _Subs > m_subs
Definition: BandMatrix.h:296
Eigen::RowMajor
@ RowMajor
Definition: Constants.h:321
Eigen::internal::BandMatrixBase::diagonal
const Block< const CoefficientsType, 1, Dynamic > diagonal(Index i) const
Definition: BandMatrix.h:128
res
cout<< "Here is the matrix m:"<< endl<< m<< endl;Matrix< ptrdiff_t, 3, 1 > res
Definition: PartialRedux_count.cpp:3
Eigen::internal::BandMatrixBase::CoefficientsType
internal::traits< Derived >::CoefficientsType CoefficientsType
Definition: BandMatrix.h:36
Eigen::internal::BandMatrixWrapper
Definition: BandMatrix.h:237
Eigen::internal::BandMatrixBase::diagonal
DiagonalIntReturnType< N >::Type diagonal()
Definition: BandMatrix.h:109
Eigen::internal::BandMatrixBase::StorageIndex
DenseMatrixType::StorageIndex StorageIndex
Definition: BandMatrix.h:35
Eigen::internal::BandMatrix::BandMatrix
BandMatrix(Index rows=Rows, Index cols=Cols, Index supers=Supers, Index subs=Subs)
Definition: BandMatrix.h:207
Eigen::internal::AssignmentKind< DenseShape, BandShape >::Kind
EigenBase2EigenBase Kind
Definition: BandMatrix.h:347
Eigen::internal::traits< BandMatrixWrapper< _CoefficientsType, _Rows, _Cols, _Supers, _Subs, _Options > >::StorageKind
_CoefficientsType::StorageKind StorageKind
Definition: BandMatrix.h:243
Eigen::internal::traits< BandMatrix< _Scalar, _Rows, _Cols, _Supers, _Subs, _Options > >::StorageIndex
Eigen::Index StorageIndex
Definition: BandMatrix.h:182
Eigen::internal::BandMatrixWrapper::m_rows
internal::variable_if_dynamic< Index, _Rows > m_rows
Definition: BandMatrix.h:294
Eigen::internal::BandMatrixBase::Flags
@ Flags
Definition: BandMatrix.h:23
Eigen::internal::BandMatrixWrapper::coeffs
const CoefficientsType & coeffs() const
Definition: BandMatrix.h:289
Eigen::internal::BandMatrixBase::Base
EigenBase< Derived > Base
Definition: BandMatrix.h:37
Eigen::internal::BandMatrixWrapper::CoefficientsType
internal::traits< BandMatrixWrapper >::CoefficientsType CoefficientsType
Definition: BandMatrix.h:266
EIGEN_UNUSED_VARIABLE
#define EIGEN_UNUSED_VARIABLE(var)
Definition: Macros.h:1076
Eigen::internal::BandMatrixWrapper::m_supers
internal::variable_if_dynamic< Index, _Supers > m_supers
Definition: BandMatrix.h:295
Eigen::LvalueBit
const unsigned int LvalueBit
Definition: Constants.h:144
Eigen::internal::BandMatrixWrapper::BandMatrixWrapper
BandMatrixWrapper(const CoefficientsType &coeffs, Index rows=_Rows, Index cols=_Cols, Index supers=_Supers, Index subs=_Subs)
Definition: BandMatrix.h:269
Eigen::internal::BandMatrix::m_coeffs
CoefficientsType m_coeffs
Definition: BandMatrix.h:230
Eigen::internal::BandMatrixBase::Supers
@ Supers
Definition: BandMatrix.h:29
Eigen::internal::BandMatrixBase
Definition: BandMatrix.h:18
Eigen::internal::BandMatrixBase::diagonal
const Block< const CoefficientsType, 1, SizeAtCompileTime > diagonal() const
Definition: BandMatrix.h:88
Eigen::internal::BandMatrixBase::MaxRowsAtCompileTime
@ MaxRowsAtCompileTime
Definition: BandMatrix.h:27
Eigen::internal::BandMatrixBase::Scalar
internal::traits< Derived >::Scalar Scalar
Definition: BandMatrix.h:33
Eigen::Dynamic
const int Dynamic
Definition: Constants.h:22
Eigen::Architecture::Type
Type
Definition: Constants.h:471
Eigen::internal::BandMatrixBase::coeffs
const CoefficientsType & coeffs() const
Definition: BandMatrix.h:60
Eigen::internal::BandMatrix::m_supers
internal::variable_if_dynamic< Index, Supers > m_supers
Definition: BandMatrix.h:232
EIGEN_SIZE_MIN_PREFER_DYNAMIC
#define EIGEN_SIZE_MIN_PREFER_DYNAMIC(a, b)
Definition: Macros.h:1294
Eigen::internal::TridiagonalMatrix::Base
BandMatrix< Scalar, Size, Size, Options &SelfAdjoint?0:1, 1, Options|RowMajor > Base
Definition: BandMatrix.h:314
Eigen::internal::TridiagonalMatrix::super
const Base::template DiagonalIntReturnType< 1 >::Type super() const
Definition: BandMatrix.h:321
Eigen::internal::BandMatrixBase::coeffs
CoefficientsType & coeffs()
Definition: BandMatrix.h:63
Eigen::internal::evaluator_traits_base
Definition: CoreEvaluators.h:70
Eigen::internal::BandMatrix::m_rows
internal::variable_if_dynamic< Index, Rows > m_rows
Definition: BandMatrix.h:231
Eigen::internal::BandMatrix::StorageIndex
internal::traits< BandMatrix >::StorageIndex StorageIndex
Definition: BandMatrix.h:204
Eigen::internal::BandShape
Definition: BandMatrix.h:331
Eigen::internal::TridiagonalMatrix::sub
Base::template DiagonalIntReturnType<-1 >::Type sub()
Definition: BandMatrix.h:323
Eigen::internal::BandMatrixBase::SizeAtCompileTime
@ SizeAtCompileTime
Definition: BandMatrix.h:44
Eigen::internal::BandMatrix::Scalar
internal::traits< BandMatrix >::Scalar Scalar
Definition: BandMatrix.h:203
Eigen::internal::BandMatrixBase::diagonalLength
Index diagonalLength(Index i) const
Definition: BandMatrix.h:154
Eigen::internal::traits< BandMatrixWrapper< _CoefficientsType, _Rows, _Cols, _Supers, _Subs, _Options > >::CoefficientsType
_CoefficientsType CoefficientsType
Definition: BandMatrix.h:257
Eigen::internal::BandMatrixBase::DiagonalIntReturnType::DiagonalSize
@ DiagonalSize
Definition: BandMatrix.h:96
Eigen::internal::TridiagonalMatrix::super
Base::template DiagonalIntReturnType< 1 >::Type super()
Definition: BandMatrix.h:319
Eigen::Conjugate
Definition: ForwardDeclarations.h:87
Eigen::internal::BandMatrixBase::Subs
@ Subs
Definition: BandMatrix.h:30
Eigen::internal::BandMatrixBase::evalTo
void evalTo(Dest &dst) const
Definition: BandMatrix.h:134
Eigen::internal::BandMatrixBase::Options
@ Options
Definition: BandMatrix.h:31
Eigen::internal::traits
Definition: ForwardDeclarations.h:17
Eigen::internal::BandMatrixWrapper::m_coeffs
const CoefficientsType & m_coeffs
Definition: BandMatrix.h:293
Eigen::internal::BandMatrixBase::CoeffReadCost
@ CoeffReadCost
Definition: BandMatrix.h:24
EIGEN_STATIC_ASSERT
#define EIGEN_STATIC_ASSERT(CONDITION, MSG)
Definition: StaticAssert.h:127
Eigen::CwiseUnaryOp
Generic expression where a coefficient-wise unary operator is applied to an expression.
Definition: CwiseUnaryOp.h:55
Eigen::internal::conditional
Definition: Meta.h:109
Eigen::internal::BandMatrixBase::DataRowsAtCompileTime
@ DataRowsAtCompileTime
Definition: BandMatrix.h:41
Eigen::internal::BandMatrixBase::DiagonalIntReturnType::Type
internal::conditional< Conjugate, CwiseUnaryOp< internal::scalar_conjugate_op< Scalar >, BuildType >, BuildType >::type Type
Definition: BandMatrix.h:105
Eigen::internal::traits< BandMatrix< _Scalar, _Rows, _Cols, _Supers, _Subs, _Options > >::StorageKind
Dense StorageKind
Definition: BandMatrix.h:181
Eigen::internal::BandMatrixBase::diagonal
Block< CoefficientsType, 1, Dynamic > diagonal(Index i)
Definition: BandMatrix.h:121
Eigen::internal::evaluator_traits< BandMatrix< _Scalar, _Rows, _Cols, _Supers, _Subs, _Options > >::Shape
BandShape Shape
Definition: BandMatrix.h:337
min
#define min(a, b)
Definition: datatypes.h:19
Eigen::internal::BandMatrixWrapper::subs
EIGEN_CONSTEXPR Index subs() const
Definition: BandMatrix.h:287
Eigen::internal::TridiagonalMatrix
Represents a tridiagonal matrix with a compact banded storage.
Definition: BandMatrix.h:312
Eigen::internal::BandMatrixWrapper::rows
EIGEN_CONSTEXPR Index rows() const
Definition: BandMatrix.h:278
Eigen::Matrix
The matrix class, also used for vectors and row-vectors.
Definition: 3rdparty/Eigen/Eigen/src/Core/Matrix.h:178
len
size_t len(handle h)
Get the length of a Python object.
Definition: pytypes.h:2399
N
#define N
Definition: igam.h:9
internal
Definition: BandTriangularSolver.h:13
Eigen::internal::traits< BandMatrixWrapper< _CoefficientsType, _Rows, _Cols, _Supers, _Subs, _Options > >::StorageIndex
_CoefficientsType::StorageIndex StorageIndex
Definition: BandMatrix.h:244
Eigen::EigenBase::rows
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index rows() const EIGEN_NOEXCEPT
Definition: EigenBase.h:60
Eigen::EigenBase::cols
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index cols() const EIGEN_NOEXCEPT
Definition: EigenBase.h:63
Eigen::internal::BandMatrixBase::col
Block< CoefficientsType, Dynamic, 1 > col(Index i)
Definition: BandMatrix.h:68
Eigen::internal::BandMatrix::m_subs
internal::variable_if_dynamic< Index, Subs > m_subs
Definition: BandMatrix.h:233
Eigen::ColMajor
@ ColMajor
Definition: Constants.h:319
Eigen::internal::BandMatrixBase::toDenseMatrix
DenseMatrixType toDenseMatrix() const
Definition: BandMatrix.h:145
max
#define max(a, b)
Definition: datatypes.h:20
Eigen::internal::BandMatrixWrapper::supers
EIGEN_CONSTEXPR Index supers() const
Definition: BandMatrix.h:284
Eigen::internal::BandMatrixBase::DiagonalIntReturnType::BuildType
Block< CoefficientsType, 1, DiagonalSize > BuildType
Definition: BandMatrix.h:102
Eigen::internal::BandMatrixBase::MaxColsAtCompileTime
@ MaxColsAtCompileTime
Definition: BandMatrix.h:28
Eigen::NumTraits
Holds information about the various numeric (i.e. scalar) types allowed by Eigen.
Definition: NumTraits.h:232
i
int i
Definition: BiCGSTAB_step_by_step.cpp:9
Eigen::internal::BandMatrixWrapper::Scalar
internal::traits< BandMatrixWrapper >::Scalar Scalar
Definition: BandMatrix.h:265
Eigen::internal::BandMatrix::rows
EIGEN_CONSTEXPR Index rows() const
Definition: BandMatrix.h:214
Eigen::internal::BandMatrixBase::supers
Index supers() const
Definition: BandMatrix.h:54
Eigen::SelfAdjoint
@ SelfAdjoint
Definition: Constants.h:225
Eigen::internal::TridiagonalMatrix::sub
const Base::template DiagonalIntReturnType<-1 >::Type sub() const
Definition: BandMatrix.h:325
Eigen::internal::BandMatrixBase::diagonal
const DiagonalIntReturnType< N >::Type diagonal() const
Definition: BandMatrix.h:115
Eigen::internal::AssignmentKind
Definition: AssignEvaluator.h:811
Eigen::internal::traits< BandMatrix< _Scalar, _Rows, _Cols, _Supers, _Subs, _Options > >::Scalar
_Scalar Scalar
Definition: BandMatrix.h:180
Scalar
SCALAR Scalar
Definition: bench_gemm.cpp:46
Eigen::internal::BandMatrix::subs
EIGEN_CONSTEXPR Index subs() const
Definition: BandMatrix.h:223
Eigen::Index
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
Definition: Meta.h:74
Eigen::Dense
Definition: Constants.h:507
Cols
static const int Cols
Definition: testCallRecord.cpp:32
Eigen::internal::BandMatrixBase::DiagonalIntReturnType::ReturnOpposite
@ ReturnOpposite
Definition: BandMatrix.h:93


gtsam
Author(s):
autogenerated on Thu Jun 13 2024 03:01:46