Package jebl.math

# Class OrthogonalLineFunction

java.lang.Object
jebl.math.OrthogonalLineFunction

All Implemented Interfaces:
  `UnivariateFunction`

public class OrthogonalLineFunction extends Object implements UnivariateFunction
converts a multivariate function into a univariate function by keeping all but one argument constant

Author:
  Korbinian Strimmer

## Constructor Summary

Constructors
Constructor
Description
`OrthogonalLineFunction(MultivariateFunction func)`
construct univariate function from multivariate function
`OrthogonalLineFunction(MultivariateFunction func, int selectedDimension, double[] initialArguments)`
construct univariate function from multivariate function

## Method Summary

Modifier and Type
Method
Description
`double`
`evaluate(double arg)`
compute function value
`double`
`getLowerBound()`
get lower bound of argument
`double`
`getUpperBound()`
get upper bound of argument
`void`
`selectArgument(int num)`
use only the specified argument in the constructed univariate function and keep all others constant
`void`
`setAllArguments(double[] start)`
set (change) values of all arguments (start values)
`void`
`setArgument(double val)`
set (change) value of a single argument (the one currently active)

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

`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### OrthogonalLineFunction

public OrthogonalLineFunction(MultivariateFunction func)
construct univariate function from multivariate function

Parameters:
  `func` - multivariate function

### OrthogonalLineFunction

public OrthogonalLineFunction(MultivariateFunction func, int selectedDimension, double[] initialArguments)
construct univariate function from multivariate function

Parameters:
  `func` - multivariate function
  `selectedDimension` - The selected dimension/argument that the line "runs" along
  `initialArguments` - the initial arguments to the base MultivariateFunction (may be null)

## Method Details

### setAllArguments

public void setAllArguments(double[] start)
set (change) values of all arguments (start values)

Parameters:
  `start` - start values

### setArgument

public void setArgument(double val)
set (change) value of a single argument (the one currently active)

Parameters:
  `val` - value of argument

### selectArgument

public void selectArgument(int num)
use only the specified argument in the constructed univariate function and keep all others constant

Parameters:
  `num` - argument number

### evaluate

public double evaluate(double arg)
Description copied from interface: `UnivariateFunction`
compute function value

Specified by:
  `evaluate` in interface `UnivariateFunction`
Parameters:
  `arg` - function argument
Returns:
  function value

### getLowerBound

public double getLowerBound()
Description copied from interface: `UnivariateFunction`
get lower bound of argument

Specified by:
  `getLowerBound` in interface `UnivariateFunction`
Returns:
  lower bound

### getUpperBound

public double getUpperBound()
Description copied from interface: `UnivariateFunction`
get upper bound of argument

Specified by:
  `getUpperBound` in interface `UnivariateFunction`
Returns:
  upper bound