WPILibC++ 2023.4.3
Enumerations

Various enumerations used in Eigen. More...

Enumerations

enum  Eigen::UpLoType {
  Eigen::Lower =0x1 , Eigen::Upper =0x2 , Eigen::UnitDiag =0x4 , Eigen::ZeroDiag =0x8 ,
  Eigen::UnitLower =UnitDiag|Lower , Eigen::UnitUpper =UnitDiag|Upper , Eigen::StrictlyLower =ZeroDiag|Lower , Eigen::StrictlyUpper =ZeroDiag|Upper ,
  Eigen::SelfAdjoint =0x10 , Eigen::Symmetric =0x20
}
 Enum containing possible values for the Mode or UpLo parameter of MatrixBase::selfadjointView() and MatrixBase::triangularView(), and selfadjoint solvers. More...
 
enum  Eigen::AlignmentType {
  Eigen::Unaligned =0 , Eigen::Aligned8 =8 , Eigen::Aligned16 =16 , Eigen::Aligned32 =32 ,
  Eigen::Aligned64 =64 , Eigen::Aligned128 =128 , Eigen::AlignedMask =255 , Eigen::Aligned =16 ,
  Eigen::AlignedMax = Unaligned
}
 Enum for indicating whether a buffer is aligned or not. More...
 
enum  Eigen::DirectionType { Eigen::Vertical , Eigen::Horizontal , Eigen::BothDirections }
 Enum containing possible values for the Direction parameter of Reverse, PartialReduxExpr and VectorwiseOp. More...
 
enum  Eigen::StorageOptions { Eigen::ColMajor = 0 , Eigen::RowMajor = 0x1 , Eigen::AutoAlign = 0 , Eigen::DontAlign = 0x2 }
 Enum containing possible values for the _Options template parameter of Matrix, Array and BandMatrix. More...
 
enum  Eigen::SideType { Eigen::OnTheLeft = 1 , Eigen::OnTheRight = 2 }
 Enum for specifying whether to apply or solve on the left or right. More...
 
enum  Eigen::NaNPropagationOptions { Eigen::PropagateFast = 0 , Eigen::PropagateNaN , Eigen::PropagateNumbers }
 Enum for specifying NaN-propagation behavior, e.g. More...
 
enum  Eigen::AccessorLevels { Eigen::ReadOnlyAccessors , Eigen::WriteAccessors , Eigen::DirectAccessors , Eigen::DirectWriteAccessors }
 Used as template parameter in DenseCoeffBase and MapBase to indicate which accessors should be provided. More...
 
enum  Eigen::DecompositionOptions {
  Eigen::Pivoting = 0x01 , Eigen::NoPivoting = 0x02 , Eigen::ComputeFullU = 0x04 , Eigen::ComputeThinU = 0x08 ,
  Eigen::ComputeFullV = 0x10 , Eigen::ComputeThinV = 0x20 , Eigen::EigenvaluesOnly = 0x40 , Eigen::ComputeEigenvectors = 0x80 ,
  Eigen::EigVecMask = EigenvaluesOnly | ComputeEigenvectors , Eigen::Ax_lBx = 0x100 , Eigen::ABx_lx = 0x200 , Eigen::BAx_lx = 0x400 ,
  Eigen::GenEigMask = Ax_lBx | ABx_lx | BAx_lx
}
 Enum with options to give to various decompositions. More...
 
enum  Eigen::QRPreconditioners { Eigen::NoQRPreconditioner , Eigen::HouseholderQRPreconditioner , Eigen::ColPivHouseholderQRPreconditioner , Eigen::FullPivHouseholderQRPreconditioner }
 Possible values for the QRPreconditioner template parameter of JacobiSVD. More...
 
enum  Eigen::ComputationInfo { Eigen::Success = 0 , Eigen::NumericalIssue = 1 , Eigen::NoConvergence = 2 , Eigen::InvalidInput = 3 }
 Enum for reporting the status of a computation. More...
 
enum  Eigen::TransformTraits { Eigen::Isometry = 0x1 , Eigen::Affine = 0x2 , Eigen::AffineCompact = 0x10 | Affine , Eigen::Projective = 0x20 }
 Enum used to specify how a particular transformation is stored in a matrix. More...
 

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.

◆ 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 

◆ 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.

◆ 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 

◆ 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.

◆ 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.

◆ QRPreconditioners

Possible values for the QRPreconditioner template parameter of JacobiSVD.

Enumerator
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.

ColPivHouseholderQRPreconditioner 

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

FullPivHouseholderQRPreconditioner 

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

◆ 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.

◆ StorageOptions

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

Enumerator
ColMajor 

Storage order is column major (see TopicStorageOrders).

RowMajor 

Storage order is row major (see TopicStorageOrders).

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)

◆ 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.

◆ 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.