-
- 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
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default RandomVariable
getBrownianIncrement(double time, int factor)
Return the Brownian increment for a given timeIndex.RandomVariable
getBrownianIncrement(int timeIndex, int factor)
Return the Brownian increment for a given timeIndex.BrownianMotion
getCloneWithModifiedSeed(int seed)
Return a new object implementing BrownianMotion having the same specifications as this object but a different seed for the random number generator.BrownianMotion
getCloneWithModifiedTimeDiscretization(TimeDiscretization newTimeDiscretization)
Return a new object implementing BrownianMotion having the same specifications as this object but a different time discretization.int
getNumberOfFactors()
Returns the number of factors.int
getNumberOfPaths()
Returns the number of paths.RandomVariable
getRandomVariableForConstant(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.TimeDiscretization
getTimeDiscretization()
Returns the time discretization used for this set of time-discrete Brownian increments.-
Methods inherited from interface net.finmath.montecarlo.IndependentIncrements
getIncrement, getIncrement
-
-
-
-
Method Detail
-
getBrownianIncrement
RandomVariable getBrownianIncrement(int timeIndex, int factor)
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
default RandomVariable getBrownianIncrement(double time, int factor)
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:
getTimeDiscretization
in interfaceIndependentIncrements
- Returns:
- The time discretization used for this set of time-discrete Brownian increments.
-
getNumberOfFactors
int getNumberOfFactors()
Returns the number of factors.- Specified by:
getNumberOfFactors
in interfaceIndependentIncrements
- Returns:
- The number of factors.
-
getNumberOfPaths
int getNumberOfPaths()
Returns the number of paths.- Specified by:
getNumberOfPaths
in interfaceIndependentIncrements
- Returns:
- The number of paths.
-
getRandomVariableForConstant
RandomVariable getRandomVariableForConstant(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.- Specified by:
getRandomVariableForConstant
in interfaceIndependentIncrements
- Parameters:
value
- The constant value to be used for initialized the random variable.- Returns:
- A new random variable.
-
getCloneWithModifiedSeed
BrownianMotion getCloneWithModifiedSeed(int seed)
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:
getCloneWithModifiedSeed
in interfaceIndependentIncrements
- Parameters:
seed
- New value for the seed.- Returns:
- New object implementing BrownianMotion.
-
getCloneWithModifiedTimeDiscretization
BrownianMotion getCloneWithModifiedTimeDiscretization(TimeDiscretization newTimeDiscretization)
Return a new object implementing BrownianMotion having the same specifications as this object but a different time discretization.- Specified by:
getCloneWithModifiedTimeDiscretization
in interfaceIndependentIncrements
- Parameters:
newTimeDiscretization
- New time discretization- Returns:
- New object implementing BrownianMotion.
-
-