Enumerations

enum  Eigen::AccessorLevels {
  Eigen::ReadOnlyAccessors ,
  Eigen::WriteAccessors ,
  Eigen::DirectAccessors ,
  Eigen::DirectWriteAccessors
}
 
enum  Eigen::AlignmentType {
  Eigen::Unaligned ,
  Eigen::Aligned8 ,
  Eigen::Aligned16 ,
  Eigen::Aligned32 ,
  Eigen::Aligned64 ,
  Eigen::Aligned128 ,
  Eigen::AlignedMask ,
  Eigen::Aligned ,
  Eigen::AlignedMax
}
 
enum  Eigen::ComputationInfo {
  Eigen::Success ,
  Eigen::NumericalIssue ,
  Eigen::NoConvergence ,
  Eigen::InvalidInput
}
 
enum  Eigen::DecompositionOptions {
  Eigen::Pivoting ,
  Eigen::NoPivoting ,
  Eigen::ComputeFullU ,
  Eigen::ComputeThinU ,
  Eigen::ComputeFullV ,
  Eigen::ComputeThinV ,
  Eigen::EigenvaluesOnly ,
  Eigen::ComputeEigenvectors ,
  Eigen::EigVecMask ,
  Eigen::Ax_lBx ,
  Eigen::ABx_lx ,
  Eigen::BAx_lx ,
  Eigen::GenEigMask
}
 
enum  Eigen::DirectionType {
  Eigen::Vertical ,
  Eigen::Horizontal ,
  Eigen::BothDirections
}
 
enum  Eigen::NaNPropagationOptions {
  Eigen::PropagateFast ,
  Eigen::PropagateNaN ,
  Eigen::PropagateNumbers
}
 
enum  Eigen::QRPreconditioners {
  Eigen::ColPivHouseholderQRPreconditioner ,
  Eigen::NoQRPreconditioner ,
  Eigen::HouseholderQRPreconditioner ,
  Eigen::FullPivHouseholderQRPreconditioner ,
  Eigen::DisableQRDecomposition
}
 
enum  Eigen::SideType {
  Eigen::OnTheLeft ,
  Eigen::OnTheRight
}
 
enum  Eigen::StorageOptions {
  Eigen::ColMajor ,
  Eigen::RowMajor ,
  Eigen::AutoAlign ,
  Eigen::DontAlign
}
 
enum  Eigen::TransformTraits {
  Eigen::Isometry ,
  Eigen::Affine ,
  Eigen::AffineCompact ,
  Eigen::Projective
}
 
enum  Eigen::UpLoType {
  Eigen::Lower ,
  Eigen::Upper ,
  Eigen::UnitDiag ,
  Eigen::ZeroDiag ,
  Eigen::UnitLower ,
  Eigen::UnitUpper ,
  Eigen::StrictlyLower ,
  Eigen::StrictlyUpper ,
  Eigen::SelfAdjoint ,
  Eigen::Symmetric
}
 

Detailed Description

Various enumerations used in Eigen. Many of these are used as template parameters.

Enumeration Type Documentation

◆ AccessorLevels

Used as template parameter in DenseCoeffBase and MapBase to indicate which accessors should be provided.

Enumerator
ReadOnlyAccessors 

Read-only access via a member function.

WriteAccessors 

Read/write access via member functions.

DirectAccessors 

Direct read-only access to the coefficients.

DirectWriteAccessors 

Direct read/write access to the coefficients.

Definition at line 376 of file Constants.h.

376  {
385 };
@ DirectAccessors
Definition: Constants.h:382
@ ReadOnlyAccessors
Definition: Constants.h:378
@ WriteAccessors
Definition: Constants.h:380
@ DirectWriteAccessors
Definition: Constants.h:384

◆ AlignmentType

Enum for indicating whether a buffer is aligned or not.

Enumerator
Unaligned 

Data pointer has no specific alignment.

