net.finmath.montecarlo.RandomVariableFactory Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of finmath-lib Show documentation
Show all versions of finmath-lib Show documentation
finmath lib is a Mathematical Finance Library in Java.
It provides algorithms and methodologies related to mathematical finance.
package net.finmath.montecarlo;
import net.finmath.stochastic.RandomVariable;
/**
* A factory for creating objects implementing net.finmath.stochastic.RandomVariable
.
*
* Use this interface in your implementations to allow dependency injection, i.e. to allow the use
* of different implementations of net.finmath.stochastic.RandomVariable
whenever random variables
* need to be constructed.
*
* @see net.finmath.stochastic.RandomVariable
*
* @author Christian Fries
* @version 1.0
*/
public interface RandomVariableFactory {
/**
* Create a (deterministic) random variable form a constant.
*
* @param value A constant value.
* @return The RandomVariable
.
*/
RandomVariable createRandomVariable(double value);
/**
* Create a (deterministic) random variable form a constant using a specific filtration time.
*
* @param time The filtration time of the random variable.
* @param value A constant value.
* @return The RandomVariable
.
*/
RandomVariable createRandomVariable(double time, double value);
/**
* Create a random variable form an array using a specific filtration time.
*
* @param time The filtration time of the random variable.
* @param values Array representing values of the random variable at the sample paths.
* @return The RandomVariable
.
*/
RandomVariable createRandomVariable(double time, double[] values);
/**
* Create an array of (deterministic) random variables from an array of constants.
*
* @param values Array representing constants.
* @return The RandomVariable
.
*/
RandomVariable[] createRandomVariableArray(double[] values);
/**
* Create a matrix of (deterministic) random variables from an matrix of constants.
*
* @param values Matrix representing constants.
* @return The RandomVariable
.
*/
RandomVariable[][] createRandomVariableMatrix(double[][] values);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy