Example usage for org.apache.commons.math.analysis DifferentiableUnivariateRealFunction DifferentiableUnivariateRealFunction

List of usage examples for org.apache.commons.math.analysis DifferentiableUnivariateRealFunction DifferentiableUnivariateRealFunction

Introduction

In this page you can find the example usage for org.apache.commons.math.analysis DifferentiableUnivariateRealFunction DifferentiableUnivariateRealFunction.

Prototype

DifferentiableUnivariateRealFunction

Source Link

Usage

From source file:dr.math.distributions.KernelDensityEstimatorDistribution.java

/**
 * quantile (inverse cumulative density function) of the distribution
 *
 * @param y argument//  w  ww  . j  ava2 s . com
 * @return cdf value
 */
public double quantile(final double y) {

    final DifferentiableUnivariateRealFunction root = new DifferentiableUnivariateRealFunction() {

        @Override
        public UnivariateRealFunction derivative() {
            return pdfFunction;
        }

        @Override
        public double value(double x) throws FunctionEvaluationException {

            return cdfFunction.value(x) - y;
        }
    };

    NewtonSolver solver = new NewtonSolver(root);

    double q;
    try {
        q = solver.solve(getFromPoint(), getToPoint());
    } catch (MaxIterationsExceededException e) {
        throw new RuntimeException(e.getMessage());
    } catch (FunctionEvaluationException e) {
        throw new RuntimeException(e.getMessage());
    }

    return q;
}

From source file:com.opengamma.analytics.math.util.wrapper.CommonsMathWrapper.java

/**
 * @param f An OG 1-D function mapping doubles to doubles, not null
 * @return A Commons differentiable univariate real function
 *//*from   w  ww  . j  a  v a2s . c om*/
public static DifferentiableUnivariateRealFunction wrapDifferentiable(final DoubleFunction1D f) {
    Validate.notNull(f);
    return new DifferentiableUnivariateRealFunction() {

        @Override
        public double value(final double x) throws FunctionEvaluationException {
            return f.evaluate(x);
        }

        @Override
        public UnivariateRealFunction derivative() {
            return wrapUnivariate(f.derivative());
        }
    };
}