10#ifndef EIGEN_BANDMATRIX_H
11#define EIGEN_BANDMATRIX_H
17template<
typename Derived>
177template<
typename _Scalar,
int _Rows,
int _Cols,
int _Supers,
int _Subs,
int _Options>
193 DataRowsAtCompileTime = ((Supers!=
Dynamic) && (Subs!=Dynamic)) ? 1 + Supers + Subs :
Dynamic
198template<
typename _Scalar,
int Rows,
int Cols,
int Supers,
int Subs,
int Options>
208 : m_coeffs(1+supers+subs,
cols),
209 m_rows(
rows), m_supers(supers), m_subs(subs)
236template<
typename _CoefficientsType,
int _Rows,
int _Cols,
int _Supers,
int _Subs,
int _Options>
239template<
typename _CoefficientsType,
int _Rows,
int _Cols,
int _Supers,
int _Subs,
int _Options>
242 typedef typename _CoefficientsType::Scalar
Scalar;
255 DataRowsAtCompileTime = ((Supers!=
Dynamic) && (Subs!=Dynamic)) ? 1 + Supers + Subs :
Dynamic
260template<
typename _CoefficientsType,
int _Rows,
int _Cols,
int _Supers,
int _Subs,
int _Options>
271 m_rows(
rows), m_supers(supers), m_subs(subs)
311template<
typename Scalar,
int Size,
int Options>
324 {
return Base::template
diagonal<-1>(); }
326 {
return Base::template
diagonal<-1>(); }
333template<
typename _Scalar,
int _Rows,
int _Cols,
int _Supers,
int _Subs,
int _Options>
340template<
typename _CoefficientsType,
int _Rows,
int _Cols,
int _Supers,
int _Subs,
int _Options>
342 :
public evaluator_traits_base<BandMatrixWrapper<_CoefficientsType,_Rows,_Cols,_Supers,_Subs,_Options> >
int i
Definition BiCGSTAB_step_by_step.cpp:9
#define EIGEN_SIZE_MIN_PREFER_DYNAMIC(a, b)
Definition Macros.h:1294
#define EIGEN_CONSTEXPR
Definition Macros.h:787
#define EIGEN_UNUSED_VARIABLE(var)
Definition Macros.h:1076
#define eigen_assert(x)
Definition Macros.h:1037
cout<< "Here is the matrix m:"<< endl<< m<< endl;Matrix< ptrdiff_t, 3, 1 > res
Definition PartialRedux_count.cpp:3
#define EIGEN_STATIC_ASSERT(CONDITION, MSG)
Definition StaticAssert.h:127
int rows
Definition Tutorial_commainit_02.cpp:1
int cols
Definition Tutorial_commainit_02.cpp:1
Scalar Scalar int size
Definition benchVecAdd.cpp:17
SCALAR Scalar
Definition bench_gemm.cpp:46
Definition ForwardDeclarations.h:87
The matrix class, also used for vectors and row-vectors.
Definition Matrix.h:180
Definition BandMatrix.h:19
Index subs() const
Definition BandMatrix.h:57
internal::traits< Derived >::CoefficientsType CoefficientsType
Definition BandMatrix.h:36
DenseMatrixType::StorageIndex StorageIndex
Definition BandMatrix.h:35
Block< CoefficientsType, Dynamic, 1 > col(Index i)
Definition BandMatrix.h:68
@ SizeAtCompileTime
Definition BandMatrix.h:44
@ DataRowsAtCompileTime
Definition BandMatrix.h:41
void evalTo(Dest &dst) const
Definition BandMatrix.h:134
@ MaxColsAtCompileTime
Definition BandMatrix.h:28
@ RowsAtCompileTime
Definition BandMatrix.h:25
@ Supers
Definition BandMatrix.h:29
@ Flags
Definition BandMatrix.h:23
@ CoeffReadCost
Definition BandMatrix.h:24
@ Subs
Definition BandMatrix.h:30
@ MaxRowsAtCompileTime
Definition BandMatrix.h:27
@ ColsAtCompileTime
Definition BandMatrix.h:26
@ Options
Definition BandMatrix.h:31
Matrix< Scalar, RowsAtCompileTime, ColsAtCompileTime > DenseMatrixType
Definition BandMatrix.h:34
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index cols() const EIGEN_NOEXCEPT
Definition EigenBase.h:63
Index supers() const
Definition BandMatrix.h:54
Index diagonalLength(Index i) const
Definition BandMatrix.h:154
const Block< const CoefficientsType, 1, Dynamic > diagonal(Index i) const
Definition BandMatrix.h:128
const DiagonalIntReturnType< N >::Type diagonal() const
Definition BandMatrix.h:115
const CoefficientsType & coeffs() const
Definition BandMatrix.h:60
CoefficientsType & coeffs()
Definition BandMatrix.h:63
DiagonalIntReturnType< N >::Type diagonal()
Definition BandMatrix.h:109
DenseMatrixType toDenseMatrix() const
Definition BandMatrix.h:145
EIGEN_DEVICE_FUNC Derived & derived()
Definition EigenBase.h:46
Block< CoefficientsType, 1, SizeAtCompileTime > diagonal()
Definition BandMatrix.h:84
Block< CoefficientsType, 1, Dynamic > diagonal(Index i)
Definition BandMatrix.h:121
EigenBase< Derived > Base
Definition BandMatrix.h:37
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index rows() const EIGEN_NOEXCEPT
Definition EigenBase.h:60
internal::traits< Derived >::Scalar Scalar
Definition BandMatrix.h:33
const Block< const CoefficientsType, 1, SizeAtCompileTime > diagonal() const
Definition BandMatrix.h:88
Definition BandMatrix.h:262
BandMatrixWrapper(const CoefficientsType &coeffs, Index rows=_Rows, Index cols=_Cols, Index supers=_Supers, Index subs=_Subs)
Definition BandMatrix.h:269
const CoefficientsType & coeffs() const
Definition BandMatrix.h:289
EIGEN_CONSTEXPR Index supers() const
Definition BandMatrix.h:284
internal::traits< BandMatrixWrapper >::StorageIndex StorageIndex
Definition BandMatrix.h:267
internal::traits< BandMatrixWrapper >::Scalar Scalar
Definition BandMatrix.h:265
internal::variable_if_dynamic< Index, _Supers > m_supers
Definition BandMatrix.h:295
internal::variable_if_dynamic< Index, _Rows > m_rows
Definition BandMatrix.h:294
EIGEN_CONSTEXPR Index rows() const
Definition BandMatrix.h:278
internal::variable_if_dynamic< Index, _Subs > m_subs
Definition BandMatrix.h:296
const CoefficientsType & m_coeffs
Definition BandMatrix.h:293
internal::traits< BandMatrixWrapper >::CoefficientsType CoefficientsType
Definition BandMatrix.h:266
EIGEN_CONSTEXPR Index cols() const
Definition BandMatrix.h:281
EIGEN_CONSTEXPR Index subs() const
Definition BandMatrix.h:287
Represents a rectangular matrix with a banded storage.
Definition BandMatrix.h:200
internal::variable_if_dynamic< Index, Rows > m_rows
Definition BandMatrix.h:231
internal::traits< BandMatrix >::Scalar Scalar
Definition BandMatrix.h:203
internal::traits< BandMatrix >::StorageIndex StorageIndex
Definition BandMatrix.h:204
const CoefficientsType & coeffs() const
Definition BandMatrix.h:225
internal::variable_if_dynamic< Index, Supers > m_supers
Definition BandMatrix.h:232
internal::traits< BandMatrix >::CoefficientsType CoefficientsType
Definition BandMatrix.h:205
EIGEN_CONSTEXPR Index supers() const
Definition BandMatrix.h:220
internal::variable_if_dynamic< Index, Subs > m_subs
Definition BandMatrix.h:233
CoefficientsType & coeffs()
Definition BandMatrix.h:226
CoefficientsType m_coeffs
Definition BandMatrix.h:230
EIGEN_CONSTEXPR Index rows() const
Definition BandMatrix.h:214
EIGEN_CONSTEXPR Index subs() const
Definition BandMatrix.h:223
BandMatrix(Index rows=Rows, Index cols=Cols, Index supers=Supers, Index subs=Subs)
Definition BandMatrix.h:207
EIGEN_CONSTEXPR Index cols() const
Definition BandMatrix.h:217
Definition TensorRef.h:81
Represents a tridiagonal matrix with a compact banded storage.
Definition BandMatrix.h:313
Base::template DiagonalIntReturnType< 1 >::Type super()
Definition BandMatrix.h:319
const Base::template DiagonalIntReturnType< 1 >::Type super() const
Definition BandMatrix.h:321
Base::template DiagonalIntReturnType<-1 >::Type sub()
Definition BandMatrix.h:323
const Base::template DiagonalIntReturnType<-1 >::Type sub() const
Definition BandMatrix.h:325
TridiagonalMatrix(Index size=Size)
Definition BandMatrix.h:317
@ N
Definition constructor.cpp:23
void diagonal(const MatrixType &m)
Definition diagonal.cpp:12
@ SelfAdjoint
Definition Constants.h:225
@ ColMajor
Definition Constants.h:319
@ RowMajor
Definition Constants.h:321
const unsigned int LvalueBit
Definition Constants.h:144
Namespace containing all symbols from the Eigen library.
Definition bench_norm.cpp:85
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
Definition Meta.h:74
const int Dynamic
Definition Constants.h:22
Definition BandTriangularSolver.h:13
Definition Constants.h:528
Definition Constants.h:507
Definition EigenBase.h:30
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index cols() const EIGEN_NOEXCEPT
Definition EigenBase.h:63
Eigen::Index Index
The interface type of indices.
Definition EigenBase.h:39
EIGEN_DEVICE_FUNC Derived & derived()
Definition EigenBase.h:46
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index rows() const EIGEN_NOEXCEPT
Definition EigenBase.h:60
Holds information about the various numeric (i.e. scalar) types allowed by Eigen.
Definition NumTraits.h:233
EigenBase2EigenBase Kind
Definition BandMatrix.h:347
Definition AssignEvaluator.h:817
Definition BandMatrix.h:91
@ DiagonalSize
Definition BandMatrix.h:96
@ ActualIndex
Definition BandMatrix.h:95
@ Conjugate
Definition BandMatrix.h:94
@ ReturnOpposite
Definition BandMatrix.h:93
internal::conditional< Conjugate, CwiseUnaryOp< internal::scalar_conjugate_op< Scalar >, BuildType >, BuildType >::type Type
Definition BandMatrix.h:105
Block< CoefficientsType, 1, DiagonalSize > BuildType
Definition BandMatrix.h:102
Definition BandMatrix.h:331
Definition AssignEvaluator.h:815
BandShape Shape
Definition BandMatrix.h:344
BandShape Shape
Definition BandMatrix.h:337
Definition CoreEvaluators.h:71
Definition CoreEvaluators.h:80
_CoefficientsType::StorageKind StorageKind
Definition BandMatrix.h:243
_CoefficientsType::Scalar Scalar
Definition BandMatrix.h:242
_CoefficientsType CoefficientsType
Definition BandMatrix.h:257
_CoefficientsType::StorageIndex StorageIndex
Definition BandMatrix.h:244
Matrix< Scalar, DataRowsAtCompileTime, ColsAtCompileTime, int(Options) &int(RowMajor) ? RowMajor :ColMajor > CoefficientsType
Definition BandMatrix.h:195
_Scalar Scalar
Definition BandMatrix.h:180
Eigen::Index StorageIndex
Definition BandMatrix.h:182
Dense StorageKind
Definition BandMatrix.h:181
Definition ForwardDeclarations.h:17