- java.lang.Object
-
- net.finmath.integration.AbstractRealIntegral
-
- net.finmath.integration.MonteCarloIntegrator
-
- All Implemented Interfaces:
RealIntegral
public class MonteCarloIntegrator extends AbstractRealIntegral
A simple integrator using Monte-Carlo integration. The constructor has an optional argument to allow parallel function evaluation. In that case, the integration rule uses Java 8 parallel streams to evaluate.- Version:
- 1.0
- Author:
- Christian Fries
-
-
Constructor Summary
Constructors Constructor Description MonteCarloIntegrator(double lowerBound, double upperBound, int numberOfEvaluationPoints)Create an integrator using Monte-Carlo.MonteCarloIntegrator(double lowerBound, double upperBound, int numberOfEvaluationPoints, boolean useParallelEvaluation)Create an integrator using Monte-Carlo.MonteCarloIntegrator(double lowerBound, double upperBound, int numberOfEvaluationPoints, int seed, boolean useParallelEvaluation)Create an integrator using Monte-Carlo integration.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intgetNumberOfEvaluationPoints()intgetSeed()doubleintegrate(DoubleUnaryOperator integrand)-
Methods inherited from class net.finmath.integration.AbstractRealIntegral
getLowerBound, getUpperBound
-
-
-
-
Constructor Detail
-
MonteCarloIntegrator
public MonteCarloIntegrator(double lowerBound, double upperBound, int numberOfEvaluationPoints, int seed, boolean useParallelEvaluation)Create an integrator using Monte-Carlo integration.- Parameters:
lowerBound- Lower bound of the integral.upperBound- Upper bound of the integral.numberOfEvaluationPoints- Maximum number of evaluation points to be used, must be greater or equal to 3.seed- The seed of the random number generator.useParallelEvaluation- If true, the integration rule will perform parallel evaluation of the integrand.
-
MonteCarloIntegrator
public MonteCarloIntegrator(double lowerBound, double upperBound, int numberOfEvaluationPoints, boolean useParallelEvaluation)Create an integrator using Monte-Carlo.- Parameters:
lowerBound- Lower bound of the integral.upperBound- Upper bound of the integral.numberOfEvaluationPoints- Maximum number of evaluation points to be used, must be greater or equal to 3.useParallelEvaluation- If true, the integration rule will perform parallel evaluation of the integrand.
-
MonteCarloIntegrator
public MonteCarloIntegrator(double lowerBound, double upperBound, int numberOfEvaluationPoints)Create an integrator using Monte-Carlo.- Parameters:
lowerBound- Lower bound of the integral.upperBound- Upper bound of the integral.numberOfEvaluationPoints- Maximum number of evaluation points to be used.
-
-
Method Detail
-
integrate
public double integrate(DoubleUnaryOperator integrand)
- Specified by:
integratein interfaceRealIntegral- Specified by:
integratein classAbstractRealIntegral
-
getNumberOfEvaluationPoints
public int getNumberOfEvaluationPoints()
-
getSeed
public int getSeed()
-
-