public class Scalar extends Object implements RandomVariable
| Constructor and Description |
|---|
Scalar(double value) |
| Modifier and Type | Method and Description |
|---|---|
RandomVariable |
abs()
Applies x → Math.abs(x), i.e. x → |x| to this random variable.
|
RandomVariable |
accrue(RandomVariable rate,
double periodLength)
Applies x → x * (1.0 + rate * periodLength) to this random variable.
|
RandomVariable |
add(double value)
Applies x → x + value to this random variable.
|
RandomVariable |
add(RandomVariable randomVariable)
Applies x → x+randomVariable to this random variable.
|
RandomVariable |
addProduct(RandomVariable factor1,
double factor2)
Applies x → x + factor1 * factor2
|
RandomVariable |
addProduct(RandomVariable factor1,
RandomVariable factor2)
Applies x → x + factor1 * factor2
|
RandomVariable |
addRatio(RandomVariable numerator,
RandomVariable denominator)
Applies x → x + numerator / denominator
|
RandomVariable |
apply(DoubleBinaryOperator operator,
RandomVariable argument)
Applies x → operator(x,y) to this random variable, where x is this random variable and y is a given random variable.
|
RandomVariable |
apply(DoubleTernaryOperator operator,
RandomVariable argument1,
RandomVariable argument2)
Applies x → operator(x,y,z) to this random variable, where x is this random variable and y and z are given random variable.
|
RandomVariable |
apply(DoubleUnaryOperator operator)
Applies x → operator(x) to this random variable.
|
static Scalar[] |
arrayOf(double[] arrayOfDoubles) |
RandomVariable |
average()
Returns a random variable which is deterministic and corresponds
the expectation of this random variable.
|
RandomVariable |
bus(RandomVariable randomVariable)
Applies x → randomVariable-x to this random variable.
|
RandomVariable |
cache()
Return a cacheable version of this object (often a self-reference).
|
RandomVariable |
cap(double cap)
Applies x → min(x,cap) to this random variable.
|
RandomVariable |
cap(RandomVariable cap)
Applies x → min(x,cap) to this random variable.
|
RandomVariable |
choose(RandomVariable valueIfTriggerNonNegative,
RandomVariable valueIfTriggerNegative)
Applies x → (x ≥ 0 ?
|
RandomVariable |
cos()
Applies x → cos(x) to this random variable.
|
RandomVariable |
discount(RandomVariable rate,
double periodLength)
Applies x → x / (1.0 + rate * periodLength) to this random variable.
|
RandomVariable |
div(double value)
Applies x → x / value to this random variable.
|
RandomVariable |
div(RandomVariable randomVariable)
Applies x → x/randomVariable to this random variable.
|
Double |
doubleValue()
Returns the double value if isDeterministic() is true. otherwise throws an
UnsupportedOperationException. |
boolean |
equals(RandomVariable randomVariable)
Compare this random variable with a given one
|
RandomVariable |
exp()
Applies x → exp(x) to this random variable.
|
RandomVariable |
floor(double floor)
Applies x → max(x,floor) to this random variable.
|
RandomVariable |
floor(RandomVariable floor)
Applies x → max(x,floor) to this random variable.
|
double |
get(int pathOrState)
Evaluate at a given path or state.
|
double |
getAverage()
Returns the expectation of this random variable.
|
double |
getAverage(RandomVariable probabilities)
Returns the expectation of this random variable for a given probability measure (weight).
|
double |
getFiltrationTime()
Returns the filtration time.
|
double[] |
getHistogram(double[] intervalPoints)
Generates a Histogram based on the realizations stored in this random variable.
|
double[][] |
getHistogram(int numberOfPoints,
double standardDeviations)
Generates a histogram based on the realizations stored in this random variable
using interval points calculated from the arguments, see also
RandomVariable.getHistogram(double[]). |
double |
getMax()
Returns the maximum value attained by this random variable.
|
double |
getMin()
Returns the minimum value attained by this random variable.
|
IntToDoubleFunction |
getOperator()
Returns the operator path → this.get(path) corresponding to this random variable.
|
double |
getQuantile(double quantile)
Returns the quantile value for this given random variable, i.e., the value x such that P(this < x) = quantile,
where P denotes the probability measure.
|
double |
getQuantile(double quantile,
RandomVariable probabilities)
Returns the quantile value for this given random variable, i.e., the value x such that P(this < x) = quantile,
where P denotes the probability measure.
|
double |
getQuantileExpectation(double quantileStart,
double quantileEnd)
Returns the expectation over a quantile for this given random variable.
|
double[] |
getRealizations()
Returns a vector representing the realization of this random variable.
|
DoubleStream |
getRealizationsStream()
Returns a stream of doubles corresponding to the realizations of this random variable.
|
double |
getSampleVariance()
Returns the sample variance of this random variable, i.e.,
V * size()/(size()-1) where V = getVariance().
|
double |
getStandardDeviation()
Returns the standard deviation of this random variable, i.e.,
sqrt(V) where V = ((X-m)^2).getAverage() and X = this and m = X.getAverage().
|
double |
getStandardDeviation(RandomVariable probabilities)
Returns the standard deviation of this random variable, i.e.,
sqrt(V) where V = ((X-m)^2).getAverage(probabilities) and X = this and m = X.getAverage(probabilities).
|
double |
getStandardError()
Returns the standard error (discretization error) of this random variable.
|
double |
getStandardError(RandomVariable probabilities)
Returns the standard error (discretization error) of this random variable.
|
int |
getTypePriority()
Returns the type priority.
|
double |
getVariance()
Returns the variance of this random variable, i.e.,
V where V = ((X-m)^2).getAverage() and X = this and m = X.getAverage().
|
double |
getVariance(RandomVariable probabilities)
Returns the variance of this random variable, i.e.,
V where V = ((X-m)^2).getAverage(probabilities) and X = this and m = X.getAverage(probabilities).
|
RandomVariable |
invert()
Applies x → 1/x to this random variable.
|
boolean |
isDeterministic()
Check if this random variable is deterministic in the sense that it is represented by a single double value.
|
RandomVariable |
isNaN()
Applies x → (Double.isNaN(x) ?
|
RandomVariable |
log()
Applies x → log(x) to this random variable.
|
RandomVariable |
mult(double value)
Applies x → x * value to this random variable.
|
RandomVariable |
mult(RandomVariable randomVariable)
Applies x → x*randomVariable to this random variable.
|
RandomVariable |
pow(double exponent)
Applies x → pow(x,exponent) to this random variable.
|
RandomVariable |
sin()
Applies x → sin(x) to this random variable.
|
int |
size()
Returns the number of paths or states.
|
RandomVariable |
sqrt()
Applies x → sqrt(x) to this random variable.
|
RandomVariable |
squared()
Applies x → x * x to this random variable.
|
RandomVariable |
sub(double value)
Applies x → x - value to this random variable.
|
RandomVariable |
sub(RandomVariable randomVariable)
Applies x → x-randomVariable to this random variable.
|
RandomVariable |
subRatio(RandomVariable numerator,
RandomVariable denominator)
Applies x → x - numerator / denominator
|
RandomVariable |
vid(RandomVariable randomVariable)
Applies x → randomVariable/x to this random variable.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitaddSumProduct, addSumProduct, getConditionalExpectation, getValuespublic static Scalar[] arrayOf(double[] arrayOfDoubles)
public boolean equals(RandomVariable randomVariable)
RandomVariableequals in interface RandomVariablerandomVariable - Random variable to compare with.public double getFiltrationTime()
RandomVariablegetFiltrationTime in interface RandomVariablepublic int getTypePriority()
RandomVariablegetTypePriority in interface RandomVariablepublic double get(int pathOrState)
RandomVariableget in interface RandomVariablepathOrState - Index of the path or state.public int size()
RandomVariablesize in interface RandomVariablepublic boolean isDeterministic()
RandomVariableisDeterministic in interface RandomVariablepublic double[] getRealizations()
RandomVariablegetRealizations in interface RandomVariablepublic Double doubleValue()
RandomVariableUnsupportedOperationException.doubleValue in interface RandomVariableUnsupportedOperationException.public IntToDoubleFunction getOperator()
RandomVariablegetOperator in interface RandomVariablepublic DoubleStream getRealizationsStream()
RandomVariablegetRealizationsStream in interface RandomVariablepublic double getMin()
RandomVariablegetMin in interface RandomVariablepublic double getMax()
RandomVariablegetMax in interface RandomVariablepublic double getAverage()
RandomVariableaverage().doubleValue().getAverage in interface RandomVariablepublic double getAverage(RandomVariable probabilities)
RandomVariablethis.mult(probabilities).getAverage() / probabilities.getAverage()
getAverage in interface RandomVariableprobabilities - The probability weights.public double getVariance()
RandomVariablegetVariance in interface RandomVariablepublic double getVariance(RandomVariable probabilities)
RandomVariablegetVariance in interface RandomVariableprobabilities - The probability weights.public double getSampleVariance()
RandomVariablegetSampleVariance in interface RandomVariablepublic double getStandardDeviation()
RandomVariablegetStandardDeviation in interface RandomVariablepublic double getStandardDeviation(RandomVariable probabilities)
RandomVariablegetStandardDeviation in interface RandomVariableprobabilities - The probability weights.public double getStandardError()
RandomVariableRandomVariable.getStandardDeviation().getStandardError in interface RandomVariablepublic double getStandardError(RandomVariable probabilities)
RandomVariableRandomVariable.getStandardDeviation(RandomVariable).getStandardError in interface RandomVariableprobabilities - The probability weights.public double getQuantile(double quantile)
RandomVariablegetQuantile in interface RandomVariablequantile - The quantile level.public double getQuantile(double quantile,
RandomVariable probabilities)
RandomVariablegetQuantile in interface RandomVariablequantile - The quantile level.probabilities - The probability weights.public double getQuantileExpectation(double quantileStart,
double quantileEnd)
RandomVariablegetQuantileExpectation in interface RandomVariablequantileStart - Lower bound of the integral.quantileEnd - Upper bound of the integral.public double[] getHistogram(double[] intervalPoints)
RandomVariableresult array's length is intervalPoints.length+1.
possibleValues, then result = getHistogram(possibleValues) returns an
array where result[i] is the relative frequency of occurrence of possibleValues[i].
The sum of result[i] over all i is equal to 1, except for uninitialized random
variables where all values are 0.getHistogram in interface RandomVariableintervalPoints - Array of ascending values defining the interval boundaries.public double[][] getHistogram(int numberOfPoints,
double standardDeviations)
RandomVariableRandomVariable.getHistogram(double[]).
The interval points are
set with equal distance over an the interval of the specified standard deviation.
The interval points used are
x[i] = mean + alpha[i] * standardDeviations * sigma
RandomVariable.getAverage(),RandomVariable.getStandardDeviation().result is an array of two vectors, where result[0] are the
intervals center points ('anchor points') and result[1] contains the relative frequency for the interval.
The 'anchor point' for the interval (-infinity, x[0]) is x[0] - 1/2 (x[1]-x[0])
and the 'anchor point' for the interval (x[n], infinity) is x[n] + 1/2 (x[n]-x[n-1]).
Here n = numberOfPoints is the number of interval points.getHistogram in interface RandomVariablenumberOfPoints - The number of interval points.standardDeviations - The number of standard deviations defining the discretization radius.RandomVariable.getHistogram(double[]) for the given the interval points. The length of result[0] and result[1] is numberOfPoints+1.public RandomVariable cache()
RandomVariablecache in interface RandomVariablepublic RandomVariable apply(DoubleUnaryOperator operator)
RandomVariableapply in interface RandomVariableoperator - An unary operator/function, mapping double to double.public RandomVariable apply(DoubleBinaryOperator operator, RandomVariable argument)
RandomVariableapply in interface RandomVariableoperator - A binary operator/function, mapping (double,double) to double.argument - A random variable.public RandomVariable apply(DoubleTernaryOperator operator, RandomVariable argument1, RandomVariable argument2)
RandomVariableapply in interface RandomVariableoperator - A ternary operator/function, mapping (double,double,double) to double.argument1 - A random variable representing y.argument2 - A random variable representing z.public RandomVariable cap(double cap)
RandomVariablecap in interface RandomVariablecap - The cap.public RandomVariable floor(double floor)
RandomVariablefloor in interface RandomVariablefloor - The floor.public RandomVariable add(double value)
RandomVariableadd in interface RandomVariablevalue - The value to add.public RandomVariable sub(double value)
RandomVariablesub in interface RandomVariablevalue - The value to subtract.public RandomVariable mult(double value)
RandomVariablemult in interface RandomVariablevalue - The value to multiply.public RandomVariable div(double value)
RandomVariablediv in interface RandomVariablevalue - The value to divide.public RandomVariable pow(double exponent)
RandomVariablepow in interface RandomVariableexponent - The exponent.public RandomVariable average()
RandomVariableaverage in interface RandomVariablepublic RandomVariable squared()
RandomVariablesquared in interface RandomVariablepublic RandomVariable sqrt()
RandomVariablesqrt in interface RandomVariablepublic RandomVariable exp()
RandomVariableexp in interface RandomVariablepublic RandomVariable log()
RandomVariablelog in interface RandomVariablepublic RandomVariable sin()
RandomVariablesin in interface RandomVariablepublic RandomVariable cos()
RandomVariablecos in interface RandomVariablepublic RandomVariable add(RandomVariable randomVariable)
RandomVariableadd in interface RandomVariablerandomVariable - A random variable (compatible with this random variable).public RandomVariable sub(RandomVariable randomVariable)
RandomVariablesub in interface RandomVariablerandomVariable - A random variable (compatible with this random variable).public RandomVariable bus(RandomVariable randomVariable)
RandomVariablebus in interface RandomVariablerandomVariable - A random variable (compatible with this random variable).public RandomVariable mult(RandomVariable randomVariable)
RandomVariablemult in interface RandomVariablerandomVariable - A random variable (compatible with this random variable).public RandomVariable div(RandomVariable randomVariable)
RandomVariablediv in interface RandomVariablerandomVariable - A random variable (compatible with this random variable).public RandomVariable vid(RandomVariable randomVariable)
RandomVariablevid in interface RandomVariablerandomVariable - A random variable (compatible with this random variable).public RandomVariable cap(RandomVariable cap)
RandomVariablecap in interface RandomVariablecap - The cap. A random variable (compatible with this random variable).public RandomVariable floor(RandomVariable floor)
RandomVariablefloor in interface RandomVariablefloor - The floor. A random variable (compatible with this random variable).public RandomVariable accrue(RandomVariable rate, double periodLength)
RandomVariableaccrue in interface RandomVariablerate - The accruing rate. A random variable (compatible with this random variable).periodLength - The period lengthpublic RandomVariable discount(RandomVariable rate, double periodLength)
RandomVariablediscount in interface RandomVariablerate - The discounting rate. A random variable (compatible with this random variable).periodLength - The period lengthpublic RandomVariable choose(RandomVariable valueIfTriggerNonNegative, RandomVariable valueIfTriggerNegative)
RandomVariablechoose in interface RandomVariablevalueIfTriggerNonNegative - The value used if this is greater or equal 0valueIfTriggerNegative - The value used if the this is less than 0public RandomVariable invert()
RandomVariableinvert in interface RandomVariablepublic RandomVariable abs()
RandomVariableabs in interface RandomVariablepublic RandomVariable addProduct(RandomVariable factor1, double factor2)
RandomVariableaddProduct in interface RandomVariablefactor1 - The factor 1. A random variable (compatible with this random variable).factor2 - The factor 2.public RandomVariable addProduct(RandomVariable factor1, RandomVariable factor2)
RandomVariableaddProduct in interface RandomVariablefactor1 - The factor 1. A random variable (compatible with this random variable).factor2 - The factor 2. A random variable (compatible with this random variable).public RandomVariable addRatio(RandomVariable numerator, RandomVariable denominator)
RandomVariableaddRatio in interface RandomVariablenumerator - The numerator of the ratio to add. A random variable (compatible with this random variable).denominator - The denominator of the ratio to add. A random variable (compatible with this random variable).public RandomVariable subRatio(RandomVariable numerator, RandomVariable denominator)
RandomVariablesubRatio in interface RandomVariablenumerator - The numerator of the ratio to sub. A random variable (compatible with this random variable).denominator - The denominator of the ratio to sub. A random variable (compatible with this random variable).public RandomVariable isNaN()
RandomVariableisNaN in interface RandomVariableCopyright © 2019. All rights reserved.