Types

Problem types

BranchingProcesses.ConstantRateBranchingProblemType
struct ConstantRateBranchingProblem{P<:SciMLBase.AbstractDEProblem, L<:(UnivariateDistribution), O<:Union{Integer, DiscreteUnivariateDistribution, UnivariateDistribution{Discrete}, DiscreteDistribution{Univariate}}} <: BranchingProcesses.BranchingProblem

A structure to define a branching stochastic process with constant branching rate.

Fields

  • prob: The SDE or jump process problem defining the single-particle dynamics of the branching process, an instance of SciMLBase.AbstractSDEProblem or SciMLBase.AbstractJumpProblem.

  • lifetime: The lifetime distribution of the process, which must be a discrete or continuous univariate distribution with positive support.

  • nchild: The number of children to be created for each particle, which can be a non-negative integer or a discrete distribution with non-negative support from which the number of children is sampled.

Solution types

BranchingProcesses.BranchingProcessSolutionType
struct BranchingProcessSolution{P<:BranchingProcesses.BranchingProblem, T<:Union{DESolution, SciMLSolution}}

A complete solution of a branching stochastic process, containing both the problem definition and the resulting tree structure.

Fields

  • prob: The branching problem that was solved.

  • tree: The root node of the solution tree.

  • alg: Algorithm used to solve the problem (optional).

  • retcode: Return code indicating success/failure.

  • stats: Additional statistics or metadata (optional).

BranchingProcesses.BranchingProcessNodeType
struct BranchingProcessNode{T<:Union{DESolution, SciMLSolution}}

A tree node structure to hold individual particle solutions in a branching process.

Fields

  • sol: The solution of the particle associated to this node.

  • children: A vector of child nodes representing offspring particles.

AbstractTrees.childrenFunction
AbstractTrees.children(node::BranchingProcessNode)

Return the children of a BranchingProcessNode.

AbstractTrees.nodevalueFunction
AbstractTrees.nodevalue(node::BranchingProcessNode)

Return the value of a BranchingProcessNode, defined as its final state value.

BranchingProcesses.ReducedBranchingProcessSolutionType
struct ReducedBranchingProcessSolution{T, N, uType, tType, P, A, IType, TransType, RedType, OrigType} <: SciMLBase.AbstractTimeseriesSolution{T, N, uType}

A solution type for the output of reduce_tree. Contains the reduced time series from a branching process tree where values of all particles alive at each time point have been combined using a reduction function.

Fields

  • u: The reduced values at each time point.

  • t: The time points.

  • prob: The original branching problem (optional).

  • alg: Algorithm information (optional).

  • dense: Whether dense output is available.

  • interp: Interpolation object.

  • tslocation: Time series location.

  • retcode: Return code.

  • transform: Transformation function applied to particle values before reduction.

  • reduction: Reduction method used to combine particle values ("sum", "prod", or custom function).

  • original_solution: Original BranchingProcessSolution that was reduced (optional).