An expansion is defined by a generative process (a function) that produces an element, and a parent value used as the argument to the function.
Get the component associated with this element in this collection.
Get the component associated with this element in this collection. Throws an exception if the element is not associated with any component.
Get the component associated with this element in this collection.
Get the component associated with this element in this collection. Throws an exception if the element is not associated with any component.
Get the component associated with this element in this collection.
Get the component associated with this element in this collection. Throws an exception if the element is not associated with any component.
Get the component associated with this element in this collection.
Get the component associated with this element in this collection. Throws an exception if the element is not associated with any component.
Get the component associated with this element in this collection.
Get the component associated with this element in this collection. Throws an exception if the element is not associated with any component.
All the components in the collection, each associated with an element.
Does the element have a component in this collection?
Intermediate variables defined during the construction of factors.
Intermediate variables defined during the construction of factors. These are not associated with any element or component and are to be eliminated wherever they appear.
Ranging strategy for atomic components.
Ranging strategy for atomic components. Initially uses the default non-lazy method that samples infinite atomics.
Indicates whether to create chain factors by decomposing the chain into several factors or a single factor This defaults to false since all the existing code a decomposition
Maps a variable to the parents needed for creating blocks using Gibbs sampling.
Maps a variable to the parents needed for creating blocks using Gibbs sampling. TODO: test if this variable causes memory leaks.
Returns the problem component associated with a particular variable.
Returns the problem component associated with a particular variable. Not valid for intermediate variables.
A collection of problem components. This data structure manages all the components being used in the solution of a top-level problem and its nested subproblems. Every element exists in at most one component. To create a new component for an element, you need to say what problem it belongs to.
This class is intended for models that do not use chain function memoization recursively; for this purpose, use
RecursiveComponentCollection
.