finMath lib documentation
net.finmath.time

Interface TimeDiscretizationInterface

• All Superinterfaces:
Iterable<Double>
All Known Implementing Classes:
Tenor, TimeDiscretization

public interface TimeDiscretizationInterface
extends Iterable<Double>
Version:
1.0
Author:
Christian Fries
• Method Summary

All Methods
Modifier and Type Method and Description
ArrayList<Double> getAsArrayList()
Return a clone of this time discretization as ArrayList<Double>.
double[] getAsDoubleArray()
Return a clone of this time discretization as double[].
int getNumberOfTimes()
int getNumberOfTimeSteps()
double getTickSize()
Returns the smallest time span distinguishable in this time discretization.
double getTime(int timeIndex)
Returns the time for the given time index.
int getTimeIndex(double time)
Returns the time index for the given time.
int getTimeIndexNearestGreaterOrEqual(double time)
Returns the time index for the time in the time discretization which is the nearest to the given time, being greater or equal (i.e. min(i : timeDiscretization[i] ≥ time where timeDiscretization[i] ≤ timeDiscretization[j]).
int getTimeIndexNearestLessOrEqual(double time)
Returns the time index for the time in the time discretization which is the nearest to the given time, being less or equal (i.e. max(i : timeDiscretization[i] ≤ time where timeDiscretization[i] ≤ timeDiscretization[j]).
TimeDiscretizationInterface getTimeShiftedTimeDiscretization(double timeShift)
Return a new time discretization where all time points have been shifted by a given time shift.
double getTimeStep(int timeIndex)
Returns the time step from the given time index to the next one.
TimeDiscretizationInterface intersect(TimeDiscretizationInterface that)
Returns the intersection of this time discretization with another one.
TimeDiscretizationInterface union(TimeDiscretizationInterface that)
Returns the union of this time discretization with another one.
• Methods inherited from interface java.lang.Iterable

forEach, iterator, spliterator
• Method Detail

• getNumberOfTimes

int getNumberOfTimes()
Returns:
Returns the number of time discretization points.
• getNumberOfTimeSteps

int getNumberOfTimeSteps()
Returns:
Returns the number of time steps (= number of discretization points-1).
• getTime

double getTime(int timeIndex)
Returns the time for the given time index.
Parameters:
timeIndex - Time index
Returns:
Returns the time for a given time index.
• getTimeStep

double getTimeStep(int timeIndex)
Returns the time step from the given time index to the next one.
Parameters:
timeIndex - Time index
Returns:
Returns the time step
• getTimeIndex

int getTimeIndex(double time)
Returns the time index for the given time. If the given time is not in the time discretization the method returns a negative number being (-insertionPoint-1).
Parameters:
time - The time.
Returns:
Returns the time index for a given time.
• getTimeIndexNearestLessOrEqual

int getTimeIndexNearestLessOrEqual(double time)
Returns the time index for the time in the time discretization which is the nearest to the given time, being less or equal (i.e. max(i : timeDiscretization[i] ≤ time where timeDiscretization[i] ≤ timeDiscretization[j]).
Parameters:
time - Given time.
Returns:
Returns a time index
• getTimeIndexNearestGreaterOrEqual

int getTimeIndexNearestGreaterOrEqual(double time)
Returns the time index for the time in the time discretization which is the nearest to the given time, being greater or equal (i.e. min(i : timeDiscretization[i] ≥ time where timeDiscretization[i] ≤ timeDiscretization[j]).
Parameters:
time - Given time.
Returns:
Returns a time index
• getAsDoubleArray

double[] getAsDoubleArray()
Return a clone of this time discretization as double[].
Returns:
The time discretization as double[]
• getAsArrayList

ArrayList<Double> getAsArrayList()
Return a clone of this time discretization as ArrayList<Double>. Note that this method is costly in terms of performance.
Returns:
The time discretization as ArrayList<Double>
• getTimeShiftedTimeDiscretization

TimeDiscretizationInterface getTimeShiftedTimeDiscretization(double timeShift)
Return a new time discretization where all time points have been shifted by a given time shift.
Parameters:
timeShift - A time shift applied to all discretization points.
Returns:
A new time discretization where all time points have been shifted by the given time shift.
• union

TimeDiscretizationInterface union(TimeDiscretizationInterface that)
Returns the union of this time discretization with another one. This means that the times of the other time discretization will be added. In case the tick sizes differ the union will have the smaller tick size, i. e. the finer precision. Note that when the differing tick sizes are not integer multiples of each other time points might get shifted due to rounding; for example a.intersect(a.union(b)) might not be equal to a.
Parameters:
that - Another time discretization containing points to add to the time discretization.
Returns:
A new time discretization containing both the time points of this and the other discretization.
• intersect

TimeDiscretizationInterface intersect(TimeDiscretizationInterface that)
Returns the intersection of this time discretization with another one. This means that all times not contained in the other time discretization will be removed. In case the tick sizes differ the intersection will have the greater tick size, i. e. the coarser precision. Note that when the differing tick sizes are not integer multiples of each other time points might get shifted due to rounding; for example a.intersect(a.union(b)) might not be equal to a.
Parameters:
that - Another time discretization containing points to add to the time discretization.
Returns:
A new time discretization containing both the time points of this and the other discretization.
• getTickSize

double getTickSize()
Returns the smallest time span distinguishable in this time discretization.
Returns:
A non-negative double containing the tick size.