Extreme Optimization > User's Guide > Mathematics Library > Appendices > Enumeration Types

Extreme Optimization User's Guide

User's Guide

Up: Appendices Next: Vector and Matrix Library Previous: Exception Types Contents

Enumeration Types

This section lists the enumeration types defined in the Extreme Optimization Mathematics Library for .NET.

AlgorithmStatus

Enumerates the possible result codes for classes that inherit from the IterativeAlgorithm 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.

ConvergenceCriterion

Enumerates possible values for the ConvergenceCriterion property of classes that inherit from the IterativeAlgorithm 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 ConvergenceTestCollection 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.

DifferencesDirection

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.

CloningMethod

Enumerates the methods that can be used to clone a Vector or Matrix.

Member Name  Description
Complete Makes an exact clone of the object.
NonzeroComponentsWriteable Makes a copy of the object such that all non-zero components are writable.
AllComponentsWriteable Makes a copy of the object such that all components are writable.

ConjugateGradientMethod

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.

DimensionType

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 Matrix is mismatched.
Column The number of columns of a Matrix is mismatched.
Length The length of a Vector is mismatched.

ExtremumType

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.

LinearLeastSquaresMethod

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.

MatrixDiagonalMode

Represents the possible values that specify whether or not a TriangularMatrix 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.

MatrixElementOrder

Represents the possible values for the order in which elements of a Matrix 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 ElementOrder property is meaningless for the type of matrix.

MatrixOperationSide

Represents the possible values that specify on which side of the operator a Matrix 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 Matrix is to be multiplied on the left side.
Right The Matrix is to be multiplied on the right side.

MatrixTriangleMode

Represents the possible values specifying the part of the storage array where the elements of a triangular or symmetrical matrix are 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.

QuasiNewtonMethod

Enumerates the variants of the quasi-Newton method.

Member Name  Description
Bfgs The Broyden-Fletcher-Goldfard-Shanno method. (This is the default.)
Dfp The Davison-Fletcher-Powell method.

SingularValueDecompositionFactors

Represents the possible values specifying which factors of a SingularValueDecomposition 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.

TransposeOperation

Represents the possible values of an operation to be performed on a Matrix 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 VectorConvergenceTest.

Member Name  Description
Norm Use the norm of the error vector as the measure.
Componentwise Calculate the errors on individual components.

VectorConvergenceNorm

Enumerates the possible norms to be used in a VectorConvergenceTest.

Member Name  Description
EuclidianNorm Use the Euclidian (two-norm).
Maximum Use the maximum absolute value (infinity norm).
SumOfAbsoluteValues Use the sum of the absolute values (one norm).

Up: Appendices Next: Vector and Matrix Library Previous: Exception Types Contents

Overview
Introduction
Features
Documentation
QuickStart Samples
Sample Applications
Downloads
Get it now!
Download trial version
How to Buy
Information
Resources
Contact Us
Search

"The Extreme Optimization Statistics Library for .NET is a major boon for those doing statistical work in .NET. I strongly recommend this product."
- Marc Brooks

"I have made it my mission to institutionalize the value of good API design.  I strongly believe that this is key to making developers more productive and happy on our platform. It is clear that you value good API design in your work, and take to heart developer productivity and synergy with the .NET framework."
- Brad Abrams,
Lead Program Manager, Microsoft.

This is a partial list of companies who are using our libraries:
ABB Robotics
Allstate
Applied Materials
Arcam
Astra Schedule
Babson College
Canadian Council on Learning
Canyon Associates
Caxton Associates
CECity
Constellation Energy
CreditSights
DeepOcean
Duke University
Dynamotive
Elecsoft
Engelhard Corporation
Epcor
Equipoise Software
Galileo International
GAM UK
Gammex
GlaxoSmithKline
Global Matrix
The Hartford
Infinera Corporation
Intel
JDS Uniphase
LaBranche & Co.
Learning & Skills Council
Jacobs Consultancy
Litman Gregory
Lucas Systems
Malvern Instruments
Medrio
Merck & Co.
Mintera.
Monitor Software
MorningStar
NanoString Technologies
Paletta Invent
Parametric Portfolio Associates
Prosanos
RATA Associates
RiskShield
Ramboll
Standard & Poor's
Strategic Analysis Corporation
Univ. of Alicante
Univ. of South Carolina
vielife
Xerox
US Army