Aligned8 

Data pointer is aligned on a 8 bytes boundary.

Aligned16 

Data pointer is aligned on a 16 bytes boundary.

Aligned32 

Data pointer is aligned on a 32 bytes boundary.

Aligned64 

Data pointer is aligned on a 64 bytes boundary.

Aligned128 

Data pointer is aligned on a 128 bytes boundary.

AlignedMask 
Aligned 
Deprecated:
Synonym for Aligned16.
AlignedMax 

Definition at line 234 of file Constants.h.

234  {
235  Unaligned=0,
236  Aligned8=8,
237  Aligned16=16,
238  Aligned32=32,
239  Aligned64=64,
240  Aligned128=128,
241  AlignedMask=255,
242  Aligned=16,
243 #if EIGEN_MAX_ALIGN_BYTES==128
245 #elif EIGEN_MAX_ALIGN_BYTES==64
247 #elif EIGEN_MAX_ALIGN_BYTES==32
249 #elif EIGEN_MAX_ALIGN_BYTES==16
251 #elif EIGEN_MAX_ALIGN_BYTES==8
253 #elif EIGEN_MAX_ALIGN_BYTES==0
255 #else
256 #error Invalid value for EIGEN_MAX_ALIGN_BYTES
257 #endif
258 };
@ Aligned64
Definition: Constants.h:239
@ AlignedMask
Definition: Constants.h:241
@ Unaligned
Definition: Constants.h:235
@ Aligned128
Definition: Constants.h:240
@ Aligned32
Definition: Constants.h:238
@ Aligned8
Definition: Constants.h:236
@ Aligned16
Definition: Constants.h:237
@ AlignedMax
Definition: Constants.h:254
@ Aligned
Definition: Constants.h:242

◆ ComputationInfo

Enum for reporting the status of a computation.

Enumerator
Success 

Computation was successful.

NumericalIssue 

The provided data did not satisfy the prerequisites.

NoConvergence 

Iterative procedure did not converge.

InvalidInput 

The inputs are invalid, or the algorithm has been improperly called. When assertions are enabled, such errors trigger an assert.

Definition at line 444 of file Constants.h.

444  {
446  Success = 0,
448  NumericalIssue = 1,
450  NoConvergence = 2,
453  InvalidInput = 3
454 };
@ NumericalIssue
Definition: Constants.h:448
@ InvalidInput
Definition: Constants.h:453
@ Success
Definition: Constants.h:446
@ NoConvergence
Definition: Constants.h:450

◆ DecompositionOptions

Enum with options to give to various decompositions.

Enumerator
Pivoting 
NoPivoting 
ComputeFullU 

Used in JacobiSVD to indicate that the square matrix U is to be computed.

ComputeThinU 

Used in JacobiSVD to indicate that the thin matrix U is to be computed.

ComputeFullV 

Used in JacobiSVD to indicate that the square matrix V is to be computed.

ComputeThinV 

Used in JacobiSVD to indicate that the thin matrix V is to be computed.

EigenvaluesOnly 

Used in SelfAdjointEigenSolver and GeneralizedSelfAdjointEigenSolver to specify that only the eigenvalues are to be computed and not the eigenvectors.

ComputeEigenvectors 

Used in SelfAdjointEigenSolver and GeneralizedSelfAdjointEigenSolver to specify that both the eigenvalues and the eigenvectors are to be computed.

EigVecMask 
Ax_lBx 

Used in GeneralizedSelfAdjointEigenSolver to indicate that it should solve the generalized eigenproblem \( Ax = \lambda B x \).

ABx_lx 

Used in GeneralizedSelfAdjointEigenSolver to indicate that it should solve the generalized eigenproblem \( ABx = \lambda x \).

BAx_lx 

Used in GeneralizedSelfAdjointEigenSolver to indicate that it should solve the generalized eigenproblem \( BAx = \lambda x \).

GenEigMask 

