$darkmode
Eigen  5.0.1-dev
ForwardDeclarations.h
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>
31 struct has_direct_access {
32  enum { ret = (traits<Derived>::Flags & DirectAccessBit) ? 1 : 0 };
33 };
34 
35 template <typename Derived>
36 struct accessors_level {
37  enum {
38  has_direct_access = (traits<Derived>::Flags & DirectAccessBit) ? 1 : 0,
39  has_write_access = (traits<Derived>::Flags & LvalueBit) ? 1 : 0,
40  value = has_direct_access ? (has_write_access ? DirectWriteAccessors : DirectAccessors)
41  : (has_write_access ? WriteAccessors : ReadOnlyAccessors)
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>
63 class DenseCoeffsBase;
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
68  : EIGEN_DEFAULT_MATRIX_STORAGE_ORDER_OPTION),
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>
86 class SwapWrapper;
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>
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>
126 class DiagonalProduct;
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_>
146 class TranspositionsWrapper;
147 
148 template <typename Derived,
149  int Level = internal::accessors_level<Derived>::has_write_access ? WriteAccessors : ReadOnlyAccessors>
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 Derived>
175 class RealView;
176 template <typename MatrixType>
178 template <typename ExpressionType>
179 class WithFormat;
180 template <typename MatrixType>
181 struct CommaInitializer;
182 template <typename Derived>
183 class ReturnByValue;
184 template <typename ExpressionType>
185 class ArrayWrapper;
186 template <typename ExpressionType>
187 class MatrixWrapper;
188 template <typename Derived>
189 class SolverBase;
190 template <typename XprType>
191 class InnerIterator;
192 
193 namespace internal {
194 template <typename XprType>
195 class generic_randaccess_stl_iterator;
196 template <typename XprType>
197 class pointer_based_stl_iterator;
198 template <typename XprType, DirectionType Direction>
199 class subvector_stl_iterator;
200 template <typename XprType, DirectionType Direction>
201 class subvector_stl_reverse_iterator;
202 template <typename DecompositionType>
203 struct kernel_retval_base;
204 template <typename DecompositionType>
205 struct kernel_retval;
206 template <typename DecompositionType>
207 struct image_retval_base;
208 template <typename DecompositionType>
209 struct image_retval;
210 } // end namespace internal
211 
212 namespace internal {
213 template <typename Scalar_, int Rows = Dynamic, int Cols = Dynamic, int Supers = Dynamic, int Subs = Dynamic,
214  int Options = 0>
215 class BandMatrix;
216 }
217 
218 namespace internal {
219 template <typename Lhs, typename Rhs>
220 struct product_type;
221 
222 template <bool>
223 struct EnableIf;
224 
230 template <typename T, int ProductTag = internal::product_type<typename T::Lhs, typename T::Rhs>::ret,
231  typename LhsShape = typename evaluator_traits<typename T::Lhs>::Shape,
232  typename RhsShape = typename evaluator_traits<typename T::Rhs>::Shape,
233  typename LhsScalar = typename traits<typename T::Lhs>::Scalar,
234  typename RhsScalar = typename traits<typename T::Rhs>::Scalar>
235 struct product_evaluator;
236 } // namespace internal
237 
238 template <typename Lhs, typename Rhs, int ProductType = internal::product_type<Lhs, Rhs>::value>
239 struct ProductReturnType;
240 
241 // this is a workaround for sun CC
242 template <typename Lhs, typename Rhs>
243 struct LazyProductReturnType;
244 
245 namespace internal {
246 
247 // Provides scalar/packet-wise product and product with accumulation
248 // with optional conjugation of the arguments.
249 template <typename LhsScalar, typename RhsScalar, bool ConjLhs = false, bool ConjRhs = false>
250 struct conj_helper;
251 
252 template <typename LhsScalar, typename RhsScalar = LhsScalar>
253 struct scalar_sum_op;
254 template <typename LhsScalar, typename RhsScalar = LhsScalar>
255 struct scalar_difference_op;
256 template <typename LhsScalar, typename RhsScalar = LhsScalar>
257 struct scalar_conj_product_op;
258 template <typename LhsScalar, typename RhsScalar = LhsScalar, int NaNPropagation = PropagateFast>
259 struct scalar_min_op;
260 template <typename LhsScalar, typename RhsScalar = LhsScalar, int NaNPropagation = PropagateFast>
261 struct scalar_max_op;
262 template <typename Scalar>
263 struct scalar_opposite_op;
264 template <typename Scalar>
265 struct scalar_conjugate_op;
266 template <typename Scalar>
267 struct scalar_real_op;
268 template <typename Scalar>
269 struct scalar_imag_op;
270 template <typename Scalar>
271 struct scalar_abs_op;
272 template <typename Scalar>
273 struct scalar_abs2_op;
274 template <typename LhsScalar, typename RhsScalar = LhsScalar>
275 struct scalar_absolute_difference_op;
276 template <typename Scalar>
277 struct scalar_sqrt_op;
278 template <typename Scalar>
279 struct scalar_cbrt_op;
280 template <typename Scalar>
281 struct scalar_rsqrt_op;
282 template <typename Scalar>
283 struct scalar_exp_op;
284 template <typename Scalar>
285 struct scalar_log_op;
286 template <typename Scalar>
287 struct scalar_cos_op;
288 template <typename Scalar>
289 struct scalar_sin_op;
290 template <typename Scalar>
291 struct scalar_acos_op;
292 template <typename Scalar>
293 struct scalar_asin_op;
294 template <typename Scalar>
295 struct scalar_tan_op;
296 template <typename Scalar>
297 struct scalar_atan_op;
298 template <typename LhsScalar, typename RhsScalar = LhsScalar>
299 struct scalar_atan2_op;
300 template <typename Scalar>
301 struct scalar_inverse_op;
302 template <typename Scalar>
303 struct scalar_square_op;
304 template <typename Scalar>
305 struct scalar_cube_op;
306 template <typename Scalar, typename NewType>
307 struct scalar_cast_op;
308 template <typename Scalar>
309 struct scalar_random_op;
310 template <typename Scalar>
311 struct scalar_constant_op;
312 template <typename Scalar>
313 struct scalar_identity_op;
314 template <typename Scalar>
315 struct scalar_sign_op;
316 template <typename Scalar, typename ScalarExponent>
317 struct scalar_pow_op;
318 template <typename Scalar, typename ScalarExponent, bool BaseIsInteger, bool ExponentIsInteger, bool BaseIsComplex,
319  bool ExponentIsComplex>
320 struct scalar_unary_pow_op;
321 template <typename LhsScalar, typename RhsScalar = LhsScalar>
322 struct scalar_hypot_op;
323 template <typename LhsScalar, typename RhsScalar = LhsScalar>
324 struct scalar_product_op;
325 template <typename LhsScalar, typename RhsScalar = LhsScalar>
326 struct scalar_quotient_op;
327 // logical and bitwise operations
328 template <typename Scalar>
329 struct scalar_boolean_and_op;
330 template <typename Scalar>
331 struct scalar_boolean_or_op;
332 template <typename Scalar>
333 struct scalar_boolean_xor_op;
334 template <typename Scalar>
335 struct scalar_boolean_not_op;
336 template <typename Scalar>
337 struct scalar_bitwise_and_op;
338 template <typename Scalar>
339 struct scalar_bitwise_or_op;
340 template <typename Scalar>
341 struct scalar_bitwise_xor_op;
342 template <typename Scalar>
343 struct scalar_bitwise_not_op;
344 
345 // SpecialFunctions module
346 template <typename Scalar>
347 struct scalar_lgamma_op;
348 template <typename Scalar>
349 struct scalar_digamma_op;
350 template <typename Scalar>
351 struct scalar_erf_op;
352 template <typename Scalar>
353 struct scalar_erfc_op;
354 template <typename Scalar>
355 struct scalar_ndtri_op;
356 template <typename Scalar>
357 struct scalar_igamma_op;
358 template <typename Scalar>
359 struct scalar_igammac_op;
360 template <typename Scalar>
361 struct scalar_zeta_op;
362 template <typename Scalar>
363 struct scalar_betainc_op;
364 
365 // Bessel functions in SpecialFunctions module
366 template <typename Scalar>
367 struct scalar_bessel_i0_op;
368 template <typename Scalar>
369 struct scalar_bessel_i0e_op;
370 template <typename Scalar>
371 struct scalar_bessel_i1_op;
372 template <typename Scalar>
373 struct scalar_bessel_i1e_op;
374 template <typename Scalar>
375 struct scalar_bessel_j0_op;
376 template <typename Scalar>
377 struct scalar_bessel_y0_op;
378 template <typename Scalar>
379 struct scalar_bessel_j1_op;
380 template <typename Scalar>
381 struct scalar_bessel_y1_op;
382 template <typename Scalar>
383 struct scalar_bessel_k0_op;
384 template <typename Scalar>
385 struct scalar_bessel_k0e_op;
386 template <typename Scalar>
387 struct scalar_bessel_k1_op;
388 template <typename Scalar>
389 struct scalar_bessel_k1e_op;
390 
391 } // end namespace internal
392 
393 struct IOFormat;
394 
395 // Array module
396 template <typename Scalar_, int Rows_, int Cols_,
397  int Options_ = AutoAlign | ((Rows_ == 1 && Cols_ != 1) ? Eigen::RowMajor
398  : (Cols_ == 1 && Rows_ != 1) ? Eigen::ColMajor
399  : EIGEN_DEFAULT_MATRIX_STORAGE_ORDER_OPTION),
400  int MaxRows_ = Rows_, int MaxCols_ = Cols_>
401 class Array;
402 template <typename MatrixType, typename BinaryOp, int Direction>
404 template <typename ExpressionType, int Direction>
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
413 typedef lapack_int DefaultPermutationIndex;
414 #else
415 typedef int DefaultPermutationIndex;
416 #endif
417 
418 template <typename MatrixType, typename PermutationIndex = DefaultPermutationIndex>
419 class FullPivLU;
420 template <typename MatrixType, typename PermutationIndex = DefaultPermutationIndex>
422 namespace internal {
423 template <typename MatrixType>
424 struct inverse_impl;
425 }
426 template <typename MatrixType>
428 template <typename MatrixType, typename PermutationIndex = DefaultPermutationIndex>
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>
446 template <typename Scalar>
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_>
456 template <typename Derived>
458 template <typename Scalar>
460 template <typename Scalar>
461 class AngleAxis;
462 template <typename Scalar, int Dim>
464 template <typename Scalar, int Dim>
466 template <typename Scalar, int Options = AutoAlign>
468 template <typename Scalar, int Dim, int Mode, int Options_ = AutoAlign>
469 class Transform;
470 template <typename Scalar_, int AmbientDim_, int Options = AutoAlign>
472 template <typename Scalar_, int AmbientDim_, int Options = AutoAlign>
474 template <typename Scalar>
476 template <typename MatrixType, int Direction>
478 
479 // Sparse module:
480 template <typename Derived>
482 
483 // MatrixFunctions module
484 template <typename Derived>
485 struct MatrixExponentialReturnValue;
486 template <typename Derived>
487 class MatrixFunctionReturnValue;
488 template <typename Derived>
489 class MatrixSquareRootReturnValue;
490 template <typename Derived>
491 class MatrixLogarithmReturnValue;
492 template <typename Derived>
493 class MatrixPowerReturnValue;
494 template <typename Derived>
495 class MatrixComplexPowerReturnValue;
496 
497 namespace internal {
498 template <typename Scalar>
499 struct stem_function {
500  typedef internal::make_complex_t<Scalar> ComplexScalar;
501  typedef ComplexScalar type(ComplexScalar, int);
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;
511 template <typename Xpr, bool use_fill = eigen_fill_helper<Xpr>::value>
512 struct eigen_fill_impl;
513 template <typename Xpr>
514 struct eigen_memset_helper;
515 template <typename Xpr, bool use_memset = eigen_memset_helper<Xpr>::value>
516 struct eigen_zero_impl;
517 
518 template <typename Packet>
519 struct has_packet_segment : std::false_type {};
520 } // namespace internal
521 
522 } // end namespace Eigen
523 
524 #endif // EIGEN_FORWARDDECLARATIONS_H
Generic expression of a matrix where all coefficients are defined by a functor.
Definition: CwiseNullaryOp.h:63
Robust Cholesky decomposition of a matrix with pivoting.
Definition: LDLT.h:63
Definition: Constants.h:374
Definition: Constants.h:318
Expression of the product of two arbitrary matrices or vectors.
Definition: Product.h:198
Expression of a mathematical vector or matrix as an array object.
Definition: ArrayWrapper.h:43
Householder rank-revealing QR decomposition of a matrix with full pivoting.
Definition: ForwardDeclarations.h:431
A matrix or vector expression mapping an existing array of data.
Definition: Map.h:96
Base class for triangular part in a matrix.
Definition: TriangularMatrix.h:32
Expression of the transpose of a matrix.
Definition: Transpose.h:56
const unsigned int DirectAccessBit
Definition: Constants.h:159
const unsigned int LvalueBit
Definition: Constants.h:148
Represents a diagonal matrix with its storage.
Definition: DiagonalMatrix.h:172
LU decomposition of a matrix with partial pivoting, and related features.
Definition: ForwardDeclarations.h:421
Namespace containing all symbols from the Eigen library.
Definition: B01_Experimental.dox:1
Holds strides information for Map.
Definition: Stride.h:55
Rotation given by a cosine-sine pair.
Definition: ForwardDeclarations.h:447
Generic expression of a partially reduxed matrix.
Definition: ForwardDeclarations.h:403
Pseudo expression providing broadcasting and partial reduction operations.
Definition: ForwardDeclarations.h:405
Complete orthogonal decomposition (COD) of a matrix.
Definition: ForwardDeclarations.h:433
An axis aligned box.
Definition: ForwardDeclarations.h:465
Base class for permutations.
Definition: PermutationMatrix.h:49
Helper class used by the comma initializer operator.
Definition: CommaInitializer.h:31
Represents a 3x3 skew symmetric matrix with its storage.
Definition: SkewSymmetricMatrix3.h:183
Sequence of Householder reflections acting on subspaces with decreasing size.
Definition: ForwardDeclarations.h:445
Represents a translation transformation.
Definition: ForwardDeclarations.h:463
Expression of the inverse of another expression.
Definition: Inverse.h:43
Permutation matrix.
Definition: PermutationMatrix.h:282
Generic lvalue expression of a coefficient-wise unary operator of a matrix or a vector.
Definition: CwiseUnaryView.h:134
Expression of an array as a mathematical vector or matrix.
Definition: ArrayBase.h:19
Expression of a fixed-size or dynamic-size sub-vector.
Definition: ForwardDeclarations.h:98
Generic expression where a coefficient-wise binary operator is applied to two expressions.
Definition: CwiseBinaryOp.h:75
Definition: Constants.h:372
Definition: Constants.h:322
Base class of any sparse matrices or sparse expressions.
Definition: ForwardDeclarations.h:481
Base class of SVD algorithms.
Definition: ForwardDeclarations.h:435
A hyperplane.
Definition: ForwardDeclarations.h:473
Householder rank-revealing QR decomposition of a matrix with column-pivoting.
Definition: ForwardDeclarations.h:429
Standard Cholesky decomposition (LL^T) of a matrix and associated features.
Definition: LLT.h:70
Convenience specialization of Stride to specify only an inner stride See class Map for some examples...
Definition: Stride.h:93
Generic expression where a coefficient-wise ternary operator is applied to two expressions.
Definition: CwiseTernaryOp.h:84
Expression of the multiple replication of a matrix or vector.
Definition: Replicate.h:64
Base class for skew symmetric matrices and expressions.
Definition: SkewSymmetricMatrix3.h:35
Represents a generic uniform scaling transformation.
Definition: ForwardDeclarations.h:475
Definition: Constants.h:376
Common base class for compact rotation representations.
Definition: ForwardDeclarations.h:455
Expression of a selfadjoint matrix from a triangular part of a dense matrix.
Definition: SelfAdjointView.h:51
Expression of a dense or sparse matrix with zero or too small values removed.
Definition: ForwardDeclarations.h:177
Class to view a vector of integers as a permutation matrix.
Definition: PermutationMatrix.h:453
Expression of a skew symmetric matrix.
Definition: SkewSymmetricMatrix3.h:286
Base class for quaternion expressions.
Definition: ForwardDeclarations.h:457
Definition: Constants.h:378
class Bidiagonal Divide and Conquer SVD
Definition: ForwardDeclarations.h:439
A matrix or vector expression mapping an existing expression.
Definition: Ref.h:264
Represents a rotation/orientation in a 2 dimensional space.
Definition: ForwardDeclarations.h:459
The quaternion class used to represent 3D orientations and rotations.
Definition: ForwardDeclarations.h:467
LU decomposition of a matrix with complete pivoting, and related features.
Definition: ForwardDeclarations.h:419
Householder QR decomposition of a matrix.
Definition: ForwardDeclarations.h:427
Base class for diagonal matrices and expressions.
Definition: DiagonalMatrix.h:33
Definition: Constants.h:320
Two-sided Jacobi SVD decomposition of a rectangular matrix.
Definition: ForwardDeclarations.h:437
Expression of a triangular part in a matrix.
Definition: TriangularMatrix.h:166
Expression of a diagonal matrix.
Definition: DiagonalMatrix.h:320
Expression of a diagonal/subdiagonal/superdiagonal in a matrix.
Definition: Diagonal.h:68
const int Dynamic
Definition: Constants.h:25
Pseudo expression representing a solving operation.
Definition: Solve.h:62
Generic expression where a coefficient-wise unary operator is applied to an expression.
Definition: CwiseUnaryOp.h:52
Pseudo expression providing matrix output with given format.
Definition: IO.h:101
Convenience specialization of Stride to specify only an outer stride See class Map for some examples...
Definition: Stride.h:104
Expression of the reverse of a vector or matrix.
Definition: Reverse.h:65
A base class for matrix decomposition and solvers.
Definition: SolverBase.h:72
A parametrized line.
Definition: ForwardDeclarations.h:471
Represents a 3D rotation as a rotation angle around an arbitrary 3D axis.
Definition: ForwardDeclarations.h:461
Represents a sequence of transpositions (row/column interchange)
Definition: Transpositions.h:140
Represents an homogeneous transformation in a N dimensional space.
Definition: ForwardDeclarations.h:469
Expression of one (or a set of) homogeneous vector(s)
Definition: ForwardDeclarations.h:477
An InnerIterator allows to loop over the element of any matrix expression.
Definition: CoreIterators.h:37