java.lang.Object
net.finmath.montecarlo.BrownianMotionView
- All Implemented Interfaces:
BrownianMotion,IndependentIncrements
A Brownian motion which is defined by some factors of a given Brownian motion,
i.e., for a given multi-factorial Brownian motion W, this Brownian motion is
given by ( W(i[0]), W(i[1]) W(i[2]), ..., W(i[n-1]) )
where i is a given array of integers.
You may use this class to change the number of factors and/or the order of
a given Brownian motion.
You may use this, to create a link between two models, where each model requires
an individual object of type
BrownianMotion.- Version:
- 1.0
- Author:
- Christian Fries
-
Constructor Summary
ConstructorsConstructorDescriptionBrownianMotionView(BrownianMotion brownianMotion, Integer[] factors)Create a sub-view on a Brownian motion. -
Method Summary
Modifier and TypeMethodDescriptiongetBrownianIncrement(int timeIndex, int factor)Return the Brownian increment for a given timeIndex.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.getCloneWithModifiedTimeDiscretization(TimeDiscretization newTimeDiscretization)Return a new object implementing BrownianMotion having the same specifications as this object but a different time discretization.getIncrement(int timeIndex, int factor)Return the increment for a given timeIndex and given factor.intReturns the number of factors.intReturns the number of paths.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.Returns the time discretization used for this set of time-discrete Brownian increments.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface net.finmath.montecarlo.BrownianMotion
getBrownianIncrementMethods inherited from interface net.finmath.montecarlo.IndependentIncrements
getIncrement
-
Constructor Details
-
BrownianMotionView
Create a sub-view on a Brownian motion. The result is an object implementingBrownianMotion, i.e. a Brownian motion, which maps factor indices to possilby other factors of the given Brownian motion. You may use this class to change the number of factors and/or the order.- Parameters:
brownianMotion- A given Brownian motion.factors- A map of indices i → j for i = 0,1,2,3,... given as an array of j's
-
-
Method Details
-
getBrownianIncrement
Description copied from interface:BrownianMotionReturn 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- Specified by:
getBrownianIncrementin interfaceBrownianMotion- 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).
-
getTimeDiscretization
Description copied from interface:BrownianMotionReturns the time discretization used for this set of time-discrete Brownian increments.- Specified by:
getTimeDiscretizationin interfaceBrownianMotion- Specified by:
getTimeDiscretizationin interfaceIndependentIncrements- Returns:
- The time discretization used for this set of time-discrete Brownian increments.
-
getNumberOfFactors
public int getNumberOfFactors()Description copied from interface:BrownianMotionReturns the number of factors.- Specified by:
getNumberOfFactorsin interfaceBrownianMotion- Specified by:
getNumberOfFactorsin interfaceIndependentIncrements- Returns:
- The number of factors.
-
getNumberOfPaths
public int getNumberOfPaths()Description copied from interface:BrownianMotionReturns the number of paths.- Specified by:
getNumberOfPathsin interfaceBrownianMotion- Specified by:
getNumberOfPathsin interfaceIndependentIncrements- Returns:
- The number of paths.
-
getRandomVariableForConstant
Description copied from interface:BrownianMotionReturns 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 interfaceBrownianMotion- Specified by:
getRandomVariableForConstantin interfaceIndependentIncrements- Parameters:
value- The constant value to be used for initialized the random variable.- Returns:
- A new random variable.
-
getCloneWithModifiedSeed
Description copied from interface:BrownianMotionReturn 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 interfaceBrownianMotion- Specified by:
getCloneWithModifiedSeedin interfaceIndependentIncrements- Parameters:
seed- New value for the seed.- Returns:
- New object implementing BrownianMotion.
-
getCloneWithModifiedTimeDiscretization
public BrownianMotion getCloneWithModifiedTimeDiscretization(TimeDiscretization newTimeDiscretization)Description copied from interface:BrownianMotionReturn a new object implementing BrownianMotion having the same specifications as this object but a different time discretization.- Specified by:
getCloneWithModifiedTimeDiscretizationin interfaceBrownianMotion- Specified by:
getCloneWithModifiedTimeDiscretizationin interfaceIndependentIncrements- Parameters:
newTimeDiscretization- New time discretization- Returns:
- New object implementing BrownianMotion.
-
getIncrement
Description copied from interface:IndependentIncrementsReturn the increment for a given timeIndex and given factor. The method returns the random variable Δ Xj(ti) := Xj(ti+1)-X(ti) for the given time index i and a given factor (index) j- Specified by:
getIncrementin interfaceBrownianMotion- Specified by:
getIncrementin interfaceIndependentIncrements- Parameters:
timeIndex- The time index (corresponding to the this class's time discretization)factor- The index of the factor (independent scalar increment)- Returns:
- The factor (component) of the increments (a random variable)
-