Definition at line 389 of file Constants.h.

389  {
391  Pivoting = 0x01,
393  NoPivoting = 0x02,
395  ComputeFullU = 0x04,
397  ComputeThinU = 0x08,
399  ComputeFullV = 0x10,
401  ComputeThinV = 0x20,
404  EigenvaluesOnly = 0x40,
407  ComputeEigenvectors = 0x80,
412  Ax_lBx = 0x100,
415  ABx_lx = 0x200,
418  BAx_lx = 0x400,
421 };
@ GenEigMask
Definition: Constants.h:420
@ ComputeFullV
Definition: Constants.h:399
@ ComputeThinV
Definition: Constants.h:401
@ EigVecMask
Definition: Constants.h:409
@ Ax_lBx
Definition: Constants.h:412
@ ComputeEigenvectors
Definition: Constants.h:407
@ BAx_lx
Definition: Constants.h:418
@ ABx_lx
Definition: Constants.h:415
@ Pivoting
Definition: Constants.h:391
@ ComputeFullU
Definition: Constants.h:395
@ ComputeThinU
Definition: Constants.h:397
@ NoPivoting
Definition: Constants.h:393
@ EigenvaluesOnly
Definition: Constants.h:404

◆ DirectionType

Enum containing possible values for the Direction parameter of Reverse, PartialReduxExpr and VectorwiseOp.

Enumerator
Vertical 

For Reverse, all columns are reversed; for PartialReduxExpr and VectorwiseOp, act on columns.

Horizontal 

For Reverse, all rows are reversed; for PartialReduxExpr and VectorwiseOp, act on rows.

BothDirections 

For Reverse, both rows and columns are reversed; not used for PartialReduxExpr and VectorwiseOp.

Definition at line 263 of file Constants.h.

263  {
266  Vertical,
269  Horizontal,
273 };
@ BothDirections
Definition: Constants.h:272
@ Horizontal
Definition: Constants.h:269
@ Vertical
Definition: Constants.h:266

◆ NaNPropagationOptions

Enum for specifying NaN-propagation behavior, e.g. for coeff-wise min/max.

Enumerator
PropagateFast 

Implementation defined behavior if NaNs are present.

PropagateNaN 

Always propagate NaNs.

PropagateNumbers 

Always propagate not-NaNs.

Definition at line 341 of file Constants.h.

341  {
343  PropagateFast = 0,
345  PropagateNaN,
348 };
@ PropagateNaN
Definition: Constants.h:345
@ PropagateNumbers
Definition: Constants.h:347
@ PropagateFast
Definition: Constants.h:343

◆ QRPreconditioners

Possible values for the QRPreconditioner template parameter of JacobiSVD.

Enumerator
ColPivHouseholderQRPreconditioner 

Use a QR decomposition with column pivoting as the first step.

NoQRPreconditioner 

Do not specify what is to be done if the SVD of a non-square matrix is asked for.

HouseholderQRPreconditioner 

Use a QR decomposition without pivoting as the first step.

FullPivHouseholderQRPreconditioner 

Use a QR decomposition with full pivoting as the first step.

DisableQRDecomposition 

Used to disable the QR Preconditioner in BDCSVD.

Definition at line 425 of file Constants.h.

425  {
429  NoQRPreconditioner = 0x40,
436 };
@ NoQRPreconditioner
Definition: Constants.h:429
@ DisableQRDecomposition
Definition: Constants.h:435
@ HouseholderQRPreconditioner
Definition: Constants.h:431
@ ColPivHouseholderQRPreconditioner
Definition: Constants.h:427
@ FullPivHouseholderQRPreconditioner
Definition: Constants.h:433

◆ SideType

Enum for specifying whether to apply or solve on the left or right.

Enumerator
OnTheLeft 

Apply transformation on the left.

OnTheRight 

Apply transformation on the right.

Definition at line 332 of file Constants.h.

