- All Superinterfaces:
IndependentIncrements
- All Known Implementing Classes:
BrownianBridge,BrownianMotionFromMersenneRandomNumbers,BrownianMotionFromRandomNumberGenerator,BrownianMotionLazyInit,BrownianMotionView,BrownianMotionWithControlVariate,CorrelatedBrownianMotion
public interface BrownianMotion extends IndependentIncrements
Interface description of a time-discrete n-dimensional Brownian motion
W = (W1,...,Wn) where Wi is a Brownian motion.
Here the dimension n is called factors since this Brownian motion is used to
generate multi-dimensional multi-factor Ito processes and there one might
use a different number of factors to generate Ito processes of different
dimension.
- Version:
- 1.3
- Author:
- Christian Fries
-
Method Summary
Modifier and Type Method Description default RandomVariablegetBrownianIncrement(double time, int factor)Return the Brownian increment for a given timeIndex.RandomVariablegetBrownianIncrement(int timeIndex, int factor)Return the Brownian increment for a given timeIndex.BrownianMotiongetCloneWithModifiedSeed(int seed)Return a new object implementing BrownianMotion having the same specifications as this object but a different seed for the random number generator.BrownianMotiongetCloneWithModifiedTimeDiscretization(TimeDiscretization newTimeDiscretization)Return a new object implementing BrownianMotion having the same specifications as this object but a different time discretization.intgetNumberOfFactors()Returns the number of factors.intgetNumberOfPaths()Returns the number of paths.RandomVariablegetRandomVariableForConstant(double value)Returns a random variable which is initialized to a constant, but has exactly the same number of paths or discretization points as the ones used by this BrownianMotion.TimeDiscretizationgetTimeDiscretization()Returns the time discretization used for this set of time-discrete Brownian increments.Methods inherited from interface net.finmath.montecarlo.IndependentIncrements
getIncrement, getIncrement
-
Method Details
-
getBrownianIncrement
Return the Brownian increment for a given timeIndex. The method returns the random variable Δ Wj(ti) := Wj(ti+1)-W(ti) for the given time index i and a given factor (index) j- Parameters:
timeIndex- The time index (corresponding to the this class's time discretization).factor- The index of the factor (independent scalar Brownian increment).- Returns:
- The factor (component) of the Brownian increments (a random variable).
-
getBrownianIncrement
Return the Brownian increment for a given timeIndex. The method returns the random variable Δ Wj(ti) := Wj(ti+1)-W(ti) for the given time index i and a given factor (index) j, where the time index is derived via getTimeDiscretization().getTimeIndex(time)- Parameters:
time- The time (has to map to a time in this class's time discretization).factor- The index of the factor (independent scalar Brownian increment).- Returns:
- The factor (component) of the Brownian increments (a random variable).
-
getTimeDiscretization
TimeDiscretization getTimeDiscretization()Returns the time discretization used for this set of time-discrete Brownian increments.- Specified by:
getTimeDiscretizationin interfaceIndependentIncrements- Returns:
- The time discretization used for this set of time-discrete Brownian increments.
-
getNumberOfFactors
int getNumberOfFactors()Returns the number of factors.- Specified by:
getNumberOfFactorsin interfaceIndependentIncrements- Returns:
- The number of factors.
-
getNumberOfPaths
int getNumberOfPaths()Returns the number of paths.- Specified by:
getNumberOfPathsin interfaceIndependentIncrements- Returns:
- The number of paths.
-
getRandomVariableForConstant
Returns a random variable which is initialized to a constant, but has exactly the same number of paths or discretization points as the ones used by this BrownianMotion.- Specified by:
getRandomVariableForConstantin interfaceIndependentIncrements- Parameters:
value- The constant value to be used for initialized the random variable.- Returns:
- A new random variable.
-
getCloneWithModifiedSeed
Return a new object implementing BrownianMotion having the same specifications as this object but a different seed for the random number generator. This method is useful if you like to make Monte-Carlo samplings by changing the seed.- Specified by:
getCloneWithModifiedSeedin interfaceIndependentIncrements- Parameters:
seed- New value for the seed.- Returns:
- New object implementing BrownianMotion.
-
getCloneWithModifiedTimeDiscretization
Return a new object implementing BrownianMotion having the same specifications as this object but a different time discretization.- Specified by:
getCloneWithModifiedTimeDiscretizationin interfaceIndependentIncrements- Parameters:
newTimeDiscretization- New time discretization- Returns:
- New object implementing BrownianMotion.
-