ForwardDeclarations.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) 2007-2010 Benoit Jacob <jacob.benoit.1@gmail.com>
5 // Copyright (C) 2008-2009 Gael Guennebaud <gael.guennebaud@inria.fr>
6 //
7 // This Source Code Form is subject to the terms of the Mozilla
8 // Public License v. 2.0. If a copy of the MPL was not distributed
9 // with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
10 
11 #ifndef EIGEN_FORWARDDECLARATIONS_H
12 #define EIGEN_FORWARDDECLARATIONS_H
13 
14 // IWYU pragma: private
15 #include "../InternalHeaderCheck.h"
16 
17 namespace Eigen {
18 namespace internal {
19 
20 template <typename T>
21 struct traits;
22 
23 // here we say once and for all that traits<const T> == traits<T>
24 // When constness must affect traits, it has to be constness on template parameters on which T itself depends.
25 // For example, traits<Map<const T> > != traits<Map<T> >, but
26 // traits<const Map<T> > == traits<Map<T> >
27 template <typename T>
28 struct traits<const T> : traits<T> {};
29 
30 template <typename Derived>
32  enum { ret = (traits<Derived>::Flags & DirectAccessBit) ? 1 : 0 };
33 };
34 
35 template <typename Derived>
37  enum {
42  };
43 };
44 
45 template <typename T>
46 struct evaluator_traits;
47 
48 template <typename T>
49 struct evaluator;
50 
51 } // end namespace internal
52 
53 template <typename T>
54 struct NumTraits;
55 
56 template <typename Derived>
57 struct EigenBase;
58 template <typename Derived>
59 class DenseBase;
60 template <typename Derived>
61 class PlainObjectBase;
62 template <typename Derived, int Level>
64 
65 template <typename Scalar_, int Rows_, int Cols_,
66  int Options_ = AutoAlign | ((Rows_ == 1 && Cols_ != 1) ? Eigen::RowMajor
67  : (Cols_ == 1 && Rows_ != 1) ? Eigen::ColMajor
69  int MaxRows_ = Rows_, int MaxCols_ = Cols_>
70 class Matrix;
71 
72 template <typename Derived>
73 class MatrixBase;
74 template <typename Derived>
75 class ArrayBase;
76 
77 template <typename ExpressionType, unsigned int Added, unsigned int Removed>
78 class Flagged;
79 template <typename ExpressionType, template <typename> class StorageBase>
80 class NoAlias;
81 template <typename ExpressionType>
82 class NestByValue;
83 template <typename ExpressionType>
84 class ForceAlignedAccess;
85 template <typename ExpressionType>
87 
88 template <typename XprType, int BlockRows = Dynamic, int BlockCols = Dynamic, bool InnerPanel = false>
89 class Block;
90 template <typename XprType, typename RowIndices, typename ColIndices>
91 class IndexedView;
92 template <typename XprType, int Rows = Dynamic, int Cols = Dynamic, int Order = 0>
93 class Reshaped;
94 template <typename FirstType, typename SizeType, typename IncrType>
95 class ArithmeticSequence;
96 
97 template <typename MatrixType, int Size = Dynamic>
98 class VectorBlock;
99 template <typename MatrixType>
100 class Transpose;
101 template <typename MatrixType>
102 class Conjugate;
103 template <typename NullaryOp, typename MatrixType>
104 class CwiseNullaryOp;
105 template <typename UnaryOp, typename MatrixType>
106 class CwiseUnaryOp;
107 template <typename BinaryOp, typename Lhs, typename Rhs>
108 class CwiseBinaryOp;
109 template <typename TernaryOp, typename Arg1, typename Arg2, typename Arg3>
110 class CwiseTernaryOp;
111 template <typename Decomposition, typename Rhstype>
112 class Solve;
113 template <typename XprType>
114 class Inverse;
115 
116 template <typename Lhs, typename Rhs, int Option = DefaultProduct>
117 class Product;
118 
119 template <typename Derived>
120 class DiagonalBase;
121 template <typename DiagonalVectorType_>
122 class DiagonalWrapper;
123 template <typename Scalar_, int SizeAtCompileTime, int MaxSizeAtCompileTime = SizeAtCompileTime>
124 class DiagonalMatrix;
125 template <typename MatrixType, typename DiagonalType, int ProductOrder>
127 template <typename MatrixType, int Index = 0>
128 class Diagonal;
129 template <typename Derived>
130 class SkewSymmetricBase;
131 template <typename VectorType_>
133 template <typename Scalar_>
135 template <int SizeAtCompileTime, int MaxSizeAtCompileTime = SizeAtCompileTime, typename IndexType = int>
136 class PermutationMatrix;
137 template <int SizeAtCompileTime, int MaxSizeAtCompileTime = SizeAtCompileTime, typename IndexType = int>
138 class Transpositions;
139 template <typename Derived>
140 class PermutationBase;
141 template <typename Derived>
142 class TranspositionsBase;
143 template <typename IndicesType_>
144 class PermutationWrapper;
145 template <typename IndicesType_>
147 
148 template <typename Derived,
150 class MapBase;
151 template <int OuterStrideAtCompileTime, int InnerStrideAtCompileTime>
152 class Stride;
153 template <int Value = Dynamic>
154 class InnerStride;
155 template <int Value = Dynamic>
156 class OuterStride;
157 template <typename MatrixType, int MapOptions = Unaligned, typename StrideType = Stride<0, 0>>
158 class Map;
159 template <typename Derived>
160 class RefBase;
161 template <typename PlainObjectType, int Options = 0,
162  typename StrideType =
163  typename std::conditional_t<PlainObjectType::IsVectorAtCompileTime, InnerStride<1>, OuterStride<>>>
164 class Ref;
165 template <typename ViewOp, typename MatrixType, typename StrideType = Stride<0, 0>>
166 class CwiseUnaryView;
167 
168 template <typename Derived>
169 class TriangularBase;
170 template <typename MatrixType, unsigned int Mode>
171 class TriangularView;
172 template <typename MatrixType, unsigned int Mode>
173 class SelfAdjointView;
174 template <typename MatrixType>
175 class SparseView;
176 template <typename ExpressionType>
177 class WithFormat;
178 template <typename MatrixType>
179 struct CommaInitializer;
180 template <typename Derived>
181 class ReturnByValue;
182 template <typename ExpressionType>
183 class ArrayWrapper;
184 template <typename ExpressionType>
185 class MatrixWrapper;
186 template <typename Derived>
187 class SolverBase;
188 template <typename XprType>
189 class InnerIterator;
190 
191 namespace internal {
192 template <typename XprType>
193 class generic_randaccess_stl_iterator;
194 template <typename XprType>
195 class pointer_based_stl_iterator;
196 template <typename XprType, DirectionType Direction>
197 class subvector_stl_iterator;
198 template <typename XprType, DirectionType Direction>
199 class subvector_stl_reverse_iterator;
200 template <typename DecompositionType>
201 struct kernel_retval_base;
202 template <typename DecompositionType>
204 template <typename DecompositionType>
205 struct image_retval_base;
206 template <typename DecompositionType>
208 } // end namespace internal
209 
210 namespace internal {
211 template <typename Scalar_, int Rows = Dynamic, int Cols = Dynamic, int Supers = Dynamic, int Subs = Dynamic,
212  int Options = 0>
213 class BandMatrix;
214 }
215 
216 namespace internal {
217 template <typename Lhs, typename Rhs>
218 struct product_type;
219 
220 template <bool>
221 struct EnableIf;
222 
229  typename LhsShape = typename evaluator_traits<typename T::Lhs>::Shape,
230  typename RhsShape = typename evaluator_traits<typename T::Rhs>::Shape,
231  typename LhsScalar = typename traits<typename T::Lhs>::Scalar,
232  typename RhsScalar = typename traits<typename T::Rhs>::Scalar>
233 struct product_evaluator;
234 } // namespace internal
235 
238 
239 // this is a workaround for sun CC
240 template <typename Lhs, typename Rhs>
242 
243 namespace internal {
244 
245 // Provides scalar/packet-wise product and product with accumulation
246 // with optional conjugation of the arguments.
247 template <typename LhsScalar, typename RhsScalar, bool ConjLhs = false, bool ConjRhs = false>
248 struct conj_helper;
249 
250 template <typename LhsScalar, typename RhsScalar = LhsScalar>
251 struct scalar_sum_op;
252 template <typename LhsScalar, typename RhsScalar = LhsScalar>
253 struct scalar_difference_op;
254 template <typename LhsScalar, typename RhsScalar = LhsScalar>
255 struct scalar_conj_product_op;
256 template <typename LhsScalar, typename RhsScalar = LhsScalar, int NaNPropagation = PropagateFast>
257 struct scalar_min_op;
258 template <typename LhsScalar, typename RhsScalar = LhsScalar, int NaNPropagation = PropagateFast>
259 struct scalar_max_op;
260 template <typename Scalar>
261 struct scalar_opposite_op;
262 template <typename Scalar>
263 struct scalar_conjugate_op;
264 template <typename Scalar>
265 struct scalar_real_op;
266 template <typename Scalar>
267 struct scalar_imag_op;
268 template <typename Scalar>
269 struct scalar_abs_op;
270 template <typename Scalar>
271 struct scalar_abs2_op;
272 template <typename LhsScalar, typename RhsScalar = LhsScalar>
273 struct scalar_absolute_difference_op;
274 template <typename Scalar>
275 struct scalar_sqrt_op;
276 template <typename Scalar>
277 struct scalar_cbrt_op;
278 template <typename Scalar>
279 struct scalar_rsqrt_op;
280 template <typename Scalar>
281 struct scalar_exp_op;
282 template <typename Scalar>
283 struct scalar_log_op;
284 template <typename Scalar>
285 struct scalar_cos_op;
286 template <typename Scalar>
287 struct scalar_sin_op;
288 template <typename Scalar>
289 struct scalar_acos_op;
290 template <typename Scalar>
291 struct scalar_asin_op;
292 template <typename Scalar>
293 struct scalar_tan_op;
294 template <typename Scalar>
295 struct scalar_atan_op;
296 template <typename LhsScalar, typename RhsScalar = LhsScalar>
297 struct scalar_atan2_op;
298 template <typename Scalar>
299 struct scalar_inverse_op;
300 template <typename Scalar>
301 struct scalar_square_op;
302 template <typename Scalar>
303 struct scalar_cube_op;
304 template <typename Scalar, typename NewType>
305 struct scalar_cast_op;
306 template <typename Scalar>
307 struct scalar_random_op;
308 template <typename Scalar>
309 struct scalar_constant_op;
310 template <typename Scalar>
311 struct scalar_identity_op;
312 template <typename Scalar>
313 struct scalar_sign_op;
314 template <typename Scalar, typename ScalarExponent>
315 struct scalar_pow_op;
316 template <typename Scalar, typename ScalarExponent, bool BaseIsInteger, bool ExponentIsInteger, bool BaseIsComplex,
317  bool ExponentIsComplex>
318 struct scalar_unary_pow_op;
319 template <typename LhsScalar, typename RhsScalar = LhsScalar>
321 template <typename LhsScalar, typename RhsScalar = LhsScalar>
322 struct scalar_product_op;
323 template <typename LhsScalar, typename RhsScalar = LhsScalar>
324 struct scalar_quotient_op;
325 // logical and bitwise operations
326 template <typename Scalar>
327 struct scalar_boolean_and_op;
328 template <typename Scalar>
329 struct scalar_boolean_or_op;
330 template <typename Scalar>
331 struct scalar_boolean_xor_op;
332 template <typename Scalar>
333 struct scalar_boolean_not_op;
334 template <typename Scalar>
335 struct scalar_bitwise_and_op;
336 template <typename Scalar>
337 struct scalar_bitwise_or_op;
338 template <typename Scalar>
339 struct scalar_bitwise_xor_op;
340 template <typename Scalar>
341 struct scalar_bitwise_not_op;
342 
343 // SpecialFunctions module
344 template <typename Scalar>
345 struct scalar_lgamma_op;
346 template <typename Scalar>
347 struct scalar_digamma_op;
348 template <typename Scalar>
349 struct scalar_erf_op;
350 template <typename Scalar>
351 struct scalar_erfc_op;
352 template <typename Scalar>
353 struct scalar_ndtri_op;
354 template <typename Scalar>
355 struct scalar_igamma_op;
356 template <typename Scalar>
357 struct scalar_igammac_op;
358 template <typename Scalar>
359 struct scalar_zeta_op;
360 template <typename Scalar>
361 struct scalar_betainc_op;
362 
363 // Bessel functions in SpecialFunctions module
364 template <typename Scalar>
365 struct scalar_bessel_i0_op;
366 template <typename Scalar>
367 struct scalar_bessel_i0e_op;
368 template <typename Scalar>
369 struct scalar_bessel_i1_op;
370 template <typename Scalar>
371 struct scalar_bessel_i1e_op;
372 template <typename Scalar>
373 struct scalar_bessel_j0_op;
374 template <typename Scalar>
375 struct scalar_bessel_y0_op;
376 template <typename Scalar>
377 struct scalar_bessel_j1_op;
378 template <typename Scalar>
379 struct scalar_bessel_y1_op;
380 template <typename Scalar>
381 struct scalar_bessel_k0_op;
382 template <typename Scalar>
383 struct scalar_bessel_k0e_op;
384 template <typename Scalar>
385 struct scalar_bessel_k1_op;
386 template <typename Scalar>
387 struct scalar_bessel_k1e_op;
388 
389 } // end namespace internal
390 
391 struct IOFormat;
392 
393 // Array module
394 template <typename Scalar_, int Rows_, int Cols_,
395  int Options_ = AutoAlign | ((Rows_ == 1 && Cols_ != 1) ? Eigen::RowMajor
396  : (Cols_ == 1 && Rows_ != 1) ? Eigen::ColMajor
398  int MaxRows_ = Rows_, int MaxCols_ = Cols_>
399 class Array;
400 template <typename ConditionMatrixType, typename ThenMatrixType, typename ElseMatrixType>
401 class Select;
402 template <typename MatrixType, typename BinaryOp, int Direction>
403 class PartialReduxExpr;
404 template <typename ExpressionType, int Direction>
405 class VectorwiseOp;
406 template <typename MatrixType, int RowFactor, int ColFactor>
407 class Replicate;
408 template <typename MatrixType, int Direction = BothDirections>
409 class Reverse;
410 
411 #if defined(EIGEN_USE_LAPACKE) && defined(lapack_int)
412 // Lapacke interface requires StorageIndex to be lapack_int
414 #else
416 #endif
417 
418 template <typename MatrixType, typename PermutationIndex = DefaultPermutationIndex>
419 class FullPivLU;
420 template <typename MatrixType, typename PermutationIndex = DefaultPermutationIndex>
421 class PartialPivLU;
422 namespace internal {
423 template <typename MatrixType>
425 }
426 template <typename MatrixType>
427 class HouseholderQR;
428 template <typename MatrixType, typename PermutationIndex = DefaultPermutationIndex>
429 class ColPivHouseholderQR;
430 template <typename MatrixType, typename PermutationIndex = DefaultPermutationIndex>
432 template <typename MatrixType, typename PermutationIndex = DefaultPermutationIndex>
434 template <typename MatrixType>
435 class SVDBase;
436 template <typename MatrixType, int Options = 0>
437 class JacobiSVD;
438 template <typename MatrixType, int Options = 0>
439 class BDCSVD;
440 template <typename MatrixType, int UpLo = Lower>
441 class LLT;
442 template <typename MatrixType, int UpLo = Lower>
443 class LDLT;
444 template <typename VectorsType, typename CoeffsType, int Side = OnTheLeft>
445 class HouseholderSequence;
446 template <typename Scalar>
447 class JacobiRotation;
448 
449 // Geometry module:
450 namespace internal {
451 template <typename Derived, typename OtherDerived, int Size = MatrixBase<Derived>::SizeAtCompileTime>
452 struct cross_impl;
453 }
454 template <typename Derived, int Dim_>
455 class RotationBase;
456 template <typename Derived>
457 class QuaternionBase;
458 template <typename Scalar>
459 class Rotation2D;
460 template <typename Scalar>
461 class AngleAxis;
462 template <typename Scalar, int Dim>
463 class Translation;
464 template <typename Scalar, int Dim>
465 class AlignedBox;
466 template <typename Scalar, int Options = AutoAlign>
467 class Quaternion;
468 template <typename Scalar, int Dim, int Mode, int Options_ = AutoAlign>
469 class Transform;
470 template <typename Scalar_, int AmbientDim_, int Options = AutoAlign>
471 class ParametrizedLine;
472 template <typename Scalar_, int AmbientDim_, int Options = AutoAlign>
473 class Hyperplane;
474 template <typename Scalar>
475 class UniformScaling;
476 template <typename MatrixType, int Direction>
477 class Homogeneous;
478 
479 // Sparse module:
480 template <typename Derived>
481 class SparseMatrixBase;
482 
483 // MatrixFunctions module
484 template <typename Derived>
486 template <typename Derived>
488 template <typename Derived>
490 template <typename Derived>
492 template <typename Derived>
494 template <typename Derived>
496 
497 namespace internal {
498 template <typename Scalar>
502 };
503 } // namespace internal
504 
505 template <typename XprType, typename Device>
506 struct DeviceWrapper;
507 
508 namespace internal {
509 template <typename Xpr>
510 struct eigen_fill_helper;
513 template <typename Xpr>
514 struct eigen_memset_helper;
517 } // namespace internal
518 
519 } // end namespace Eigen
520 
521 #endif // EIGEN_FORWARDDECLARATIONS_H
#define EIGEN_DEFAULT_MATRIX_STORAGE_ORDER_OPTION
Definition: Macros.h:31
SCALAR Scalar
Definition: bench_gemm.cpp:45
boost::multiprecision::number< boost::multiprecision::cpp_dec_float< 100 >, boost::multiprecision::et_on > Real
Definition: boostmultiprec.cpp:77
An axis aligned box.
Definition: AlignedBox.h:69
Represents a 3D rotation as a rotation angle around an arbitrary 3D axis.
Definition: AngleAxis.h:52
Definition: ArithmeticSequence.h:62
Base class for all 1D and 2D array, and related expressions.
Definition: ArrayBase.h:44
Expression of a mathematical vector or matrix as an array object.
Definition: ArrayWrapper.h:43
General-purpose arrays with easy API for coefficient-wise operations.
Definition: Array.h:48
class Bidiagonal Divide and Conquer SVD
Definition: BDCSVD.h:85
Expression of a fixed-size or dynamic-size block.
Definition: Block.h:110
Householder rank-revealing QR decomposition of a matrix with column-pivoting.
Definition: ColPivHouseholderQR.h:54
Complete orthogonal decomposition (COD) of a matrix.
Definition: CompleteOrthogonalDecomposition.h:54
Definition: ForwardDeclarations.h:102
Generic expression where a coefficient-wise binary operator is applied to two expressions.
Definition: CwiseBinaryOp.h:79
Generic expression of a matrix where all coefficients are defined by a functor.
Definition: CwiseNullaryOp.h:64
Generic expression where a coefficient-wise ternary operator is applied to two expressions.
Definition: CwiseTernaryOp.h:86
Generic expression where a coefficient-wise unary operator is applied to an expression.
Definition: CwiseUnaryOp.h:53
Generic lvalue expression of a coefficient-wise unary operator of a matrix or a vector.
Definition: CwiseUnaryView.h:135
Definition: ForwardDeclarations.h:63
Base class for diagonal matrices and expressions.
Definition: DiagonalMatrix.h:33
Represents a diagonal matrix with its storage.
Definition: DiagonalMatrix.h:172
Definition: ForwardDeclarations.h:126
Expression of a diagonal matrix.
Definition: DiagonalMatrix.h:320
Expression of a diagonal/subdiagonal/superdiagonal in a matrix.
Definition: Diagonal.h:68
Definition: ForwardDeclarations.h:78
Enforce aligned packet loads and stores regardless of what is requested.
Definition: ForceAlignedAccess.h:37
Householder rank-revealing QR decomposition of a matrix with full pivoting.
Definition: FullPivHouseholderQR.h:63
LU decomposition of a matrix with complete pivoting, and related features.
Definition: FullPivLU.h:63
Expression of one (or a set of) homogeneous vector(s)
Definition: Homogeneous.h:62
Householder QR decomposition of a matrix.
Definition: HouseholderQR.h:59
Sequence of Householder reflections acting on subspaces with decreasing size.
Definition: HouseholderSequence.h:117
A hyperplane.
Definition: Hyperplane.h:37
Expression of a non-sequential sub-matrix defined by arbitrary sequences of row and column indices.
Definition: IndexedView.h:124
An InnerIterator allows to loop over the element of any matrix expression.
Definition: CoreIterators.h:37
Convenience specialization of Stride to specify only an inner stride See class Map for some examples.
Definition: Stride.h:93
Expression of the inverse of another expression.
Definition: Inverse.h:43
Rotation given by a cosine-sine pair.
Definition: Jacobi.h:38
Two-sided Jacobi SVD decomposition of a rectangular matrix.
Definition: JacobiSVD.h:500
Robust Cholesky decomposition of a matrix with pivoting.
Definition: LDLT.h:63
Standard Cholesky decomposition (LL^T) of a matrix and associated features.
Definition: LLT.h:70
Definition: ForwardDeclarations.h:150
A matrix or vector expression mapping an existing array of data.
Definition: Map.h:96
Base class for all dense matrices, vectors, and expressions.
Definition: MatrixBase.h:52
Proxy for the matrix power of some matrix (expression).
Definition: MatrixPower.h:628
Proxy for the matrix function of some matrix (expression).
Definition: MatrixFunction.h:454
Proxy for the matrix logarithm of some matrix (expression).
Definition: MatrixLogarithm.h:309
Proxy for the matrix power of some matrix (expression).
Definition: MatrixPower.h:582
Proxy for the matrix square root of some matrix (expression).
Definition: MatrixSquareRoot.h:299
Expression of an array as a mathematical vector or matrix.
Definition: ArrayWrapper.h:122
The matrix class, also used for vectors and row-vectors.
Definition: Eigen/Eigen/src/Core/Matrix.h:186
Expression which must be nested by value.
Definition: NestByValue.h:39
Pseudo expression providing an operator = assuming no aliasing.
Definition: NoAlias.h:34
Convenience specialization of Stride to specify only an outer stride See class Map for some examples.
Definition: Stride.h:104
A parametrized line.
Definition: ParametrizedLine.h:33
LU decomposition of a matrix with partial pivoting, and related features.
Definition: PartialPivLU.h:77
Generic expression of a partially reduxed matrix.
Definition: VectorwiseOp.h:58
Base class for permutations.
Definition: PermutationMatrix.h:49
Permutation matrix.
Definition: PermutationMatrix.h:280
Class to view a vector of integers as a permutation matrix.
Definition: PermutationMatrix.h:450
Expression of the product of two arbitrary matrices or vectors.
Definition: Product.h:202
Base class for quaternion expressions.
Definition: Eigen/Eigen/src/Geometry/Quaternion.h:35
The quaternion class used to represent 3D orientations and rotations.
Definition: Eigen/Eigen/src/Geometry/Quaternion.h:285
Definition: Ref.h:68
A matrix or vector expression mapping an existing expression.
Definition: Ref.h:264
Expression of the multiple replication of a matrix or vector.
Definition: Replicate.h:64
Expression of a fixed-size or dynamic-size reshape.
Definition: Reshaped.h:99
Definition: ReturnByValue.h:50
Expression of the reverse of a vector or matrix.
Definition: Reverse.h:65
Represents a rotation/orientation in a 2 dimensional space.
Definition: Rotation2D.h:44
Common base class for compact rotation representations.
Definition: RotationBase.h:32
Base class of SVD algorithms.
Definition: SVDBase.h:119
Expression of a coefficient wise version of the C++ ternary operator ?:
Definition: Select.h:54
Expression of a selfadjoint matrix from a triangular part of a dense matrix.
Definition: SelfAdjointView.h:51
Base class for skew symmetric matrices and expressions.
Definition: SkewSymmetricMatrix3.h:35
Represents a 3x3 skew symmetric matrix with its storage.
Definition: SkewSymmetricMatrix3.h:183
Expression of a skew symmetric matrix.
Definition: SkewSymmetricMatrix3.h:287
Pseudo expression representing a solving operation.
Definition: Solve.h:62
A base class for matrix decomposition and solvers.
Definition: SolverBase.h:72
Base class of any sparse matrices or sparse expressions.
Definition: SparseMatrixBase.h:30
Expression of a dense or sparse matrix with zero or too small values removed.
Definition: SparseView.h:45
Holds strides information for Map.
Definition: Stride.h:55
Definition: ForwardDeclarations.h:86
Represents an homogeneous transformation in a N dimensional space.
Definition: Transform.h:192
Represents a translation transformation.
Definition: Translation.h:33
Expression of the transpose of a matrix.
Definition: Transpose.h:56
Definition: Transpositions.h:19
Definition: Transpositions.h:237
Represents a sequence of transpositions (row/column interchange)
Definition: Transpositions.h:141
Base class for triangular part in a matrix.
Definition: TriangularMatrix.h:32
Expression of a triangular part in a matrix.
Definition: TriangularMatrix.h:167
Represents a generic uniform scaling transformation.
Definition: Eigen/src/Geometry/Scaling.h:47
Expression of a fixed-size or dynamic-size sub-vector.
Definition: VectorBlock.h:58
Pseudo expression providing broadcasting and partial reduction operations.
Definition: VectorwiseOp.h:192
Pseudo expression providing matrix output with given format.
Definition: IO.h:101
Represents a rectangular matrix with a banded storage.
Definition: BandMatrix.h:193
@ DirectAccessors
Definition: Constants.h:376
@ ReadOnlyAccessors
Definition: Constants.h:372
@ WriteAccessors
Definition: Constants.h:374
@ DirectWriteAccessors
Definition: Constants.h:378
@ ColMajor
Definition: Constants.h:318
@ RowMajor
Definition: Constants.h:320
@ AutoAlign
Definition: Constants.h:322
const unsigned int DirectAccessBit
Definition: Constants.h:159
const unsigned int LvalueBit
Definition: Constants.h:148
#define lapack_int
Definition: lapacke.h:52
Eigen::DenseIndex ret
Definition: level1_cplx_impl.h:43
Namespace containing all symbols from the Eigen library.
Definition: bench_norm.cpp:70
scalar_abs2_op
Definition: GlobalFunctions.h:86
squared absolute value
Definition: GlobalFunctions.h:87
squared absolute sa ArrayBase::abs2 DOXCOMMA MatrixBase::cwiseAbs2 scalar_square_op
Definition: GlobalFunctions.h:94
const int Dynamic
Definition: Constants.h:25
int DefaultPermutationIndex
Definition: ForwardDeclarations.h:409
Definition: Eigen_Colamd.h:49
Helper class used by the comma initializer operator.
Definition: CommaInitializer.h:31
Definition: DeviceWrapper.h:15
Stores a set of parameters controlling the way matrices are printed.
Definition: IO.h:52
Definition: ForwardDeclarations.h:241
Proxy for the matrix exponential of some matrix (expression).
Definition: MatrixExponential.h:404
Definition: ForwardDeclarations.h:237
Definition: ForwardDeclarations.h:221
Definition: ForwardDeclarations.h:36
@ has_write_access
Definition: ForwardDeclarations.h:39
@ value
Definition: ForwardDeclarations.h:40
Definition: OrthoMethods.h:23
Definition: ForwardDeclarations.h:512
Definition: ForwardDeclarations.h:516
storage_kind_to_shape< typename traits< T >::StorageKind >::Shape Shape
Definition: CoreEvaluators.h:90
Definition: ForwardDeclarations.h:31
@ ret
Definition: ForwardDeclarations.h:32
Definition: ForwardDeclarations.h:207
Definition: ForwardDeclarations.h:424
Definition: ForwardDeclarations.h:203
Definition: ForwardDeclarations.h:221
Template functor to compute the modified Bessel function of the first kind of order zero.
Definition: BesselFunctionsFunctors.h:27
Template functor to compute the exponentially scaled modified Bessel function of the first kind of or...
Definition: BesselFunctionsFunctors.h:52
Template functor to compute the modified Bessel function of the first kind of order one.
Definition: BesselFunctionsFunctors.h:76
Template functor to compute the exponentially scaled modified Bessel function of the first kind of or...
Definition: BesselFunctionsFunctors.h:101
Template functor to compute the Bessel function of the second kind of order zero.
Definition: BesselFunctionsFunctors.h:125
Template functor to compute the Bessel function of the first kind of order one.
Definition: BesselFunctionsFunctors.h:175
Template functor to compute the modified Bessel function of the second kind of order zero.
Definition: BesselFunctionsFunctors.h:225
Template functor to compute the exponentially scaled modified Bessel function of the second kind of o...
Definition: BesselFunctionsFunctors.h:250
Template functor to compute the modified Bessel function of the second kind of order one.
Definition: BesselFunctionsFunctors.h:275
Template functor to compute the exponentially scaled modified Bessel function of the second kind of o...
Definition: BesselFunctionsFunctors.h:300
Template functor to compute the Bessel function of the second kind of order zero.
Definition: BesselFunctionsFunctors.h:150
Template functor to compute the Bessel function of the second kind of order one.
Definition: BesselFunctionsFunctors.h:200
Template functor to compute the incomplete beta integral betainc(a, b, x)
Definition: SpecialFunctionsFunctors.h:129
Template functor to compute the bitwise and of two scalars.
Definition: BinaryFunctors.h:588
Template functor to compute the bitwise not of a scalar.
Definition: functors/UnaryFunctors.h:1145
Template functor to compute the bitwise or of two scalars.
Definition: BinaryFunctors.h:612
Template functor to compute the bitwise xor of two scalars.
Definition: BinaryFunctors.h:636
Template functor to compute the and of two scalars as if they were booleans.
Definition: BinaryFunctors.h:461
Template functor to compute the logical not of a scalar as if it were a boolean.
Definition: functors/UnaryFunctors.h:1099
Template functor to compute the or of two scalars as if they were booleans.
Definition: BinaryFunctors.h:489
Template functor to compute the xor of two scalars as if they were booleans.
Definition: BinaryFunctors.h:516
Template functor to compute psi, the derivative of lgamma of a scalar.
Definition: SpecialFunctionsFunctors.h:177
Template functor to compute the error function of a scalar.
Definition: SpecialFunctionsFunctors.h:247
Template functor to compute the Complementary Error Function of a scalar.
Definition: SpecialFunctionsFunctors.h:280
Definition: ForwardDeclarations.h:320
Template functor to compute the incomplete gamma function igamma(a, x)
Definition: SpecialFunctionsFunctors.h:27
Template functor to compute the complementary incomplete gamma function igammac(a,...
Definition: SpecialFunctionsFunctors.h:105
Template functor to compute the natural log of the absolute value of Gamma of a scalar.
Definition: SpecialFunctionsFunctors.h:155
Template functor to compute the Inverse of the normal distribution function of a scalar.
Definition: SpecialFunctionsFunctors.h:303
Template functor to compute the product of two scalars.
Definition: BinaryFunctors.h:73
Template functor to compute the quotient of two scalars.
Definition: BinaryFunctors.h:430
Template functor to compute the Riemann Zeta function of two arguments.
Definition: SpecialFunctionsFunctors.h:199
Definition: ForwardDeclarations.h:499
ComplexScalar type(ComplexScalar, int)
Definition: ForwardDeclarations.h:501
std::complex< typename NumTraits< Scalar >::Real > ComplexScalar
Definition: ForwardDeclarations.h:500
Definition: ForwardDeclarations.h:21