pyjuice.nodes
Nodes
The base class for a vector (block) of circuit nodes that share the same scope and structure. |
|
A class representing vectors of input nodes. |
|
A class representing vectors of product nodes. |
|
A class representing vectors of sum nodes. |
Methods
Traverse all nodes of a PC and can a specific function. |
|
Traverse all nodes of a PC bottom-up and aggregate a per-node object. |
Edge Constructors
Helpers that build structured (block-diagonal or block-sparse) edge patterns, passed as the
edge_ids argument of summate().
|
An edge constructor that connects sum and child node blocks in a one-to-one (block-diagonal) pattern: the i-th sum node block is connected only to the i-th child node block. |
|
An edge constructor that connects every sum node block to num_chs_per_block randomly chosen child node blocks, yielding a block-sparse (rather than fully-connected) sum layer. |
Input Distributions
A class representing Bernoulli distributions. |
|
A class representing Categorical distributions. |
|
A class representing Discrete Logistic distributions. |
|
A class representing Gaussian distributions. |
|
A class representing Categorical distributions with masks. |
|
A class representing Literal (indicator) distributions. |
|
A class representing Indicator distributions. |
|
A class representing a Categorical distribution that allows external soft evidence. |
|
A class representing an Indicator distribution that allows external soft evidence. |
|
A class representing user-define distributions (PyJuice only processes the incoming log-probabilities). |
|
A class representing a product distribution of two Categorical distributions: Pr_{A} * Pr_{B}. |