10 #ifndef EIGEN_BANDMATRIX_H
11 #define EIGEN_BANDMATRIX_H
17 template<
typename Derived>
79 len = std::max<Index>(0,
coeffs().rows() - (i + 1 -
rows() +
subs()));
134 template<
typename Dest>
inline void evalTo(Dest& dst)
const
177 template<
typename _Scalar,
int _Rows,
int _Cols,
int _Supers,
int _Subs,
int _Options>
198 template<
typename _Scalar,
int Rows,
int Cols,
int Supers,
int Subs,
int Options>
236 template<
typename _CoefficientsType,
int _Rows,
int _Cols,
int _Supers,
int _Subs,
int _Options>
239 template<
typename _CoefficientsType,
int _Rows,
int _Cols,
int _Supers,
int _Subs,
int _Options>
242 typedef typename _CoefficientsType::Scalar
Scalar;
260 template<
typename _CoefficientsType,
int _Rows,
int _Cols,
int _Supers,
int _Subs,
int _Options>
311 template<
typename Scalar,
int Size,
int Options>
320 {
return Base::template diagonal<1>(); }
322 {
return Base::template diagonal<1>(); }
324 {
return Base::template
diagonal<-1>(); }
326 {
return Base::template
diagonal<-1>(); }
333 template<
typename _Scalar,
int _Rows,
int _Cols,
int _Supers,
int _Subs,
int _Options>
340 template<
typename _CoefficientsType,
int _Rows,
int _Cols,
int _Supers,
int _Subs,
int _Options>
342 :
public evaluator_traits_base<BandMatrixWrapper<_CoefficientsType,_Rows,_Cols,_Supers,_Subs,_Options> >
#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
#define EIGEN_STATIC_ASSERT(CONDITION, MSG)
Definition: StaticAssert.h:127
Expression of a fixed-size or dynamic-size block.
Definition: Block.h:105
Definition: ForwardDeclarations.h:87
Generic expression where a coefficient-wise unary operator is applied to an expression.
Definition: CwiseUnaryOp.h:56
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
DiagonalIntReturnType< N >::Type diagonal()
Definition: BandMatrix.h:109
DenseMatrixType::StorageIndex StorageIndex
Definition: BandMatrix.h:35
EIGEN_DEVICE_FUNC Derived & derived()
Definition: EigenBase.h:46
@ SizeAtCompileTime
Definition: BandMatrix.h:44
@ DataRowsAtCompileTime
Definition: BandMatrix.h:41
void evalTo(Dest &dst) const
Definition: BandMatrix.h:134
Matrix< Scalar, RowsAtCompileTime, ColsAtCompileTime > DenseMatrixType
Definition: BandMatrix.h:34
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index cols() const EIGEN_NOEXCEPT
Definition: EigenBase.h:63
Block< CoefficientsType, 1, Dynamic > diagonal(Index i)
Definition: BandMatrix.h:121
Index supers() const
Definition: BandMatrix.h:54
Index diagonalLength(Index i) const
Definition: BandMatrix.h:154
@ 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
const Block< const CoefficientsType, 1, SizeAtCompileTime > diagonal() const
Definition: BandMatrix.h:88
const Block< const CoefficientsType, 1, Dynamic > diagonal(Index i) const
Definition: BandMatrix.h:128
const DiagonalIntReturnType< N >::Type diagonal() const
Definition: BandMatrix.h:115
DenseMatrixType toDenseMatrix() const
Definition: BandMatrix.h:145
CoefficientsType & coeffs()
Definition: BandMatrix.h:63
const CoefficientsType & coeffs() const
Definition: BandMatrix.h:60
Block< CoefficientsType, 1, SizeAtCompileTime > diagonal()
Definition: BandMatrix.h:84
Block< CoefficientsType, Dynamic, 1 > col(Index i)
Definition: BandMatrix.h:68
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
Definition: BandMatrix.h:262
BandMatrixWrapper(const CoefficientsType &coeffs, Index rows=_Rows, Index cols=_Cols, Index supers=_Supers, Index subs=_Subs)
Definition: BandMatrix.h:269
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
const CoefficientsType & coeffs() const
Definition: BandMatrix.h:289
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
Represents a tridiagonal matrix with a compact banded storage.
Definition: BandMatrix.h:313
BandMatrix< Scalar, Size, Size, Options &SelfAdjoint?0:1, 1, Options|RowMajor > Base
Definition: BandMatrix.h:314
const Base::template DiagonalIntReturnType< 1 >::Type super() const
Definition: BandMatrix.h:321
Base::template DiagonalIntReturnType< 1 >::Type super()
Definition: BandMatrix.h:319
const Base::template DiagonalIntReturnType<-1 >::Type sub() const
Definition: BandMatrix.h:325
TridiagonalMatrix(Index size=Size)
Definition: BandMatrix.h:317
Base::StorageIndex StorageIndex
Definition: BandMatrix.h:315
Base::template DiagonalIntReturnType<-1 >::Type sub()
Definition: BandMatrix.h:323
@ SelfAdjoint
Definition: Constants.h:225
@ ColMajor
Definition: Constants.h:319
@ RowMajor
Definition: Constants.h:321
const unsigned int LvalueBit
Definition: Constants.h:144
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16() max(const bfloat16 &a, const bfloat16 &b)
Definition: BFloat16.h:576
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16() min(const bfloat16 &a, const bfloat16 &b)
Definition: BFloat16.h:571
Namespace containing all symbols from the Eigen library.
Definition: LDLT.h:16
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
type
The type the bitset is encoded with.
Definition: bitset.hpp:44
Definition: document.h:416
Type
Type of JSON value.
Definition: rapidjson.h:644
Definition: Constants.h:528
Definition: Constants.h:507
Definition: EigenBase.h:30
EIGEN_DEVICE_FUNC Derived & derived()
Definition: EigenBase.h:46
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 EIGEN_CONSTEXPR Index size() const EIGEN_NOEXCEPT
Definition: EigenBase.h:67
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