public abstract class Continuous.M extends ByPdf.M
Continuous
.Modifier and Type | Class and Description |
---|---|
class |
Continuous.M.Transform
A Continuous.M.Transform "is a" (extends) Continuous,
i.e., is an UnParameterised Continuous model; the fully
trivially parameterised Model is
Continuous.M.Transform.MM . |
Model.Defaults
Value.Atomic, Value.Bool, Value.Char, Value.Chars, Value.Cts, Value.Defer, Value.Discrete, Value.Enum, Value.Inc_Or, Value.Int, Value.Lambda, Value.List, Value.Maybe, Value.Option, Value.Real, Value.Scannable, Value.Structured, Value.Triv, Value.Tuple
Modifier and Type | Method and Description |
---|---|
abstract double |
nlPdf_x(double x)
The negative log probability density of x;
also see
nlPdf(la.la.Value) . |
double |
nlPdf(Value d)
Calls
nlPdf_x (d.x()). |
double |
random_x()
Called by
random() ; this default is
not implemented (throws an Exception) but see
Continuous.Uniform.M.random_x() and
NormalUPM.M.random_x() , say. |
double[] |
random_x(int n)
Return an array double[n] of
random_x() . |
Value.Real |
random()
Call
random_x() , if implemented, to return
an exact random Value.Real ; it might be
necessary to do something different if, for example,
you want accuracy (AoM) to depend on the result's x(). |
Value.Cts |
random(double AoM)
Return a random
{#link la.la.Value#cts Cts}(
random_x() ,AoM). |
Vector |
random(int n,
double AoM)
Return n random Cts each with the specified AoM.
|
Continuous.M |
transform(Function.Cts2Cts f)
This transform(f) is like
Model.transform(f)
except that, instead of "just" returning a Model, this
transform returns a (trivially) parameterised Continuous.M
(actually a Continuous.M.Transform.MM ).Also see the related but different Continuous.transform(f) . |
asEstimator, asUPModel, m1m2sp, msg, msg1, msg1bits, msg2, msg2bits, msgBits, nl2LH, nl2Pr, nlLH, pr, random, randomSeries, statParams, stats, stats, sumNlPr, transform, type, zeroTriv
public M(double msg1, double msg2, Value sp)
public abstract double nlPdf_x(double x)
nlPdf(la.la.Value)
.public Value.Real random()
random_x()
, if implemented, to return
an exact random Value.Real
; it might be
necessary to do something different if, for example,
you want accuracy (AoM) to depend on the result's x().
But if you want random Values with zero or other
constant AoM, the present strategy is fine.public Value.Cts random(double AoM)
random_x()
,AoM).public double[] random_x(int n)
random_x()
.public Vector random(int n, double AoM)
public double random_x()
random()
; this default is
not implemented (throws an Exception) but see
Continuous.Uniform.M.random_x()
and
NormalUPM.M.random_x()
, say. Note, there is an issue
about generating random Cts Values with non-zero AoM if AoM
depends on x.public Continuous.M transform(Function.Cts2Cts f)
Model.transform(f)
except that, instead of "just" returning a Model, this
transform returns a (trivially) parameterised Continuous.M
(actually a Continuous.M.Transform.MM
).Continuous.transform(f)
.