- 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 int
getNumberOfEvaluationPoints()
int
getSeed()
double
integrate(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:
integrate
in interfaceRealIntegral
- Specified by:
integrate
in classAbstractRealIntegral
-
getNumberOfEvaluationPoints
public int getNumberOfEvaluationPoints()
-
getSeed
public int getSeed()
-
-