Changed "...MultivariateRealFunction" to "...MultivariateFunction".


git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@1206889 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Gilles Sadowski 2011-11-27 22:39:54 +00:00
parent 306130bb5f
commit b789d44c4c
43 changed files with 196 additions and 196 deletions

View File

@ -18,12 +18,12 @@
package org.apache.commons.math.analysis;
/**
* Extension of {@link MultivariateRealFunction} representing a differentiable
* Extension of {@link MultivariateFunction} representing a differentiable
* multivariate real function.
* @version $Id$
* @since 2.0
*/
public interface DifferentiableMultivariateRealFunction extends MultivariateRealFunction {
public interface DifferentiableMultivariateFunction extends MultivariateFunction {
/**
* Returns the partial derivative of the function with respect to a point coordinate.
@ -37,7 +37,7 @@ public interface DifferentiableMultivariateRealFunction extends MultivariateReal
* derivative is computed
* @return the partial derivative function with respect to k<sup>th</sup> point coordinate
*/
MultivariateRealFunction partialDerivative(int k);
MultivariateFunction partialDerivative(int k);
/**
* Returns the gradient function.

View File

@ -220,7 +220,7 @@ public class FunctionUtils {
}
/**
* Returns a MultivariateRealFunction h(x[]) defined by <pre> <code>
* Returns a MultivariateFunction h(x[]) defined by <pre> <code>
* h(x[]) = combiner(...combiner(combiner(initialValue,f(x[0])),f(x[1]))...),f(x[x.length-1]))
* </code></pre>
*
@ -229,10 +229,10 @@ public class FunctionUtils {
* @param initialValue Initial value.
* @return a collector function.
*/
public static MultivariateRealFunction collector(final BivariateRealFunction combiner,
public static MultivariateFunction collector(final BivariateRealFunction combiner,
final UnivariateFunction f,
final double initialValue) {
return new MultivariateRealFunction() {
return new MultivariateFunction() {
/** {@inheritDoc} */
public double value(double[] point) {
double result = combiner.value(initialValue, f.value(point[0]));
@ -245,7 +245,7 @@ public class FunctionUtils {
}
/**
* Returns a MultivariateRealFunction h(x[]) defined by <pre> <code>
* Returns a MultivariateFunction h(x[]) defined by <pre> <code>
* h(x[]) = combiner(...combiner(combiner(initialValue,x[0]),x[1])...),x[x.length-1])
* </code></pre>
*
@ -253,7 +253,7 @@ public class FunctionUtils {
* @param initialValue Initial value.
* @return a collector function.
*/
public static MultivariateRealFunction collector(final BivariateRealFunction combiner,
public static MultivariateFunction collector(final BivariateRealFunction combiner,
final double initialValue) {
return collector(combiner, new Identity(), initialValue);
}

View File

@ -23,7 +23,7 @@ package org.apache.commons.math.analysis;
* @version $Id$
* @since 2.0
*/
public interface MultivariateRealFunction {
public interface MultivariateFunction {
/**
* Compute the value for the function at the given point.

View File

@ -21,7 +21,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.commons.math.analysis.MultivariateRealFunction;
import org.apache.commons.math.analysis.MultivariateFunction;
import org.apache.commons.math.exception.DimensionMismatchException;
import org.apache.commons.math.exception.NoDataException;
import org.apache.commons.math.exception.NullArgumentException;
@ -37,7 +37,7 @@ import org.apache.commons.math.util.FastMath;
* @version $Id$
*/
public class MicrosphereInterpolatingFunction
implements MultivariateRealFunction {
implements MultivariateFunction {
/**
* Space dimension.
*/

View File

@ -16,7 +16,7 @@
*/
package org.apache.commons.math.analysis.interpolation;
import org.apache.commons.math.analysis.MultivariateRealFunction;
import org.apache.commons.math.analysis.MultivariateFunction;
import org.apache.commons.math.exception.NotPositiveException;
import org.apache.commons.math.exception.NotStrictlyPositiveException;
import org.apache.commons.math.random.UnitSphereRandomVectorGenerator;
@ -83,7 +83,7 @@ public class MicrosphereInterpolator
/**
* {@inheritDoc}
*/
public MultivariateRealFunction interpolate(final double[][] xval,
public MultivariateFunction interpolate(final double[][] xval,
final double[] yval) {
final UnitSphereRandomVectorGenerator rand
= new UnitSphereRandomVectorGenerator(xval[0].length);

View File

@ -16,7 +16,7 @@
*/
package org.apache.commons.math.analysis.interpolation;
import org.apache.commons.math.analysis.MultivariateRealFunction;
import org.apache.commons.math.analysis.MultivariateFunction;
/**
* Interface representing a univariate real interpolating function.
@ -46,5 +46,5 @@ public interface MultivariateRealInterpolator {
* @throws org.apache.commons.math.exception.NullArgumentException if
* the arguments are {@code null}.
*/
MultivariateRealFunction interpolate(double[][] xval, double[] yval);
MultivariateFunction interpolate(double[][] xval, double[] yval);
}

View File

@ -20,7 +20,7 @@ package org.apache.commons.math.optimization;
import java.util.Arrays;
import java.util.Comparator;
import org.apache.commons.math.analysis.MultivariateRealFunction;
import org.apache.commons.math.analysis.MultivariateFunction;
import org.apache.commons.math.exception.MathIllegalStateException;
import org.apache.commons.math.exception.NotStrictlyPositiveException;
import org.apache.commons.math.exception.NullArgumentException;
@ -40,7 +40,7 @@ import org.apache.commons.math.random.RandomVectorGenerator;
* @version $Id$
* @since 3.0
*/
public class BaseMultiStartMultivariateRealOptimizer<FUNC extends MultivariateRealFunction>
public class BaseMultiStartMultivariateRealOptimizer<FUNC extends MultivariateFunction>
implements BaseMultivariateRealOptimizer<FUNC> {
/** Underlying classical optimizer. */
private final BaseMultivariateRealOptimizer<FUNC> optimizer;
@ -60,7 +60,7 @@ public class BaseMultiStartMultivariateRealOptimizer<FUNC extends MultivariateRe
*
* @param optimizer Single-start optimizer to wrap.
* @param starts Number of starts to perform. If {@code starts == 1},
* the {@link #optimize(int,MultivariateRealFunction,GoalType,double[])
* the {@link #optimize(int,MultivariateFunction,GoalType,double[])
* optimize} will return the same solution as {@code optimizer} would.
* @param generator Random vector generator to use for restarts.
* @throws NullArgumentException if {@code optimizer} or {@code generator}
@ -85,13 +85,13 @@ public class BaseMultiStartMultivariateRealOptimizer<FUNC extends MultivariateRe
/**
* Get all the optima found during the last call to {@link
* #optimize(int,MultivariateRealFunction,GoalType,double[]) optimize}.
* #optimize(int,MultivariateFunction,GoalType,double[]) optimize}.
* The optimizer stores all the optima found during a set of
* restarts. The {@link #optimize(int,MultivariateRealFunction,GoalType,double[])
* restarts. The {@link #optimize(int,MultivariateFunction,GoalType,double[])
* optimize} method returns the best point only. This method
* returns all the points found at the end of each starts,
* including the best one already returned by the {@link
* #optimize(int,MultivariateRealFunction,GoalType,double[]) optimize} method.
* #optimize(int,MultivariateFunction,GoalType,double[]) optimize} method.
* <br/>
* The returned array as one element for each start as specified
* in the constructor. It is ordered with the results from the
@ -99,14 +99,14 @@ public class BaseMultiStartMultivariateRealOptimizer<FUNC extends MultivariateRe
* objective value (i.e in ascending order if minimizing and in
* descending order if maximizing), followed by and null elements
* corresponding to the runs that did not converge. This means all
* elements will be null if the {@link #optimize(int,MultivariateRealFunction,GoalType,double[])
* elements will be null if the {@link #optimize(int,MultivariateFunction,GoalType,double[])
* optimize} method did throw an exception.
* This also means that if the first element is not {@code null}, it
* is the best point found across all starts.
*
* @return an array containing the optima.
* @throws MathIllegalStateException if {@link
* #optimize(int,MultivariateRealFunction,GoalType,double[]) optimize}
* #optimize(int,MultivariateFunction,GoalType,double[]) optimize}
* has not been called.
*/
public RealPointValuePair[] getOptima() {

View File

@ -17,7 +17,7 @@
package org.apache.commons.math.optimization;
import org.apache.commons.math.analysis.MultivariateRealFunction;
import org.apache.commons.math.analysis.MultivariateFunction;
/**
* This interface is mainly intended to enforce the internal coherence of
@ -33,7 +33,7 @@ import org.apache.commons.math.analysis.MultivariateRealFunction;
* @version $Id$
* @since 3.0
*/
public interface BaseMultivariateRealOptimizer<FUNC extends MultivariateRealFunction>
public interface BaseMultivariateRealOptimizer<FUNC extends MultivariateFunction>
extends BaseOptimizer<RealPointValuePair> {
/**
* Optimize an objective function.

View File

@ -17,7 +17,7 @@
package org.apache.commons.math.optimization;
import org.apache.commons.math.analysis.MultivariateRealFunction;
import org.apache.commons.math.analysis.MultivariateFunction;
/**
* This interface is mainly intended to enforce the internal coherence of
@ -33,7 +33,7 @@ import org.apache.commons.math.analysis.MultivariateRealFunction;
* @version $Id$
* @since 3.0
*/
public interface BaseSimpleBoundsMultivariateRealOptimizer<FUNC extends MultivariateRealFunction>
public interface BaseSimpleBoundsMultivariateRealOptimizer<FUNC extends MultivariateFunction>
extends BaseMultivariateRealOptimizer<FUNC> {
/**
* Optimize an objective function.

View File

@ -17,11 +17,11 @@
package org.apache.commons.math.optimization;
import org.apache.commons.math.analysis.DifferentiableMultivariateRealFunction;
import org.apache.commons.math.analysis.DifferentiableMultivariateFunction;
/**
* This interface represents an optimization algorithm for
* {@link DifferentiableMultivariateRealFunction scalar differentiable objective
* {@link DifferentiableMultivariateFunction scalar differentiable objective
* functions}.
* Optimization algorithms find the input point set that either {@link GoalType
* maximize or minimize} an objective function.
@ -33,4 +33,4 @@ import org.apache.commons.math.analysis.DifferentiableMultivariateRealFunction;
* @since 2.0
*/
public interface DifferentiableMultivariateRealOptimizer
extends BaseMultivariateRealOptimizer<DifferentiableMultivariateRealFunction> {}
extends BaseMultivariateRealOptimizer<DifferentiableMultivariateFunction> {}

View File

@ -17,13 +17,13 @@
package org.apache.commons.math.optimization;
import org.apache.commons.math.analysis.MultivariateRealFunction;
import org.apache.commons.math.analysis.MultivariateFunction;
import org.apache.commons.math.analysis.MultivariateVectorialFunction;
import org.apache.commons.math.exception.DimensionMismatchException;
import org.apache.commons.math.linear.RealMatrix;
/** This class converts {@link MultivariateVectorialFunction vectorial
* objective functions} to {@link MultivariateRealFunction scalar objective functions}
* objective functions} to {@link MultivariateFunction scalar objective functions}
* when the goal is to minimize them.
* <p>
* This class is mostly used when the vectorial objective function represents
@ -37,7 +37,7 @@ import org.apache.commons.math.linear.RealMatrix;
* This class computes a possibly weighted squared sum of the residuals, which is
* a scalar value. The residuals are the difference between the theoretical model
* (i.e. the output of the vectorial objective function) and the observations. The
* class implements the {@link MultivariateRealFunction} interface and can therefore be
* class implements the {@link MultivariateFunction} interface and can therefore be
* minimized by any optimizer supporting scalar objectives functions.This is one way
* to perform a least square estimation. There are other ways to do this without using
* this converter, as some optimization algorithms directly support vectorial objective
@ -47,13 +47,13 @@ import org.apache.commons.math.linear.RealMatrix;
* This class support combination of residuals with or without weights and correlations.
* </p>
*
* @see MultivariateRealFunction
* @see MultivariateFunction
* @see MultivariateVectorialFunction
* @version $Id$
* @since 2.0
*/
public class LeastSquaresConverter implements MultivariateRealFunction {
public class LeastSquaresConverter implements MultivariateFunction {
/** Underlying vectorial function. */
private final MultivariateVectorialFunction function;

View File

@ -17,7 +17,7 @@
package org.apache.commons.math.optimization;
import org.apache.commons.math.analysis.DifferentiableMultivariateRealFunction;
import org.apache.commons.math.analysis.DifferentiableMultivariateFunction;
import org.apache.commons.math.random.RandomVectorGenerator;
/**
@ -32,7 +32,7 @@ import org.apache.commons.math.random.RandomVectorGenerator;
* @since 2.0
*/
public class MultiStartDifferentiableMultivariateRealOptimizer
extends BaseMultiStartMultivariateRealOptimizer<DifferentiableMultivariateRealFunction>
extends BaseMultiStartMultivariateRealOptimizer<DifferentiableMultivariateFunction>
implements DifferentiableMultivariateRealOptimizer {
/**
* Create a multi-start optimizer from a single-start optimizer.

View File

@ -17,7 +17,7 @@
package org.apache.commons.math.optimization;
import org.apache.commons.math.analysis.MultivariateRealFunction;
import org.apache.commons.math.analysis.MultivariateFunction;
import org.apache.commons.math.random.RandomVectorGenerator;
/**
@ -32,7 +32,7 @@ import org.apache.commons.math.random.RandomVectorGenerator;
* @since 2.0
*/
public class MultiStartMultivariateRealOptimizer
extends BaseMultiStartMultivariateRealOptimizer<MultivariateRealFunction>
extends BaseMultiStartMultivariateRealOptimizer<MultivariateFunction>
implements MultivariateRealOptimizer {
/**
* Create a multi-start optimizer from a single-start optimizer.

View File

@ -17,10 +17,10 @@
package org.apache.commons.math.optimization;
import org.apache.commons.math.analysis.MultivariateRealFunction;
import org.apache.commons.math.analysis.MultivariateFunction;
/**
* This interface represents an optimization algorithm for {@link MultivariateRealFunction
* This interface represents an optimization algorithm for {@link MultivariateFunction
* scalar objective functions}.
* <p>Optimization algorithms find the input point set that either {@link GoalType
* maximize or minimize} an objective function.</p>
@ -31,4 +31,4 @@ import org.apache.commons.math.analysis.MultivariateRealFunction;
* @since 2.0
*/
public interface MultivariateRealOptimizer
extends BaseMultivariateRealOptimizer<MultivariateRealFunction> {}
extends BaseMultivariateRealOptimizer<MultivariateFunction> {}

View File

@ -24,7 +24,7 @@ import java.io.Serializable;
* This class holds a point and the value of an objective function at this point.
* <p>This is a simple immutable container.</p>
* @see VectorialPointValuePair
* @see org.apache.commons.math.analysis.MultivariateRealFunction
* @see org.apache.commons.math.analysis.MultivariateFunction
* @version $Id$
* @since 2.0
*/

View File

@ -20,7 +20,7 @@ package org.apache.commons.math.optimization.direct;
import java.util.Arrays;
import java.util.Comparator;
import org.apache.commons.math.analysis.MultivariateRealFunction;
import org.apache.commons.math.analysis.MultivariateFunction;
import org.apache.commons.math.exception.NotStrictlyPositiveException;
import org.apache.commons.math.exception.DimensionMismatchException;
import org.apache.commons.math.exception.ZeroException;
@ -202,7 +202,7 @@ public abstract class AbstractSimplex {
* @throws org.apache.commons.math.exception.TooManyEvaluationsException
* if the algorithm fails to converge.
*/
public abstract void iterate(final MultivariateRealFunction evaluationFunction,
public abstract void iterate(final MultivariateFunction evaluationFunction,
final Comparator<RealPointValuePair> comparator);
/**
@ -240,7 +240,7 @@ public abstract class AbstractSimplex {
* @throws org.apache.commons.math.exception.TooManyEvaluationsException
* if the maximal number of evaluations is exceeded.
*/
public void evaluate(final MultivariateRealFunction evaluationFunction,
public void evaluate(final MultivariateFunction evaluationFunction,
final Comparator<RealPointValuePair> comparator) {
// Evaluate the objective function at all non-evaluated simplex points.
for (int i = 0; i < simplex.length; i++) {

View File

@ -19,7 +19,7 @@ package org.apache.commons.math.optimization.direct;
import java.util.Arrays;
import org.apache.commons.math.analysis.MultivariateRealFunction;
import org.apache.commons.math.analysis.MultivariateFunction;
import org.apache.commons.math.exception.MathIllegalStateException;
import org.apache.commons.math.exception.NumberIsTooSmallException;
import org.apache.commons.math.exception.OutOfRangeException;
@ -50,7 +50,7 @@ import org.apache.commons.math.optimization.MultivariateRealOptimizer;
* @since 3.0
*/
public class BOBYQAOptimizer
extends BaseAbstractSimpleBoundsScalarOptimizer<MultivariateRealFunction>
extends BaseAbstractSimpleBoundsScalarOptimizer<MultivariateFunction>
implements MultivariateRealOptimizer {
/** Minimum dimension of the problem: {@value} */
public static final int MINIMUM_PROBLEM_DIMENSION = 2;

View File

@ -21,7 +21,7 @@ import org.apache.commons.math.util.Incrementor;
import org.apache.commons.math.exception.MaxCountExceededException;
import org.apache.commons.math.exception.TooManyEvaluationsException;
import org.apache.commons.math.exception.NullArgumentException;
import org.apache.commons.math.analysis.MultivariateRealFunction;
import org.apache.commons.math.analysis.MultivariateFunction;
import org.apache.commons.math.optimization.BaseMultivariateRealOptimizer;
import org.apache.commons.math.optimization.GoalType;
import org.apache.commons.math.optimization.ConvergenceChecker;
@ -38,7 +38,7 @@ import org.apache.commons.math.optimization.SimpleScalarValueChecker;
* @version $Id$
* @since 2.2
*/
public abstract class BaseAbstractScalarOptimizer<FUNC extends MultivariateRealFunction>
public abstract class BaseAbstractScalarOptimizer<FUNC extends MultivariateFunction>
implements BaseMultivariateRealOptimizer<FUNC> {
/** Evaluations counter. */
protected final Incrementor evaluations = new Incrementor();
@ -49,7 +49,7 @@ public abstract class BaseAbstractScalarOptimizer<FUNC extends MultivariateRealF
/** Initial guess. */
private double[] start;
/** Objective function. */
private MultivariateRealFunction function;
private MultivariateFunction function;
/**
* Simple constructor with default settings.

View File

@ -17,7 +17,7 @@
package org.apache.commons.math.optimization.direct;
import org.apache.commons.math.analysis.MultivariateRealFunction;
import org.apache.commons.math.analysis.MultivariateFunction;
import org.apache.commons.math.optimization.BaseMultivariateRealOptimizer;
import org.apache.commons.math.optimization.BaseSimpleBoundsMultivariateRealOptimizer;
import org.apache.commons.math.optimization.GoalType;
@ -39,7 +39,7 @@ import org.apache.commons.math.exception.NumberIsTooLargeException;
* @version $Id$
* @since 3.0
*/
public abstract class BaseAbstractSimpleBoundsScalarOptimizer<FUNC extends MultivariateRealFunction>
public abstract class BaseAbstractSimpleBoundsScalarOptimizer<FUNC extends MultivariateFunction>
extends BaseAbstractScalarOptimizer<FUNC>
implements BaseMultivariateRealOptimizer<FUNC>,
BaseSimpleBoundsMultivariateRealOptimizer<FUNC> {

View File

@ -21,7 +21,7 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import org.apache.commons.math.analysis.MultivariateRealFunction;
import org.apache.commons.math.analysis.MultivariateFunction;
import org.apache.commons.math.exception.MultiDimensionMismatchException;
import org.apache.commons.math.exception.NoDataException;
import org.apache.commons.math.exception.NotPositiveException;
@ -81,7 +81,7 @@ import org.apache.commons.math.util.MathArrays;
*/
public class CMAESOptimizer
extends BaseAbstractScalarOptimizer<MultivariateRealFunction>
extends BaseAbstractScalarOptimizer<MultivariateFunction>
implements MultivariateRealOptimizer {
/** Default value for {@link #checkFeasableCount}: {@value}. */
public static final int DEFAULT_CHECKFEASABLECOUNT = 0;

View File

@ -19,7 +19,7 @@ package org.apache.commons.math.optimization.direct;
import java.util.Comparator;
import org.apache.commons.math.analysis.MultivariateRealFunction;
import org.apache.commons.math.analysis.MultivariateFunction;
import org.apache.commons.math.optimization.RealPointValuePair;
/**
@ -152,7 +152,7 @@ public class MultiDirectionalSimplex extends AbstractSimplex {
/** {@inheritDoc} */
@Override
public void iterate(final MultivariateRealFunction evaluationFunction,
public void iterate(final MultivariateFunction evaluationFunction,
final Comparator<RealPointValuePair> comparator) {
// Save the original simplex.
final RealPointValuePair[] original = getPoints();
@ -191,7 +191,7 @@ public class MultiDirectionalSimplex extends AbstractSimplex {
* @throws org.apache.commons.math.exception.TooManyEvaluationsException
* if the maximal number of evaluations is exceeded.
*/
private RealPointValuePair evaluateNewSimplex(final MultivariateRealFunction evaluationFunction,
private RealPointValuePair evaluateNewSimplex(final MultivariateFunction evaluationFunction,
final RealPointValuePair[] original,
final double coeff,
final Comparator<RealPointValuePair> comparator) {

View File

@ -17,7 +17,7 @@
package org.apache.commons.math.optimization.direct;
import org.apache.commons.math.analysis.MultivariateRealFunction;
import org.apache.commons.math.analysis.MultivariateFunction;
import org.apache.commons.math.analysis.UnivariateFunction;
import org.apache.commons.math.analysis.function.Logit;
import org.apache.commons.math.analysis.function.Sigmoid;
@ -28,7 +28,7 @@ import org.apache.commons.math.util.FastMath;
import org.apache.commons.math.util.MathUtils;
/**
* <p>Adapter for mapping bounded {@link MultivariateRealFunction} to unbounded ones.</p>
* <p>Adapter for mapping bounded {@link MultivariateFunction} to unbounded ones.</p>
*
* <p>
* This adapter can be used to wrap functions subject to simple bounds on
@ -55,7 +55,7 @@ import org.apache.commons.math.util.MathUtils;
* {@link #boundedToUnbounded(double[])} before providing them to the optimizer.
* For the same reason, the point returned by the {@link
* org.apache.commons.math.optimization.BaseMultivariateRealOptimizer#optimize(int,
* MultivariateRealFunction, org.apache.commons.math.optimization.GoalType, double[])}
* MultivariateFunction, org.apache.commons.math.optimization.GoalType, double[])}
* method is unbounded. So to convert this point to bounded, users must call
* {@link #unboundedToBounded(double[])} by themselves!</p>
* <p>
@ -70,16 +70,16 @@ import org.apache.commons.math.util.MathUtils;
* variables.
* </p>
*
* @see MultivariateRealFunctionPenaltyAdapter
* @see MultivariateFunctionPenaltyAdapter
*
* @version $Id$
* @since 3.0
*/
public class MultivariateRealFunctionMappingAdapter implements MultivariateRealFunction {
public class MultivariateFunctionMappingAdapter implements MultivariateFunction {
/** Underlying bounded function. */
private final MultivariateRealFunction bounded;
private final MultivariateFunction bounded;
/** Mapping functions. */
private final Mapper[] mappers;
@ -95,7 +95,7 @@ public class MultivariateRealFunctionMappingAdapter implements MultivariateRealF
* @exception MathIllegalArgumentException if lower and upper bounds are not
* consistent, either according to dimension or to values
*/
public MultivariateRealFunctionMappingAdapter(final MultivariateRealFunction bounded,
public MultivariateFunctionMappingAdapter(final MultivariateFunction bounded,
final double[] lower, final double[] upper) {
// safety checks

View File

@ -17,7 +17,7 @@
package org.apache.commons.math.optimization.direct;
import org.apache.commons.math.analysis.MultivariateRealFunction;
import org.apache.commons.math.analysis.MultivariateFunction;
import org.apache.commons.math.exception.DimensionMismatchException;
import org.apache.commons.math.exception.MathIllegalArgumentException;
import org.apache.commons.math.exception.NumberIsTooSmallException;
@ -25,7 +25,7 @@ import org.apache.commons.math.util.FastMath;
import org.apache.commons.math.util.MathUtils;
/**
* <p>Adapter extending bounded {@link MultivariateRealFunction} to an unbouded
* <p>Adapter extending bounded {@link MultivariateFunction} to an unbouded
* domain using a penalty function.</p>
*
* <p>
@ -57,16 +57,16 @@ import org.apache.commons.math.util.MathUtils;
* is used, and the optimizer may converge without ever entering the range.
* </p>
*
* @see MultivariateRealFunctionMappingAdapter
* @see MultivariateFunctionMappingAdapter
*
* @version $Id$
* @since 3.0
*/
public class MultivariateRealFunctionPenaltyAdapter implements MultivariateRealFunction {
public class MultivariateFunctionPenaltyAdapter implements MultivariateFunction {
/** Underlying bounded function. */
private final MultivariateRealFunction bounded;
private final MultivariateFunction bounded;
/** Lower bounds. */
private final double[] lower;
@ -121,7 +121,7 @@ public class MultivariateRealFunctionPenaltyAdapter implements MultivariateRealF
* scales are not consistent, either according to dimension or to bounadary
* values
*/
public MultivariateRealFunctionPenaltyAdapter(final MultivariateRealFunction bounded,
public MultivariateFunctionPenaltyAdapter(final MultivariateFunction bounded,
final double[] lower, final double[] upper,
final double offset, final double[] scale) {

View File

@ -20,7 +20,7 @@ package org.apache.commons.math.optimization.direct;
import java.util.Comparator;
import org.apache.commons.math.optimization.RealPointValuePair;
import org.apache.commons.math.analysis.MultivariateRealFunction;
import org.apache.commons.math.analysis.MultivariateFunction;
/**
* This class implements the Nelder-Mead simplex algorithm.
@ -184,7 +184,7 @@ public class NelderMeadSimplex extends AbstractSimplex {
/** {@inheritDoc} */
@Override
public void iterate(final MultivariateRealFunction evaluationFunction,
public void iterate(final MultivariateFunction evaluationFunction,
final Comparator<RealPointValuePair> comparator) {
// The simplex has n + 1 points if dimension is n.
final int n = getDimension();

View File

@ -20,7 +20,7 @@ package org.apache.commons.math.optimization.direct;
import org.apache.commons.math.util.FastMath;
import org.apache.commons.math.util.MathArrays;
import org.apache.commons.math.analysis.UnivariateFunction;
import org.apache.commons.math.analysis.MultivariateRealFunction;
import org.apache.commons.math.analysis.MultivariateFunction;
import org.apache.commons.math.exception.NumberIsTooSmallException;
import org.apache.commons.math.exception.NotStrictlyPositiveException;
import org.apache.commons.math.optimization.GoalType;
@ -46,7 +46,7 @@ import org.apache.commons.math.optimization.univariate.UnivariateRealPointValueP
* @since 2.2
*/
public class PowellOptimizer
extends BaseAbstractScalarOptimizer<MultivariateRealFunction>
extends BaseAbstractScalarOptimizer<MultivariateFunction>
implements MultivariateRealOptimizer {
/**
* Minimum relative tolerance.

View File

@ -19,7 +19,7 @@ package org.apache.commons.math.optimization.direct;
import java.util.Comparator;
import org.apache.commons.math.analysis.MultivariateRealFunction;
import org.apache.commons.math.analysis.MultivariateFunction;
import org.apache.commons.math.exception.NullArgumentException;
import org.apache.commons.math.optimization.GoalType;
import org.apache.commons.math.optimization.ConvergenceChecker;
@ -54,7 +54,7 @@ import org.apache.commons.math.optimization.MultivariateRealOptimizer;
* be called prior to calling the {@code optimize} method.
* </p>
* <p>
* Each call to {@link #optimize(int,MultivariateRealFunction,GoalType,double[])
* Each call to {@link #optimize(int,MultivariateFunction,GoalType,double[])
* optimize} will re-use the start configuration of the current simplex and
* move it such that its first vertex is at the provided start point of the
* optimization. If the {@code optimize} method is called to solve a different
@ -71,20 +71,20 @@ import org.apache.commons.math.optimization.MultivariateRealOptimizer;
* optimization with simple bounds, so for such optimizations, either a more
* dedicated method must be used like {@link CMAESOptimizer} or {@link
* BOBYQAOptimizer}, or the optimized method must be wrapped in an adapter like
* {@link MultivariateRealFunctionMappingAdapter} or {@link
* MultivariateRealFunctionPenaltyAdapter}.
* {@link MultivariateFunctionMappingAdapter} or {@link
* MultivariateFunctionPenaltyAdapter}.
* </p>
*
* @see AbstractSimplex
* @see MultivariateRealFunctionMappingAdapter
* @see MultivariateRealFunctionPenaltyAdapter
* @see MultivariateFunctionMappingAdapter
* @see MultivariateFunctionPenaltyAdapter
* @see CMAESOptimizer
* @see BOBYQAOptimizer
* @version $Id$
* @since 3.0
*/
public class SimplexOptimizer
extends BaseAbstractScalarOptimizer<MultivariateRealFunction>
extends BaseAbstractScalarOptimizer<MultivariateFunction>
implements MultivariateRealOptimizer {
/** Simplex. */
private AbstractSimplex simplex;
@ -130,8 +130,8 @@ public class SimplexOptimizer
// Indirect call to "computeObjectiveValue" in order to update the
// evaluations counter.
final MultivariateRealFunction evalFunc
= new MultivariateRealFunction() {
final MultivariateFunction evalFunc
= new MultivariateFunction() {
public double value(double[] point) {
return computeObjectiveValue(point);
}

View File

@ -17,7 +17,7 @@
package org.apache.commons.math.optimization.general;
import org.apache.commons.math.analysis.DifferentiableMultivariateRealFunction;
import org.apache.commons.math.analysis.DifferentiableMultivariateFunction;
import org.apache.commons.math.analysis.MultivariateVectorialFunction;
import org.apache.commons.math.optimization.DifferentiableMultivariateRealOptimizer;
import org.apache.commons.math.optimization.GoalType;
@ -34,7 +34,7 @@ import org.apache.commons.math.optimization.direct.BaseAbstractScalarOptimizer;
* @since 2.0
*/
public abstract class AbstractScalarDifferentiableOptimizer
extends BaseAbstractScalarOptimizer<DifferentiableMultivariateRealFunction>
extends BaseAbstractScalarOptimizer<DifferentiableMultivariateFunction>
implements DifferentiableMultivariateRealOptimizer {
/**
* Objective function gradient.
@ -70,7 +70,7 @@ public abstract class AbstractScalarDifferentiableOptimizer
/** {@inheritDoc} */
@Override
public RealPointValuePair optimize(int maxEval,
final DifferentiableMultivariateRealFunction f,
final DifferentiableMultivariateFunction f,
final GoalType goalType,
final double[] startPoint) {
// Store optimization problem characteristics.

View File

@ -36,11 +36,11 @@
* UnivariateRealOptimizer} for {@link org.apache.commons.math.analysis.UnivariateFunction
* univariate real functions}</li>
* <li>{@link org.apache.commons.math.optimization.MultivariateRealOptimizer
* MultivariateRealOptimizer} for {@link org.apache.commons.math.analysis.MultivariateRealFunction
* MultivariateRealOptimizer} for {@link org.apache.commons.math.analysis.MultivariateFunction
* multivariate real functions}</li>
* <li>{@link org.apache.commons.math.optimization.DifferentiableMultivariateRealOptimizer
* DifferentiableMultivariateRealOptimizer} for {@link
* org.apache.commons.math.analysis.DifferentiableMultivariateRealFunction
* org.apache.commons.math.analysis.DifferentiableMultivariateFunction
* differentiable multivariate real functions}</li>
* <li>{@link org.apache.commons.math.optimization.DifferentiableMultivariateVectorialOptimizer
* DifferentiableMultivariateVectorialOptimizer} for {@link
@ -53,7 +53,7 @@
* Despite there are only four types of supported optimizers, it is possible to optimize a
* transform a {@link org.apache.commons.math.analysis.MultivariateVectorialFunction
* non-differentiable multivariate vectorial function} by converting it to a {@link
* org.apache.commons.math.analysis.MultivariateRealFunction non-differentiable multivariate
* org.apache.commons.math.analysis.MultivariateFunction non-differentiable multivariate
* real function} thanks to the {@link
* org.apache.commons.math.optimization.LeastSquaresConverter LeastSquaresConverter} helper class.
* The transformed function can be optimized using any implementation of the {@link

View File

@ -35,7 +35,7 @@ import org.apache.commons.math.analysis.function.Min;
import org.apache.commons.math.analysis.function.Max;
import org.apache.commons.math.analysis.function.Pow;
import org.apache.commons.math.analysis.function.Log;
import org.apache.commons.math.analysis.MultivariateRealFunction;
import org.apache.commons.math.analysis.MultivariateFunction;
import org.junit.Assert;
import org.junit.Test;
@ -161,7 +161,7 @@ public class FunctionUtilsTest {
@Test
public void testCollector() {
BivariateRealFunction bi = new Add();
MultivariateRealFunction coll = FunctionUtils.collector(bi, 0);
MultivariateFunction coll = FunctionUtils.collector(bi, 0);
Assert.assertEquals(10, coll.value(new double[] {1, 2, 3, 4}), EPS);
bi = new Multiply();

View File

@ -21,7 +21,7 @@ package org.apache.commons.math.analysis;
*
* @version $Id$
*/
public class SumSincFunction implements DifferentiableMultivariateRealFunction {
public class SumSincFunction implements DifferentiableMultivariateFunction {
private static final DifferentiableUnivariateFunction sinc = new SincFunction();
private static final UnivariateFunction sincDeriv = sinc.derivative();
@ -54,8 +54,8 @@ public class SumSincFunction implements DifferentiableMultivariateRealFunction {
/**
* {@inheritDoc}
*/
public MultivariateRealFunction partialDerivative(final int k) {
return new MultivariateRealFunction() {
public MultivariateFunction partialDerivative(final int k) {
return new MultivariateFunction() {
public double value(double[] point) {
return sincDeriv.value(point[k]);
}

View File

@ -16,7 +16,7 @@
*/
package org.apache.commons.math.analysis.interpolation;
import org.apache.commons.math.analysis.MultivariateRealFunction;
import org.apache.commons.math.analysis.MultivariateFunction;
import org.apache.commons.math.util.FastMath;
import org.junit.Assert;
import org.junit.Test;
@ -34,7 +34,7 @@ public final class MicrosphereInterpolatorTest {
*/
@Test
public void testLinearFunction2D() {
MultivariateRealFunction f = new MultivariateRealFunction() {
MultivariateFunction f = new MultivariateFunction() {
public double value(double[] x) {
if (x.length != 2) {
throw new IllegalArgumentException();
@ -60,7 +60,7 @@ public final class MicrosphereInterpolatorTest {
}
}
MultivariateRealFunction p = interpolator.interpolate(x, y);
MultivariateFunction p = interpolator.interpolate(x, y);
double[] c = new double[dim];
double expected, result;
@ -86,7 +86,7 @@ public final class MicrosphereInterpolatorTest {
*/
@Test
public void testParaboloid2D() {
MultivariateRealFunction f = new MultivariateRealFunction() {
MultivariateFunction f = new MultivariateFunction() {
public double value(double[] x) {
if (x.length != 2) {
throw new IllegalArgumentException();
@ -112,7 +112,7 @@ public final class MicrosphereInterpolatorTest {
}
}
MultivariateRealFunction p = interpolator.interpolate(x, y);
MultivariateFunction p = interpolator.interpolate(x, y);
double[] c = new double[dim];
double expected, result;

View File

@ -19,8 +19,8 @@ import java.util.Arrays;
import junit.framework.Assert;
import org.apache.commons.math.MathRuntimeException;
import org.apache.commons.math.TestUtils;
import org.apache.commons.math.analysis.DifferentiableMultivariateRealFunction;
import org.apache.commons.math.analysis.MultivariateRealFunction;
import org.apache.commons.math.analysis.DifferentiableMultivariateFunction;
import org.apache.commons.math.analysis.MultivariateFunction;
import org.apache.commons.math.analysis.MultivariateVectorialFunction;
import org.apache.commons.math.exception.util.LocalizedFormats;
import org.apache.commons.math.optimization.direct.BOBYQAOptimizer;
@ -792,17 +792,17 @@ public class BatteryNISTTest {
}
/* generic test runner */
private double[] run(MultivariateRealOptimizer optim, DifferentiableMultivariateRealFunction func, double[] start) {
private double[] run(MultivariateRealOptimizer optim, DifferentiableMultivariateFunction func, double[] start) {
return (optim.optimize(1000000, func, GoalType.MINIMIZE, start).getPointRef());
}
/* generic test runner for AbstractScalarDifferentiableOptimizer */
private double[] run(AbstractScalarDifferentiableOptimizer optim, DifferentiableMultivariateRealFunction func, double[] start) {
private double[] run(AbstractScalarDifferentiableOptimizer optim, DifferentiableMultivariateFunction func, double[] start) {
return (optim.optimize(1000000, func, GoalType.MINIMIZE, start).getPointRef());
}
/* base objective function class for these tests */
private abstract static class nistMVRF implements DifferentiableMultivariateRealFunction {
protected final MultivariateRealFunction[] mrf;
private abstract static class nistMVRF implements DifferentiableMultivariateFunction {
protected final MultivariateFunction[] mrf;
protected final MultivariateVectorialFunction mvf = new MultivariateVectorialFunction() {
public double[] value(double[] point) throws IllegalArgumentException {
@ -829,10 +829,10 @@ public class BatteryNISTTest {
this.gradient = new double[nparams];
this.nparams = nparams;
this.data = data;
mrf = new MultivariateRealFunction[nvars];
mrf = new MultivariateFunction[nvars];
for (int i = 0; i < nvars; i++) {
final int idx = i;
mrf[i] = new MultivariateRealFunction() {
mrf[i] = new MultivariateFunction() {
private int myIdx = idx;
@ -847,7 +847,7 @@ public class BatteryNISTTest {
return mvf;
}
public MultivariateRealFunction partialDerivative(int k) {
public MultivariateFunction partialDerivative(int k) {
return mrf[k];
}

View File

@ -21,8 +21,8 @@ package org.apache.commons.math.optimization;
import java.awt.geom.Point2D;
import java.util.ArrayList;
import org.apache.commons.math.analysis.DifferentiableMultivariateRealFunction;
import org.apache.commons.math.analysis.MultivariateRealFunction;
import org.apache.commons.math.analysis.DifferentiableMultivariateFunction;
import org.apache.commons.math.analysis.MultivariateFunction;
import org.apache.commons.math.analysis.MultivariateVectorialFunction;
import org.apache.commons.math.optimization.general.ConjugateGradientFormula;
import org.apache.commons.math.optimization.general.NonLinearConjugateGradientOptimizer;
@ -68,7 +68,7 @@ public class MultiStartDifferentiableMultivariateRealOptimizerTest {
Assert.assertEquals(3.1267527, optimum.getValue(), 1.0e-8);
}
private static class Circle implements DifferentiableMultivariateRealFunction {
private static class Circle implements DifferentiableMultivariateFunction {
private ArrayList<Point2D.Double> points;
@ -129,8 +129,8 @@ public class MultiStartDifferentiableMultivariateRealOptimizerTest {
};
}
public MultivariateRealFunction partialDerivative(final int k) {
return new MultivariateRealFunction() {
public MultivariateFunction partialDerivative(final int k) {
return new MultivariateFunction() {
public double value(double[] point) {
return gradient(point)[k];
}

View File

@ -18,7 +18,7 @@
package org.apache.commons.math.optimization;
import org.apache.commons.math.analysis.MultivariateRealFunction;
import org.apache.commons.math.analysis.MultivariateFunction;
import org.apache.commons.math.optimization.direct.NelderMeadSimplex;
import org.apache.commons.math.optimization.direct.SimplexOptimizer;
import org.apache.commons.math.random.GaussianRandomGenerator;
@ -53,7 +53,7 @@ public class MultiStartMultivariateRealOptimizerTest {
Assert.assertTrue(optimum.getValue() < 8.0e-4);
}
private static class Rosenbrock implements MultivariateRealFunction {
private static class Rosenbrock implements MultivariateFunction {
private int count;
public Rosenbrock() {

View File

@ -19,7 +19,7 @@ package org.apache.commons.math.optimization.direct;
import java.util.Arrays;
import java.util.Random;
import org.apache.commons.math.analysis.MultivariateRealFunction;
import org.apache.commons.math.analysis.MultivariateFunction;
import org.apache.commons.math.exception.DimensionMismatchException;
import org.apache.commons.math.exception.TooManyEvaluationsException;
import org.apache.commons.math.exception.NumberIsTooLargeException;
@ -241,7 +241,7 @@ public class BOBYQAOptimizerTest {
* @param maxEvaluations Maximum number of evaluations.
* @param expected Expected point / value.
*/
private void doTest(MultivariateRealFunction func,
private void doTest(MultivariateFunction func,
double[] startPoint,
double[][] boundaries,
GoalType goal,
@ -290,7 +290,7 @@ public class BOBYQAOptimizerTest {
return boundaries;
}
private static class Sphere implements MultivariateRealFunction {
private static class Sphere implements MultivariateFunction {
public double value(double[] x) {
double f = 0;
@ -300,7 +300,7 @@ public class BOBYQAOptimizerTest {
}
}
private static class Cigar implements MultivariateRealFunction {
private static class Cigar implements MultivariateFunction {
private double factor;
Cigar() {
@ -319,7 +319,7 @@ public class BOBYQAOptimizerTest {
}
}
private static class Tablet implements MultivariateRealFunction {
private static class Tablet implements MultivariateFunction {
private double factor;
Tablet() {
@ -338,7 +338,7 @@ public class BOBYQAOptimizerTest {
}
}
private static class CigTab implements MultivariateRealFunction {
private static class CigTab implements MultivariateFunction {
private double factor;
CigTab() {
@ -358,7 +358,7 @@ public class BOBYQAOptimizerTest {
}
}
private static class TwoAxes implements MultivariateRealFunction {
private static class TwoAxes implements MultivariateFunction {
private double factor;
@ -378,7 +378,7 @@ public class BOBYQAOptimizerTest {
}
}
private static class ElliRotated implements MultivariateRealFunction {
private static class ElliRotated implements MultivariateFunction {
private Basis B = new Basis();
private double factor;
@ -399,7 +399,7 @@ public class BOBYQAOptimizerTest {
}
}
private static class Elli implements MultivariateRealFunction {
private static class Elli implements MultivariateFunction {
private double factor;
@ -419,14 +419,14 @@ public class BOBYQAOptimizerTest {
}
}
private static class MinusElli implements MultivariateRealFunction {
private static class MinusElli implements MultivariateFunction {
private final Elli elli = new Elli();
public double value(double[] x) {
return 1.0 - elli.value(x);
}
}
private static class DiffPow implements MultivariateRealFunction {
private static class DiffPow implements MultivariateFunction {
// private int fcount = 0;
public double value(double[] x) {
double f = 0;
@ -441,7 +441,7 @@ public class BOBYQAOptimizerTest {
}
}
private static class SsDiffPow implements MultivariateRealFunction {
private static class SsDiffPow implements MultivariateFunction {
public double value(double[] x) {
double f = Math.pow(new DiffPow().value(x), 0.25);
@ -449,7 +449,7 @@ public class BOBYQAOptimizerTest {
}
}
private static class Rosen implements MultivariateRealFunction {
private static class Rosen implements MultivariateFunction {
public double value(double[] x) {
double f = 0;
@ -460,7 +460,7 @@ public class BOBYQAOptimizerTest {
}
}
private static class Ackley implements MultivariateRealFunction {
private static class Ackley implements MultivariateFunction {
private double axisratio;
Ackley(double axra) {
@ -486,7 +486,7 @@ public class BOBYQAOptimizerTest {
}
}
private static class Rastrigin implements MultivariateRealFunction {
private static class Rastrigin implements MultivariateFunction {
private double axisratio;
private double amplitude;

View File

@ -21,7 +21,7 @@ import java.util.Random;
import org.apache.commons.math.Retry;
import org.apache.commons.math.RetryRunner;
import org.apache.commons.math.analysis.MultivariateRealFunction;
import org.apache.commons.math.analysis.MultivariateFunction;
import org.apache.commons.math.exception.MultiDimensionMismatchException;
import org.apache.commons.math.exception.NoDataException;
import org.apache.commons.math.exception.NotPositiveException;
@ -360,7 +360,7 @@ public class CMAESOptimizerTest {
* @param maxEvaluations Maximum number of evaluations.
* @param expected Expected point / value.
*/
private void doTest(MultivariateRealFunction func,
private void doTest(MultivariateFunction func,
double[] startPoint,
double[] inSigma,
double[][] boundaries,
@ -404,7 +404,7 @@ public class CMAESOptimizerTest {
return boundaries;
}
private static class Sphere implements MultivariateRealFunction {
private static class Sphere implements MultivariateFunction {
public double value(double[] x) {
double f = 0;
@ -414,7 +414,7 @@ public class CMAESOptimizerTest {
}
}
private static class Cigar implements MultivariateRealFunction {
private static class Cigar implements MultivariateFunction {
private double factor;
Cigar() {
@ -433,7 +433,7 @@ public class CMAESOptimizerTest {
}
}
private static class Tablet implements MultivariateRealFunction {
private static class Tablet implements MultivariateFunction {
private double factor;
Tablet() {
@ -452,7 +452,7 @@ public class CMAESOptimizerTest {
}
}
private static class CigTab implements MultivariateRealFunction {
private static class CigTab implements MultivariateFunction {
private double factor;
CigTab() {
@ -472,7 +472,7 @@ public class CMAESOptimizerTest {
}
}
private static class TwoAxes implements MultivariateRealFunction {
private static class TwoAxes implements MultivariateFunction {
private double factor;
@ -492,7 +492,7 @@ public class CMAESOptimizerTest {
}
}
private static class ElliRotated implements MultivariateRealFunction {
private static class ElliRotated implements MultivariateFunction {
private Basis B = new Basis();
private double factor;
@ -513,7 +513,7 @@ public class CMAESOptimizerTest {
}
}
private static class Elli implements MultivariateRealFunction {
private static class Elli implements MultivariateFunction {
private double factor;
@ -533,14 +533,14 @@ public class CMAESOptimizerTest {
}
}
private static class MinusElli implements MultivariateRealFunction {
private static class MinusElli implements MultivariateFunction {
public double value(double[] x) {
return 1.0-(new Elli().value(x));
}
}
private static class DiffPow implements MultivariateRealFunction {
private static class DiffPow implements MultivariateFunction {
public double value(double[] x) {
double f = 0;
@ -551,7 +551,7 @@ public class CMAESOptimizerTest {
}
}
private static class SsDiffPow implements MultivariateRealFunction {
private static class SsDiffPow implements MultivariateFunction {
public double value(double[] x) {
double f = Math.pow(new DiffPow().value(x), 0.25);
@ -559,7 +559,7 @@ public class CMAESOptimizerTest {
}
}
private static class Rosen implements MultivariateRealFunction {
private static class Rosen implements MultivariateFunction {
public double value(double[] x) {
double f = 0;
@ -570,7 +570,7 @@ public class CMAESOptimizerTest {
}
}
private static class Ackley implements MultivariateRealFunction {
private static class Ackley implements MultivariateFunction {
private double axisratio;
Ackley(double axra) {
@ -596,7 +596,7 @@ public class CMAESOptimizerTest {
}
}
private static class Rastrigin implements MultivariateRealFunction {
private static class Rastrigin implements MultivariateFunction {
private double axisratio;
private double amplitude;

View File

@ -18,20 +18,20 @@
package org.apache.commons.math.optimization.direct;
import org.apache.commons.math.analysis.MultivariateRealFunction;
import org.apache.commons.math.analysis.MultivariateFunction;
import org.apache.commons.math.optimization.GoalType;
import org.apache.commons.math.optimization.RealPointValuePair;
import org.junit.Assert;
import org.junit.Test;
public class MultivariateRealFunctionMappingAdapterTest {
public class MultivariateFunctionMappingAdapterTest {
@Test
public void testStartSimplexInsideRange() {
final BiQuadratic biQuadratic = new BiQuadratic(2.0, 2.5, 1.0, 3.0, 2.0, 3.0);
final MultivariateRealFunctionMappingAdapter wrapped =
new MultivariateRealFunctionMappingAdapter(biQuadratic,
final MultivariateFunctionMappingAdapter wrapped =
new MultivariateFunctionMappingAdapter(biQuadratic,
biQuadratic.getLower(),
biQuadratic.getUpper());
@ -56,8 +56,8 @@ public class MultivariateRealFunctionMappingAdapterTest {
public void testOptimumOutsideRange() {
final BiQuadratic biQuadratic = new BiQuadratic(4.0, 0.0, 1.0, 3.0, 2.0, 3.0);
final MultivariateRealFunctionMappingAdapter wrapped =
new MultivariateRealFunctionMappingAdapter(biQuadratic,
final MultivariateFunctionMappingAdapter wrapped =
new MultivariateFunctionMappingAdapter(biQuadratic,
biQuadratic.getLower(),
biQuadratic.getUpper());
@ -84,8 +84,8 @@ public class MultivariateRealFunctionMappingAdapterTest {
final BiQuadratic biQuadratic = new BiQuadratic(4.0, 0.0,
Double.NEGATIVE_INFINITY, Double.POSITIVE_INFINITY,
Double.NEGATIVE_INFINITY, Double.POSITIVE_INFINITY);
final MultivariateRealFunctionMappingAdapter wrapped =
new MultivariateRealFunctionMappingAdapter(biQuadratic,
final MultivariateFunctionMappingAdapter wrapped =
new MultivariateFunctionMappingAdapter(biQuadratic,
biQuadratic.getLower(),
biQuadratic.getUpper());
@ -112,8 +112,8 @@ public class MultivariateRealFunctionMappingAdapterTest {
final BiQuadratic biQuadratic = new BiQuadratic(4.0, 4.0,
1.0, Double.POSITIVE_INFINITY,
Double.NEGATIVE_INFINITY, 3.0);
final MultivariateRealFunctionMappingAdapter wrapped =
new MultivariateRealFunctionMappingAdapter(biQuadratic,
final MultivariateFunctionMappingAdapter wrapped =
new MultivariateFunctionMappingAdapter(biQuadratic,
biQuadratic.getLower(),
biQuadratic.getUpper());
@ -134,7 +134,7 @@ public class MultivariateRealFunctionMappingAdapterTest {
}
private static class BiQuadratic implements MultivariateRealFunction {
private static class BiQuadratic implements MultivariateFunction {
private final double xOptimum;
private final double yOptimum;

View File

@ -18,21 +18,21 @@
package org.apache.commons.math.optimization.direct;
import org.apache.commons.math.analysis.MultivariateRealFunction;
import org.apache.commons.math.analysis.MultivariateFunction;
import org.apache.commons.math.optimization.GoalType;
import org.apache.commons.math.optimization.RealPointValuePair;
import org.apache.commons.math.optimization.SimpleRealPointChecker;
import org.junit.Assert;
import org.junit.Test;
public class MultivariateRealFunctionPenaltyAdapterTest {
public class MultivariateFunctionPenaltyAdapterTest {
@Test
public void testStartSimplexInsideRange() {
final BiQuadratic biQuadratic = new BiQuadratic(2.0, 2.5, 1.0, 3.0, 2.0, 3.0);
final MultivariateRealFunctionPenaltyAdapter wrapped =
new MultivariateRealFunctionPenaltyAdapter(biQuadratic,
final MultivariateFunctionPenaltyAdapter wrapped =
new MultivariateFunctionPenaltyAdapter(biQuadratic,
biQuadratic.getLower(),
biQuadratic.getUpper(),
1000.0, new double[] { 100.0, 100.0 });
@ -52,8 +52,8 @@ public class MultivariateRealFunctionPenaltyAdapterTest {
public void testStartSimplexOutsideRange() {
final BiQuadratic biQuadratic = new BiQuadratic(2.0, 2.5, 1.0, 3.0, 2.0, 3.0);
final MultivariateRealFunctionPenaltyAdapter wrapped =
new MultivariateRealFunctionPenaltyAdapter(biQuadratic,
final MultivariateFunctionPenaltyAdapter wrapped =
new MultivariateFunctionPenaltyAdapter(biQuadratic,
biQuadratic.getLower(),
biQuadratic.getUpper(),
1000.0, new double[] { 100.0, 100.0 });
@ -73,8 +73,8 @@ public class MultivariateRealFunctionPenaltyAdapterTest {
public void testOptimumOutsideRange() {
final BiQuadratic biQuadratic = new BiQuadratic(4.0, 0.0, 1.0, 3.0, 2.0, 3.0);
final MultivariateRealFunctionPenaltyAdapter wrapped =
new MultivariateRealFunctionPenaltyAdapter(biQuadratic,
final MultivariateFunctionPenaltyAdapter wrapped =
new MultivariateFunctionPenaltyAdapter(biQuadratic,
biQuadratic.getLower(),
biQuadratic.getUpper(),
1000.0, new double[] { 100.0, 100.0 });
@ -96,8 +96,8 @@ public class MultivariateRealFunctionPenaltyAdapterTest {
final BiQuadratic biQuadratic = new BiQuadratic(4.0, 0.0,
Double.NEGATIVE_INFINITY, Double.POSITIVE_INFINITY,
Double.NEGATIVE_INFINITY, Double.POSITIVE_INFINITY);
final MultivariateRealFunctionPenaltyAdapter wrapped =
new MultivariateRealFunctionPenaltyAdapter(biQuadratic,
final MultivariateFunctionPenaltyAdapter wrapped =
new MultivariateFunctionPenaltyAdapter(biQuadratic,
biQuadratic.getLower(),
biQuadratic.getUpper(),
1000.0, new double[] { 100.0, 100.0 });
@ -119,8 +119,8 @@ public class MultivariateRealFunctionPenaltyAdapterTest {
final BiQuadratic biQuadratic = new BiQuadratic(4.0, 4.0,
1.0, Double.POSITIVE_INFINITY,
Double.NEGATIVE_INFINITY, 3.0);
final MultivariateRealFunctionPenaltyAdapter wrapped =
new MultivariateRealFunctionPenaltyAdapter(biQuadratic,
final MultivariateFunctionPenaltyAdapter wrapped =
new MultivariateFunctionPenaltyAdapter(biQuadratic,
biQuadratic.getLower(),
biQuadratic.getUpper(),
1000.0, new double[] { 100.0, 100.0 });
@ -136,7 +136,7 @@ public class MultivariateRealFunctionPenaltyAdapterTest {
}
private static class BiQuadratic implements MultivariateRealFunction {
private static class BiQuadratic implements MultivariateFunction {
private final double xOptimum;
private final double yOptimum;

View File

@ -16,7 +16,7 @@
*/
package org.apache.commons.math.optimization.direct;
import org.apache.commons.math.analysis.MultivariateRealFunction;
import org.apache.commons.math.analysis.MultivariateFunction;
import org.apache.commons.math.analysis.SumSincFunction;
import org.apache.commons.math.optimization.GoalType;
import org.apache.commons.math.optimization.MultivariateRealOptimizer;
@ -31,7 +31,7 @@ public class PowellOptimizerTest {
@Test
public void testSumSinc() {
final MultivariateRealFunction func = new SumSincFunction(-1);
final MultivariateFunction func = new SumSincFunction(-1);
int dim = 2;
final double[] minPoint = new double[dim];
@ -56,7 +56,7 @@ public class PowellOptimizerTest {
@Test
public void testQuadratic() {
final MultivariateRealFunction func = new MultivariateRealFunction() {
final MultivariateFunction func = new MultivariateFunction() {
public double value(double[] x) {
final double a = x[0] - 1;
final double b = x[1] - 1;
@ -87,7 +87,7 @@ public class PowellOptimizerTest {
@Test
public void testMaximizeQuadratic() {
final MultivariateRealFunction func = new MultivariateRealFunction() {
final MultivariateFunction func = new MultivariateFunction() {
public double value(double[] x) {
final double a = x[0] - 1;
final double b = x[1] - 1;
@ -125,7 +125,7 @@ public class PowellOptimizerTest {
* "Powell" algorithm.
* @param pointTol Tolerance for checking that the optimum is correct.
*/
private void doTest(MultivariateRealFunction func,
private void doTest(MultivariateFunction func,
double[] optimum,
double[] init,
GoalType goal,

View File

@ -17,7 +17,7 @@
package org.apache.commons.math.optimization.direct;
import org.apache.commons.math.analysis.MultivariateRealFunction;
import org.apache.commons.math.analysis.MultivariateFunction;
import org.apache.commons.math.optimization.GoalType;
import org.apache.commons.math.optimization.RealPointValuePair;
import org.apache.commons.math.optimization.SimpleScalarValueChecker;
@ -88,8 +88,8 @@ public class SimplexOptimizerMultiDirectionalTest {
@Test
public void testRosenbrock() {
MultivariateRealFunction rosenbrock =
new MultivariateRealFunction() {
MultivariateFunction rosenbrock =
new MultivariateFunction() {
public double value(double[] x) {
++count;
double a = x[1] - x[0] * x[0];
@ -114,8 +114,8 @@ public class SimplexOptimizerMultiDirectionalTest {
@Test
public void testPowell() {
MultivariateRealFunction powell =
new MultivariateRealFunction() {
MultivariateFunction powell =
new MultivariateFunction() {
public double value(double[] x) {
++count;
double a = x[0] + 10 * x[1];
@ -157,7 +157,7 @@ public class SimplexOptimizerMultiDirectionalTest {
Assert.assertEquals(expectedPosition[1], actualPosition[1], EPSILON );
}
private static class FourExtrema implements MultivariateRealFunction {
private static class FourExtrema implements MultivariateFunction {
// The following function has 4 local extrema.
final double xM = -3.841947088256863675365;
final double yM = -1.391745200270734924416;
@ -176,7 +176,7 @@ public class SimplexOptimizerMultiDirectionalTest {
}
}
private static class Gaussian2D implements MultivariateRealFunction {
private static class Gaussian2D implements MultivariateFunction {
private final double[] maximumPosition;
private final double std;

View File

@ -19,7 +19,7 @@ package org.apache.commons.math.optimization.direct;
import org.apache.commons.math.exception.TooManyEvaluationsException;
import org.apache.commons.math.analysis.MultivariateRealFunction;
import org.apache.commons.math.analysis.MultivariateFunction;
import org.apache.commons.math.analysis.MultivariateVectorialFunction;
import org.apache.commons.math.linear.Array2DRowRealMatrix;
import org.apache.commons.math.linear.RealMatrix;
@ -204,7 +204,7 @@ public class SimplexOptimizerNelderMeadTest {
optimizer.optimize(20, powell, GoalType.MINIMIZE, new double[] { 3, -1, 0, 1 });
}
private static class FourExtrema implements MultivariateRealFunction {
private static class FourExtrema implements MultivariateFunction {
// The following function has 4 local extrema.
final double xM = -3.841947088256863675365;
final double yM = -1.391745200270734924416;
@ -223,7 +223,7 @@ public class SimplexOptimizerNelderMeadTest {
}
}
private static class Rosenbrock implements MultivariateRealFunction {
private static class Rosenbrock implements MultivariateFunction {
private int count;
public Rosenbrock() {
@ -242,7 +242,7 @@ public class SimplexOptimizerNelderMeadTest {
}
}
private static class Powell implements MultivariateRealFunction {
private static class Powell implements MultivariateFunction {
private int count;
public Powell() {

View File

@ -19,14 +19,14 @@ package org.apache.commons.math.optimization.general;
import java.awt.geom.Point2D;
import java.util.ArrayList;
import org.apache.commons.math.analysis.DifferentiableMultivariateRealFunction;
import org.apache.commons.math.analysis.MultivariateRealFunction;
import org.apache.commons.math.analysis.DifferentiableMultivariateFunction;
import org.apache.commons.math.analysis.MultivariateFunction;
import org.apache.commons.math.analysis.MultivariateVectorialFunction;
/**
* Class used in the tests.
*/
class CircleScalar implements DifferentiableMultivariateRealFunction {
class CircleScalar implements DifferentiableMultivariateFunction {
private ArrayList<Point2D.Double> points;
public CircleScalar() {
@ -85,8 +85,8 @@ class CircleScalar implements DifferentiableMultivariateRealFunction {
};
}
public MultivariateRealFunction partialDerivative(final int k) {
return new MultivariateRealFunction() {
public MultivariateFunction partialDerivative(final int k) {
return new MultivariateFunction() {
public double value(double[] point) {
return gradient(point)[k];
}

View File

@ -19,8 +19,8 @@ package org.apache.commons.math.optimization.general;
import java.awt.geom.Point2D;
import java.io.Serializable;
import org.apache.commons.math.analysis.DifferentiableMultivariateRealFunction;
import org.apache.commons.math.analysis.MultivariateRealFunction;
import org.apache.commons.math.analysis.DifferentiableMultivariateFunction;
import org.apache.commons.math.analysis.MultivariateFunction;
import org.apache.commons.math.analysis.MultivariateVectorialFunction;
import org.apache.commons.math.analysis.solvers.BrentSolver;
import org.apache.commons.math.linear.BlockRealMatrix;
@ -343,7 +343,7 @@ public class NonLinearConjugateGradientOptimizerTest {
Assert.assertEquals(48.135167894, center.y, 1.0e-8);
}
private static class LinearProblem implements DifferentiableMultivariateRealFunction, Serializable {
private static class LinearProblem implements DifferentiableMultivariateFunction, Serializable {
private static final long serialVersionUID = 703247177355019415L;
final RealMatrix factors;
@ -383,8 +383,8 @@ public class NonLinearConjugateGradientOptimizerTest {
};
}
public MultivariateRealFunction partialDerivative(final int k) {
return new MultivariateRealFunction() {
public MultivariateFunction partialDerivative(final int k) {
return new MultivariateFunction() {
public double value(double[] point) {
return gradient(point)[k];
}