Distributions & forward contexts

PDF/CDF/PMF, Laplace transform, normalization, and the forward-stepping probability-distribution contexts.

Functions

Name Description
ptd_normalize_graph
ptd_dph_normalize_graph
ptd_graph_as_phase_type_distribution
ptd_phase_type_distribution_destroy
ptd_probability_distribution_context_create
ptd_probability_distribution_context_destroy
ptd_probability_distribution_step
ptd_dph_probability_distribution_context_create
ptd_dph_probability_distribution_context_destroy
ptd_dph_probability_distribution_step
ptd_graph_laplace_transform Creates a Laplace-transformed graph.

ptd_normalize_graph

double * ptd_normalize_graph(struct ptd_graph *graph)

ptd_dph_normalize_graph

double * ptd_dph_normalize_graph(struct ptd_graph *graph)

ptd_graph_as_phase_type_distribution

struct ptd_phase_type_distribution * ptd_graph_as_phase_type_distribution(struct ptd_graph *graph)

ptd_phase_type_distribution_destroy

void ptd_phase_type_distribution_destroy(struct ptd_phase_type_distribution *ptd)

ptd_probability_distribution_context_create

struct ptd_probability_distribution_context * ptd_probability_distribution_context_create(struct ptd_graph *graph, int64_t granularity)

ptd_probability_distribution_context_destroy

void ptd_probability_distribution_context_destroy(struct ptd_probability_distribution_context *context)

ptd_probability_distribution_step

int ptd_probability_distribution_step(struct ptd_probability_distribution_context *context)

ptd_dph_probability_distribution_context_create

struct ptd_dph_probability_distribution_context * ptd_dph_probability_distribution_context_create(struct ptd_graph *graph)

ptd_dph_probability_distribution_context_destroy

void ptd_dph_probability_distribution_context_destroy(struct ptd_dph_probability_distribution_context *context)

ptd_dph_probability_distribution_step

int ptd_dph_probability_distribution_step(struct ptd_dph_probability_distribution_context *context)

ptd_graph_laplace_transform

struct ptd_clone_res ptd_graph_laplace_transform(struct ptd_graph *graph, struct ptd_avl_tree *avl_tree, double theta)

Creates a Laplace-transformed graph.

Returns a new graph where each transient state has an additional edge to the absorbing state with weight theta (or theta added to existing absorbing edge weight). This transformation allows computing the Laplace transform L(theta) = E[exp(-theta * T)] via expectation() on the result.

Parameters:

  • graph — The phase-type graph
  • avl_tree — The AVL tree for vertex lookup
  • theta — The Laplace transform parameter

Returns: A clone result containing the transformed graph and its AVL tree