Package org.apache.commons.math3.analysis.solvers

# Enum AllowedSolution

java.lang.Object
java.lang.Enum<AllowedSolution>
org.apache.commons.math3.analysis.solvers.AllowedSolution

All Implemented Interfaces:
  `Serializable`, `Comparable<AllowedSolution>`, `java.lang.constant.Constable`

public enum AllowedSolution extends Enum<AllowedSolution>
The kinds of solutions that a `(bracketed univariate real) root-finding algorithm` may accept as solutions. This basically controls whether or not under-approximations and over-approximations are allowed.

If all solutions are accepted (`ANY_SIDE`), then the solution that the root-finding algorithm returns for a given root may be equal to the actual root, but it may also be an approximation that is slightly smaller or slightly larger than the actual root. Root-finding algorithms generally only guarantee that the returned solution is within the requested tolerances. In certain cases however, in particular for `state events` of `ODE solvers`, it may be necessary to guarantee that a solution is returned that lies on a specific side the solution.

Since:
  3.0
See Also:
  - `BracketedUnivariateSolver`

## Nested Class Summary

## Nested classes/interfaces inherited from class java.lang.Enum

`Enum.EnumDesc<E extends Enum<E>>`

## Enum Constant Summary

Enum Constants
Enum Constant
Description
`ABOVE_SIDE`
Only solutions for which values are greater than or equal to zero are acceptable as solutions for root-finding.
`ANY_SIDE`
There are no additional side restriction on the solutions for root-finding.
`BELOW_SIDE`
Only solutions for which values are less than or equal to zero are acceptable as solutions for root-finding.
`LEFT_SIDE`
Only solutions that are less than or equal to the actual root are acceptable as solutions for root-finding.
`RIGHT_SIDE`
Only solutions that are greater than or equal to the actual root are acceptable as solutions for root-finding.

## Method Summary

Modifier and Type
Method
Description
`static AllowedSolution`
`valueOf(String name)`
Returns the enum constant of this type with the specified name.
`static AllowedSolution[]`
`values()`
Returns an array containing the constants of this enum type, in the order they are declared.

### Methods inherited from class java.lang.Enum

`clone, compareTo, describeConstable, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf`

### Methods inherited from class java.lang.Object

`getClass, notify, notifyAll, wait, wait, wait`

## Enum Constant Details

### ANY_SIDE

public static final AllowedSolution ANY_SIDE
There are no additional side restriction on the solutions for root-finding. That is, both under-approximations and over-approximations are allowed. So, if a function f(x) has a root at x = x0, then the root-finding result s may be smaller than x0, equal to x0, or greater than x0.

### LEFT_SIDE

public static final AllowedSolution LEFT_SIDE
Only solutions that are less than or equal to the actual root are acceptable as solutions for root-finding. In other words, over-approximations are not allowed. So, if a function f(x) has a root at x = x0, then the root-finding result s must satisfy s <= x0.

### RIGHT_SIDE

public static final AllowedSolution RIGHT_SIDE
Only solutions that are greater than or equal to the actual root are acceptable as solutions for root-finding. In other words, under-approximations are not allowed. So, if a function f(x) has a root at x = x0, then the root-finding result s must satisfy s >= x0.

### BELOW_SIDE

public static final AllowedSolution BELOW_SIDE
Only solutions for which values are less than or equal to zero are acceptable as solutions for root-finding. So, if a function f(x) has a root at x = x0, then the root-finding result s must satisfy f(s) <= 0.

### ABOVE_SIDE

public static final AllowedSolution ABOVE_SIDE
Only solutions for which values are greater than or equal to zero are acceptable as solutions for root-finding. So, if a function f(x) has a root at x = x0, then the root-finding result s must satisfy f(s) >= 0.

## Method Details

### values

public static AllowedSolution[] values()
Returns an array containing the constants of this enum type, in the order they are declared.

Returns:
  an array containing the constants of this enum type, in the order they are declared

### valueOf

public static AllowedSolution valueOf(String name)
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

Parameters:
  `name` - the name of the enum constant to be returned.
Returns:
  the enum constant with the specified name
Throws:
  `IllegalArgumentException` - if this enum type has no constant with the specified name
  `NullPointerException` - if the argument is null