332  {
334  OnTheLeft = 1,
336  OnTheRight = 2
337 };
@ OnTheLeft
Definition: Constants.h:334
@ OnTheRight
Definition: Constants.h:336

◆ StorageOptions

Enum containing possible values for the Options_ template parameter of Matrix, Array and BandMatrix.

Enumerator
ColMajor 

Storage order is column major (see Storage orders).

RowMajor 

Storage order is row major (see Storage orders).

AutoAlign 

Align the matrix itself if it is vectorizable fixed-size

DontAlign 

Don't require alignment for the matrix itself (the array of coefficients, if dynamically allocated, may still be requested to be aligned)

Definition at line 319 of file Constants.h.

319  {
321  ColMajor = 0,
323  RowMajor = 0x1, // it is only a coincidence that this is equal to RowMajorBit -- don't rely on that
325  AutoAlign = 0, // FIXME --- clarify the situation
327  DontAlign = 0x2
328 };
@ ColMajor
Definition: Constants.h:321
@ DontAlign
Definition: Constants.h:327
@ RowMajor
Definition: Constants.h:323
@ AutoAlign
Definition: Constants.h:325

◆ TransformTraits

Enum used to specify how a particular transformation is stored in a matrix.

See also
Transform, Hyperplane::transform().
Enumerator
Isometry 

Transformation is an isometry.

Affine 

Transformation is an affine transformation stored as a (Dim+1)^2 matrix whose last row is assumed to be [0 ... 0 1].

AffineCompact 

Transformation is an affine transformation stored as a (Dim) x (Dim+1) matrix.

Projective 

Transformation is a general projective transformation stored as a (Dim+1)^2 matrix.

Definition at line 459 of file Constants.h.

459  {
461  Isometry = 0x1,
464  Affine = 0x2,
466  AffineCompact = 0x10 | Affine,
468  Projective = 0x20
469 };
@ Affine
Definition: Constants.h:464
@ Projective
Definition: Constants.h:468
@ AffineCompact
Definition: Constants.h:466
@ Isometry
Definition: Constants.h:461

◆ UpLoType

Enum containing possible values for the Mode or UpLo parameter of MatrixBase::selfadjointView() and MatrixBase::triangularView(), and selfadjoint solvers.

Enumerator
Lower 

View matrix as a lower triangular matrix.

Upper 

View matrix as an upper triangular matrix.

UnitDiag 

Matrix has ones on the diagonal; to be used in combination with Lower or Upper.

ZeroDiag 

Matrix has zeros on the diagonal; to be used in combination with Lower or Upper.

UnitLower 

View matrix as a lower triangular matrix with ones on the diagonal.

UnitUpper 

View matrix as an upper triangular matrix with ones on the diagonal.

StrictlyLower 

View matrix as a lower triangular matrix with zeros on the diagonal.

StrictlyUpper 

View matrix as an upper triangular matrix with zeros on the diagonal.

SelfAdjoint 

Used in BandMatrix and SelfAdjointView to indicate that the matrix is self-adjoint.

Symmetric 

Used to support symmetric, non-selfadjoint, complex matrices.

Definition at line 209 of file Constants.h.

209  {
211  Lower=0x1,
213  Upper=0x2,
215  UnitDiag=0x4,
217  ZeroDiag=0x8,
227  SelfAdjoint=0x10,
229  Symmetric=0x20
230 };
@ StrictlyLower
Definition: Constants.h:223
@ UnitDiag
Definition: Constants.h:215
@ StrictlyUpper
Definition: Constants.h:225
@ UnitLower
Definition: Constants.h:219
@ ZeroDiag
Definition: Constants.h:217
@ SelfAdjoint
Definition: Constants.h:227
@ Symmetric
Definition: Constants.h:229
@ UnitUpper
Definition: Constants.h:221
@ Lower
Definition: Constants.h:211
@ Upper
Definition: Constants.h:213