public class LinearInterpolatedTimeDiscreteProcess extends Object implements ProcessInterface
ProcessInterface
and creates a stochastic process \( t \mapsto X(t) \)
where
\[
X(t) = \frac{t_{i+1} - t}{t_{i+1}-t_{i}} X(t_{i}) + \frac{t - t_{i}}{t_{i+1}-t_{i}} X(t_{i+1})
\]
with \( t_{i} \leq t \leq t_{i+1} \).
Note: this is the interpolation scheme used in the convergence of the Euler-Maruyama scheme.Constructor and Description |
---|
LinearInterpolatedTimeDiscreteProcess(Map<Double,RandomVariableInterface> realizations)
Create a time discrete process by linear interpolation of random variables.
|
Modifier and Type | Method and Description |
---|---|
LinearInterpolatedTimeDiscreteProcess |
add(LinearInterpolatedTimeDiscreteProcess process)
Create a new linear interpolated time discrete process by
using the time discretization of this process and the sum of this process and the given one
as its values.
|
LinearInterpolatedTimeDiscreteProcess |
apply(UnivariateFunction function)
Create a new process consisting of the interpolation of the random variables obtained by
applying the given function to this process discrete set of random variables.
|
ProcessInterface |
clone()
Create and return a clone of this process.
|
RandomVariableInterface |
getMonteCarloWeights(int timeIndex)
This method returns the weights of a weighted Monte Carlo method (the probability density).
|
int |
getNumberOfComponents() |
RandomVariableInterface |
getProcessValue(double time,
int component)
Returns the (possibly interpolated) value of this stochastic process at a given time \( t \).
|
RandomVariableInterface |
getProcessValue(int timeIndex,
int component)
This method returns the realization of a component of the process for a given time index.
|
double |
getTime(int timeIndex) |
TimeDiscretizationInterface |
getTimeDiscretization() |
int |
getTimeIndex(double time)
Returns the time index for a given simulation time.
|
public LinearInterpolatedTimeDiscreteProcess(Map<Double,RandomVariableInterface> realizations)
realizations
- Given map from time to random variable. The map must not be modified.public LinearInterpolatedTimeDiscreteProcess add(LinearInterpolatedTimeDiscreteProcess process) throws CalculationException
process
- A given process.CalculationException
- Thrown if the given process fails to evaluate at a certain time point.public LinearInterpolatedTimeDiscreteProcess apply(UnivariateFunction function)
function
- The function \( f \), a univariate function.public RandomVariableInterface getProcessValue(double time, int component) throws CalculationException
time
- The time \( t \).component
- The component to be returned (if this is a vector valued process), otherwise 0.CalculationException
- Thrown if this process fails to evaluate at the given time point.public RandomVariableInterface getProcessValue(int timeIndex, int component) throws CalculationException
ProcessInterface
getProcessValue
in interface ProcessInterface
timeIndex
- Time index at which the process should be observedcomponent
- Component index of the processRandomVariable
)CalculationException
- Thrown if the valuation fails, specific cause may be available via the cause()
method.public RandomVariableInterface getMonteCarloWeights(int timeIndex) throws CalculationException
ProcessInterface
getMonteCarloWeights
in interface ProcessInterface
timeIndex
- Time index at which the process should be observedCalculationException
- Thrown if the valuation fails, specific cause may be available via the cause()
method.public int getNumberOfComponents()
getNumberOfComponents
in interface ProcessInterface
public TimeDiscretizationInterface getTimeDiscretization()
getTimeDiscretization
in interface ProcessInterface
public double getTime(int timeIndex)
getTime
in interface ProcessInterface
timeIndex
- Time index.public int getTimeIndex(double time)
ProcessInterface
getTimeIndex
in interface ProcessInterface
time
- The given simulation time.public ProcessInterface clone()
ProcessInterface
clone
in interface ProcessInterface
clone
in class Object
Copyright © 2015. All rights reserved.