This section lists the enumeration types defined in the Extreme Optimization Numerical Libraries for .NET.
Enumerates the possible result codes for classes that inherit from
ManagedIterativeAlgorithmT class.
Member Name | Description |
---|
NoResult | The algorithm has not been executed. |
Busy | The algorithm has not yet ended. |
Converged | The algorithm has converged. |
ConvergedToFalseSolution | The algorithm converged, but the result is not a solution of the problem. |
IterationLimitExceeded | The maximum number of iterations was exceeded. |
EvaluationLimitExceeded | The maximum number of function evaluations was exceeded. |
RoundOffError | Round-off prevented the algorithm from achieving a result within the desired tolerance. |
BadFunction | A badly behaved function prevented the algorithm from achieving a result within the desired tolerance. |
Divergent | the algorithm diverges. |
Enumerates possible values for the ConvergenceCriterion property of classes that inherit from
the IterativeAlgorithm class
or the ConvergenceTestT class.
Member Name | Description |
---|
WithinAbsoluteTolerance |
The result should be within the tolerance specified by the
AbsoluteTolerance property.
|
WithinRelativeTolerance |
The result should be within the tolerance specified by the
RelativeTolerance property.
|
WithinAnyTolerance |
The result should be within either of the tolerances specified by the
AbsoluteTolerance
and RelativeTolerance properties.
|
NumberOfIterations |
Convergence should be expected at the specified by the
MaxIterations property. The estimated error is
ignored.
|
ConvergenceTestQuantifier
Enumerates the possible ways tests in a ConvergenceTestCollectionT are combined.
Member Name | Description |
---|
Any | The convergence test succeeds if any of the tests in the collection succeeds. |
All | The convergence test succeeds if all of the tests in the collection succeed. |
Enumerates the possible values that specify the type of
divided differences to be used in numerical differentiation.
Member Name | Description |
---|
Backward | Only function values at the target point and to the left of the target point are used. |
Central | Function values at the target point and on both sides of the target point are used. |
Forward | Only function values at the target point and to the right of the target point are used. |
Enumerates the methods that can be used to clone a VectorT or MatrixT.
Member Name | Description |
---|
Complete | Makes an exact clone of the object. |
NonzeroElementsWriteable | Makes a copy of the object such that all non-zero elements are writable. |
AllElementsWriteable | Makes a copy of the object such that all elements are writable. |
Enumerates the variants of the conjugate gradient method. This enumeration is used by the Method property of the ConjugateGradientOptimizer class to specify the
formula that is used to construct the next conjugate direction.
Member Name | Description |
---|
FletcherReeves | The method of Fletcher and Reeves |
PolakRibiere | The method of Polak and Ribiere |
PositivePolakRibiere | The method of Polak and Ribiere with positive coefficient. |
Enumerates the possible values for the type of dimension in a DimensionMismatchException.
Member Name | Description |
---|
Unknown | The mismatched dimension is unknown. |
Row |
The number of rows of a MatrixT is
mismatched.
|
Column |
The number of columns of a MatrixT is
mismatched.
|
Length |
The length of a VectorT is mismatched.
|
Enumerates the possible values for the type of extremum an optimizer is to look for.
Member Name | Description |
---|
Minimum | A minimum of the objective function is requested. (This is the default.) |
Maximum | A maximum of the objective function is requested. |
LeastSquaresSolutionMethod
Enumerates the possible methods for solving a least squares problem.
Member Name | Description |
---|
NormalEquations | Use the normal equations computed from the input. |
QRDecomposition | Use a QR decomposition of the input matrix. This is the default. |
SingularValueDecomposition | Use a singular value decomposition. This is the most stable and reliable method, but also the slowest. |
Enumerates the possible methods for solving a least squares problem. This enumeration is used by the LinearCurveFitter class to specify how the least squares
solution is to be calculated.
Member Name | Description |
---|
NormalEquations | Use the normal equations computed from the input. |
QRDecomposition | Use a QR decomposition of the input matrix. This is the most stable method. |
SingularValueDecomposition | Use a singular value decomposition. This is the most stable and reliable method, but also the slowest. |
Represents the possible values that specify whether or not a MatrixT has 1's on its diagonal.
This enumeration corresponds to the DIAG parameter
in the BLAS and LAPACK routines, and the CBLAS_DIAG
enum in the CBLAS interface definition.
Member Name | Description |
---|
NonUnitDiagonal | The matrix is not unit-diagonal. |
UnitDiagonal | The matrix is unit-diagonal. |
Represents the possible values for the order in which elements of a MatrixT are stored. The matrix elements must be contiguous in the
storage array in the direction specified by this value.
This enumeration corresponds to the CBLAS_ORDER enum
in the CBLAS interface definition.
Member Name | Description |
---|
RowMajor |
The elements are stored in row major order. Elements in the same row are stored in one contiguous
block.
|
ColumnMajor |
The elements are stored in column major order. Elements in the same column are stored in one contiguous
block.
|
NotApplicable |
The element order is meaningless for the type of matrix.
|
Represents the possible values that specify on which side of the operator a MatrixT argument is to be multiplied. The value always refers to
the side relative to the current instance.
This enumeration corresponds to the SIDE parameter
in the BLAS and LAPACK routines, and the CBLAS_SIDE enum
in the CBLAS interface definition.
Member Name | Description |
---|
Left |
The MatrixT is to be multiplied on the left
side.
|
Right |
The MatrixT is to be multiplied on the right
side.
|
Represents the possible values specifying a triangular part of a matrix.
It is used to specify whether a triangular matrix is upper or lower triangular,
and to specify which part of a symmetric or Hermitian matrix is stored.
This enumeration corresponds to the UPLO parameter
in the BLAS and LAPACK routines, and the CBLAS_UPLO enum
in the CBLAS interface definition.
Member Name | Description |
---|
Upper |
The matrix is upper triangular, or the matrix elements are stored in the upper triangular portion of the
storage array.
|
Lower |
The matrix is lower triangular, or the matrix elements are stored in the lower triangular portion of the
storage array.
|
Both | Both upper and lower diagonal elements are present. |
Enumerates the variants of the quasi-Newton method.
Member Name | Description |
---|
Bfgs | The Broyden-Fletcher-Goldfard-Shanno method. (This is the default.) |
Dfp | The Davidon-Fletcher-Powell method. |
SingularValueDecompositionFactors
Represents the possible values specifying which factors of a SingularValueDecompositionT are to be
computed.
Member Name | Description |
---|
SingularValues | The singular values are required. This is always included. |
LeftSingularVectors | The left singular vectors are required. |
RightSingularVectors | The right singular vectors are required. |
All | The singular values as well as the left and right singular vectors are required. |
Represents the possible values of an operation to be performed
on a MatrixT before it is multiplied.
This enumeration corresponds to the TRANS parameters
in the BLAS and LAPACK routines, and the CBLAS_TRANSPOSE
enum in the CBLAS interface definition.
Member Name | Description |
---|
None | No operation is performed. The matrix is multiplied 'as is.' |
Transpose | The transpose of the matrix is multiplied. |
ConjugateTranspose |
The conjugate transpose of the matrix is multiplied. For real matrices,
this is the same as Transpose.
|
Conjugate |
The conjugate of the matrix is multiplied. For real matrices,
this is the same as None.
|
VectorConvergenceErrorMeasure
Enumerates the ways to measure the error in a VectorConvergenceTestT.
Member Name | Description |
---|
Norm | Use the norm of the error vector as the measure. |
Elementwise | Calculate the errors on individual elements. |
Enumerates the possible norms to be used in a VectorConvergenceTestT.
Member Name | Description |
---|
EuclideanNorm | Use the Euclidean (two-norm). |
Maximum | Use the maximum absolute value (infinity norm). |
SumOfAbsoluteValues | Use the sum of the absolute values (one norm). |