gov.sandia.cognition.learning.function.scalar
Class AtanFunction

java.lang.Object
  extended by gov.sandia.cognition.util.AbstractCloneableSerializable
      extended by gov.sandia.cognition.math.AbstractScalarFunction<Double>
          extended by gov.sandia.cognition.math.AbstractUnivariateScalarFunction
              extended by gov.sandia.cognition.math.AbstractDifferentiableUnivariateScalarFunction
                  extended by gov.sandia.cognition.learning.function.scalar.AtanFunction
All Implemented Interfaces:
Evaluator<Double,Double>, DifferentiableEvaluator<Double,Double,Double>, DifferentiableUnivariateScalarFunction, Vectorizable, ScalarFunction<Double>, UnivariateScalarFunction, CloneableSerializable, Serializable, Cloneable

@CodeReviews(reviews={@CodeReview(reviewer="Kevin R. Dixon",date="2009-07-06",changesNeeded=false,comments={"Made clone() call super.clone().","Minor clean up of javadoc.","Otherwise, class looks fine."}),@CodeReview(reviewer="Justin Basilico",date="2006-10-05",changesNeeded=false,comments="Class looks fine.")})
public class AtanFunction
extends AbstractDifferentiableUnivariateScalarFunction
implements Vectorizable

Returns the element-wise arctangent of the input vector, compressed between -maxMagnitude and maxMagnitude (instead of just -PI/2 and PI/2)

Since:
1.0
Author:
Kevin R. Dixon
See Also:
Serialized Form

Field Summary
protected static double DEFAULT_MAX_MAGNITUDE
          The default max magnitude, which is PI / 2.
 
Constructor Summary
AtanFunction()
          Creates a new instance of AtanFunction with the standard unit magnitude of -PI / 2 to PI / 2.
AtanFunction(double maxMagnitude)
          Creates a new instance of AtanFunction.
 
Method Summary
 AtanFunction clone()
          This makes public the clone method on the Object class and removes the exception that it throws.
 void convertFromVector(Vector parameters)
          Converts the object from a Vector of parameters.
 Vector convertToVector()
          Converts the object to a vector.
 double differentiate(double input)
          Differentiates the output of the function about the given input
 double evaluate(double input)
          Produces a double output for the given double input
 double getMaxMagnitude()
          Getter for maxMagnitude.
 void setMaxMagnitude(double maxMagnitude)
          Setter for maxMagnitude.
 
Methods inherited from class gov.sandia.cognition.math.AbstractDifferentiableUnivariateScalarFunction
differentiate
 
Methods inherited from class gov.sandia.cognition.math.AbstractUnivariateScalarFunction
evaluate, evaluateAsDouble
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface gov.sandia.cognition.math.ScalarFunction
evaluateAsDouble
 
Methods inherited from interface gov.sandia.cognition.evaluator.Evaluator
evaluate
 

Field Detail

DEFAULT_MAX_MAGNITUDE

protected static final double DEFAULT_MAX_MAGNITUDE
The default max magnitude, which is PI / 2.

See Also:
Constant Field Values
Constructor Detail

AtanFunction

public AtanFunction()
Creates a new instance of AtanFunction with the standard unit magnitude of -PI / 2 to PI / 2.


AtanFunction

public AtanFunction(double maxMagnitude)
Creates a new instance of AtanFunction.

Parameters:
maxMagnitude - maximum magnitude value of the function at infinity and -infinity
Method Detail

evaluate

public double evaluate(double input)
Description copied from interface: UnivariateScalarFunction
Produces a double output for the given double input

Specified by:
evaluate in interface UnivariateScalarFunction
Parameters:
input - Input to the Evaluator
Returns:
output at the given input

getMaxMagnitude

public double getMaxMagnitude()
Getter for maxMagnitude.

Returns:
maximum magnitude value of the function at infinity and -infinity

setMaxMagnitude

public void setMaxMagnitude(double maxMagnitude)
Setter for maxMagnitude.

Parameters:
maxMagnitude - maximum magnitude value of the function at infinity and -infinity

differentiate

public double differentiate(double input)
Description copied from interface: DifferentiableUnivariateScalarFunction
Differentiates the output of the function about the given input

Specified by:
differentiate in interface DifferentiableUnivariateScalarFunction
Parameters:
input - Input about which to compute the derivative of the function output
Returns:
Derivative of the output with respect to the input

clone

public AtanFunction clone()
Description copied from class: AbstractCloneableSerializable
This makes public the clone method on the Object class and removes the exception that it throws. Its default behavior is to automatically create a clone of the exact type of object that the clone is called on and to copy all primitives but to keep all references, which means it is a shallow copy. Extensions of this class may want to override this method (but call super.clone() to implement a "smart copy". That is, to target the most common use case for creating a copy of the object. Because of the default behavior being a shallow copy, extending classes only need to handle fields that need to have a deeper copy (or those that need to be reset). Some of the methods in ObjectUtil may be helpful in implementing a custom clone method. Note: The contract of this method is that you must use super.clone() as the basis for your implementation.

Specified by:
clone in interface Vectorizable
Specified by:
clone in interface CloneableSerializable
Overrides:
clone in class AbstractCloneableSerializable
Returns:
A clone of this object.

convertToVector

public Vector convertToVector()
Description copied from interface: Vectorizable
Converts the object to a vector.

Specified by:
convertToVector in interface Vectorizable
Returns:
The Vector form of the object.

convertFromVector

public void convertFromVector(Vector parameters)
Description copied from interface: Vectorizable
Converts the object from a Vector of parameters.

Specified by:
convertFromVector in interface Vectorizable
Parameters:
parameters - The parameters to incorporate.