Packages

case class MonixTangentFiniteDistributionEq[State](nodeCoeffSeq: NodeCoeffSeq[State, Double], varWeight: Double, baseState: State, baseEquations: Set[EquationNode], limit: FiniteDuration = 3.minutes)(implicit sd: StateDistribution[State, FiniteDistribution]) extends GenMonixFiniteDistributionEq[State] with Product with Serializable

resolving a general specification of a recursive generative model as finite distributions, depending on truncation; the coefficients of the various generator nodes should be Double

State

scala type of the initial state

nodeCoeffSeq

the various generator nodes with coefficients for various random variables and families

sd

finite distributions from the initial state corresponding to random variables and families

Linear Supertypes
Serializable, Product, Equals, GenMonixFiniteDistributionEq[State], AnyRef, Any
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. MonixTangentFiniteDistributionEq
  2. Serializable
  3. Product
  4. Equals
  5. GenMonixFiniteDistributionEq
  6. AnyRef
  7. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new MonixTangentFiniteDistributionEq(nodeCoeffSeq: NodeCoeffSeq[State, Double], varWeight: Double, baseState: State, baseEquations: Set[EquationNode], limit: FiniteDuration = 3.minutes)(implicit sd: StateDistribution[State, FiniteDistribution])

    nodeCoeffSeq

    the various generator nodes with coefficients for various random variables and families

    sd

    finite distributions from the initial state corresponding to random variables and families

Value Members

  1. val baseEquations: Set[EquationNode]
  2. val baseState: State
  3. def baseVal[Y](rd: RandomVar[Y]): Task[(FiniteDistribution[Y], Set[EquationNode])]
  4. val limit: FiniteDuration
  5. def mapsSum[X, Y](first: Map[X, (FiniteDistribution[Y], Set[EquationNode], EqDistMemo[State])], second: Map[X, (FiniteDistribution[Y], Set[EquationNode], EqDistMemo[State])]): Map[X, (FiniteDistribution[Y], Set[EquationNode], EqDistMemo[State])]
  6. def nodeCoeffDist[Y](initState: State, maxDepth: Option[Int], halted: => Boolean, memo: EqDistMemo[State])(nodeCoeffs: NodeCoeffs[State, Double, HNil, Y], epsilon: Double, rv: RandomVar[Y]): Task[(FiniteDistribution[Y], Set[EquationNode], EqDistMemo[State])]
  7. def nodeCoeffFamilyDist[Dom <: HList, Y](initState: State, maxDepth: Option[Int], halted: => Boolean, memo: EqDistMemo[State])(nodeCoeffs: NodeCoeffs[State, Double, Dom, Y], epsilon: Double)(arg: Dom): Task[(FiniteDistribution[Y], Set[EquationNode], EqDistMemo[State])]
  8. val nodeCoeffSeq: NodeCoeffSeq[State, Double]
  9. def nodeDist[Y](initState: State, maxDepth: Option[Int], halted: => Boolean, memo: EqDistMemo[State] = EqDistMemo.empty[State])(generatorNode: GeneratorNode[Y], epsilon: Double, coeff: Expression): Task[(FiniteDistribution[Y], Set[EquationNode], EqDistMemo[State])]

    recursively determines the finite distribution given a generator node; the main work is done here

    recursively determines the finite distribution given a generator node; the main work is done here

    Y

    values of the corresponding random variable

    initState

    initial state

    generatorNode

    generator node to resolve

    epsilon

    cutoff

    returns

    distribution corresponding to the output random variable

    Definition Classes
    MonixTangentFiniteDistributionEqGenMonixFiniteDistributionEq
  10. def nodeFamilyDistFunc[Dom <: HList, Y](initState: State, maxDepth: Option[Int], halted: => Boolean, memo: EqDistMemo[State])(generatorNodeFamily: GeneratorNodeFamily[Dom, Y], epsilon: Double)(arg: Dom): Task[(FiniteDistribution[Y], Set[EquationNode], EqDistMemo[State])]
  11. def productElementNames: Iterator[String]
    Definition Classes
    Product
  12. def updateAll(dataSeq: Seq[Value[_ <: HList, _, Double]]): MonixTangentFiniteDistributionEq[State]

    update coefficients, to be used in complex islands

    update coefficients, to be used in complex islands

    dataSeq

    the new coefficients

    returns

    MonixFiniteDistribution with updated coefficients

  13. def varDist[Y](initState: State, maxDepth: Option[Int], halted: => Boolean, memo: EqDistMemo[State] = EqDistMemo.empty[State])(randomVar: RandomVar[Y], epsilon: Double): Task[(FiniteDistribution[Y], Set[EquationNode], EqDistMemo[State])]

    finite distribution for a random variable

    finite distribution for a random variable

    Y

    values of the random variable

    initState

    initial state

    randomVar

    random variable whose distribution is returned

    epsilon

    cutoff

    returns

    finite distribution for the given random variable

    Definition Classes
    GenMonixFiniteDistributionEq
  14. def varFamilyDistFunc[RDom <: HList, Y](initState: State, maxDepth: Option[Int], halted: => Boolean, memo: EqDistMemo[State])(randomVarFmly: RandomVarFamily[RDom, Y], epsilon: Double)(arg: RDom): Task[(FiniteDistribution[Y], Set[EquationNode], EqDistMemo[State])]
  15. val varWeight: Double