Package pal.math
Class MathUtils
java.lang.Object
pal.math.MathUtils
Handy utility functions which have some Mathematical relavance.
- Version:
- $Id: MathUtils.java,v 1.10 2004/08/05 03:00:22 matt Exp $
- Author:
- Matthew Goode, Alexei Drummond
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic MersenneTwisterFast
A random number generator that is initialized with the clock when this class is loaded into the JVM. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic final double
ensureBounded
(double x, double lower, double upper) Ensure a value of x is actaully bounded between two values.static final double
getLoggedDifferenceFromLogged
(double lnOfX, double lnOfY) Calculate the logged difference in two values = x - y, where the log of x and y are given.static final double
getMaximum
(double[] array) static final double
getMaximum
(double[] array, int start, int end) static final double
getMinimum
(double[] array) static final double
getMinimum
(double[] array, int start, int end) static final double[]
getNormalized
(double[] array) static final double[]
static final double
getTotal
(double[] array) static final double
getTotal
(double[] array, int start, int end)
-
Field Details
-
random
A random number generator that is initialized with the clock when this class is loaded into the JVM. Use this for all random numbers.
-
-
Constructor Details
-
MathUtils
public MathUtils()
-
-
Method Details
-
getLoggedDifferenceFromLogged
public static final double getLoggedDifferenceFromLogged(double lnOfX, double lnOfY) Calculate the logged difference in two values = x - y, where the log of x and y are given. That is, given ln(x), and ln(y) calculate ln(x-y)- Parameters:
lnOfX
- the natural log of XlnOfY
- the natural log of Y- Returns:
- X - Y (logged)
-
ensureBounded
public static final double ensureBounded(double x, double lower, double upper) Ensure a value of x is actaully bounded between two values. Useful when using numerical analysis tools that may, over the limits of the expressed accuracy, return values outside the specified range- Parameters:
x
- the value of interestlower
- the lower boundupper
- the upper bound- Returns:
- x if between the bounds, or lower bound if lower than lower bound, or upper bound if higher than upper
-
getNormalized
public static final double[] getNormalized(double[] array) - Returns:
- a new double array where all the values sum to 1. Relative ratios are preserved.
-
getTotal
public static final double getTotal(double[] array, int start, int end) - Parameters:
end
- the index of the element after the last one to be included- Returns:
- the total of a the values in a range of an array
-
getMinimum
public static final double getMinimum(double[] array, int start, int end) - Parameters:
array
-start
-end
- the index of the element after the last one to be included- Returns:
- the minimum of a the values in a range of an array
-
getMinimum
public static final double getMinimum(double[] array) - Parameters:
array
- The array of values to examine- Returns:
- the minimum of a the values in an array
-
getMaximum
public static final double getMaximum(double[] array) - Parameters:
array
- The array of values to examine- Returns:
- the maximum of a the values in an array
-
getMaximum
public static final double getMaximum(double[] array, int start, int end) - Parameters:
array
-start
-end
- the index of the element after the last one to be included- Returns:
- the maximum of a the values in a range of an array
-
getTotal
public static final double getTotal(double[] array) - Returns:
- the total of the values in an array
-
getRandomArguments
- Returns:
- a set of valid, but randomly generated, arguments for a particular MultivariateFunction
-