## Package gov.sandia.cognition.math

Provides classes for mathematical computation.

See:
Description

Interface Summary
ClosedFormDifferentiableEvaluator<InputType,OutputType,DerivativeType> A differentiable function that has a closed-form derivative.
DifferentiableEvaluator<InputType,OutputType,DerivativeType> Interface that indicates that the Evaluator can be differentiated about the given input.
DifferentiableUnivariateScalarFunction A differentiable univariate scalar function
DivergenceFunction<FirstType,SecondType> The DivergenceFunction class defines the functionality of something that computes the divergence between two objects.
EuclideanRing<RingType extends EuclideanRing<RingType>> Defines something similar to a Euclidean ring from abstract algebra.
Field<FieldType extends Field<FieldType>> Defines something similar to a mathematical field.
Metric<EvaluatedType> A metric is a non-negative function that satisfies the following properties g(x, y) + g(y, z) >= g(x, z) g(x, y) == g(y, x) g(x, x) == 0.
Ring<RingType extends Ring<RingType>> Defines something similar to a mathematical ring.
ScalarFunction<InputType> Interface for a function that maps some input onto a double.
Semimetric<InputType> A semimetric is a divergence function that takes inputs from the same set (domain) and is positive definite and symmetric.
UnivariateScalarFunction Simple interface that describes a function that maps the reals to the reals, has a Double to Double and double to double

Class Summary
AbstractDifferentiableUnivariateScalarFunction Partial implementation of DifferentiableUnivariateScalarFunction that implements the differentiate(Double) method with a callback to the differentiate(double) method, so that a concrete class only to implement the differentiate(double) method
AbstractEuclideanRing<RingType extends EuclideanRing<RingType>> An abstract implementation of the `EuclideanRing` interface.
AbstractField<FieldType extends Field<FieldType>> An abstract implementation of the `Field` interface.
AbstractRing<RingType extends Ring<RingType>> Implements the non-inline versions of the various Ring functions.
AbstractScalarFunction<InputType> An abstract implementation of the `ScalarFunction` interface.
AbstractUnivariateScalarFunction Abstract implementation of ScalarFunction where the evaluate(Double) method calls back into the evaluate(double) method.
ComplexNumber Represents a complex number in a rectangular manner, explicitly storing the real and imaginary portions: real + j*imaginary
LentzMethod This class implements Lentz's method for evaluating continued fractions.
LogMath A utility class for doing math with numbers represented as logarithms.
LogNumber Represents a number in log-space, storing the log of the absolute value log(|value|) and the sign of the value sign(value).
MathUtil The `MathUtil` class implements mathematical utility functions.
MultivariateStatisticsUtil Some static methods for computing generally useful multivariate statistics.
MutableDouble A mutable object containing a double.
MutableInteger A mutable object containing an integer.
MutableLong A mutable object containing a long.
NumberAverager Returns an average (arithmetic mean) of a collection of Numbers
Permutation The `Permutation` class contains methods for dealing with permutations of object sets.
ProbabilityUtil Utility methods for dealing with probabilities.
RingAccumulator<RingType extends Ring<RingType>> The `RingAccumulator` class implements a simple object that is used to accumulate objects that implement the Ring interface.
RingAverager<RingType extends Ring<RingType>> A type of Averager for Rings (Matrices, Vectors, ComplexNumbers).
UnivariateStatisticsUtil Some static methods for computing generally useful univariate statistics.
UnivariateSummaryStatistics A Bayesian-style synopsis of a Collection of scalar data.
UnsignedLogNumber Represents an unsigned number in log space, storing log(value) and operating directly on it.
WeightedNumberAverager Averages together given set of weighted values by adding up the weight times the value and then dividing by the total weight.
WeightedRingAverager<RingType extends Ring<RingType>> A type of Summarizer for Rings (Matrices, Vectors, ComplexNumbers).

Exception Summary
OperationNotConvergedException The `OperationNotConvergedException` class is an exception that is thrown when some mathematical operation does not converge, when it is expected to converge.

## Package gov.sandia.cognition.math Description

Provides classes for mathematical computation.

Since:
2.0
Author:
Justin Basilico, Kevin R. Dixon