calipy.base

This module provides the CalipyProbModel base class that is useful for representing, modifying, analyzing, and optimizing instrument models based on observed data. Furthermore, this module defines the CalipyDAG, CalipyNode, and CalipyEdge base classes that enable construction of the durected acyclic graph used for model and guide representation.

The classes are

CalipyProbModel: Short for Calipy Probabilistic Model. Base class providing functionality for integrating instruments, effects, and data into one CalipyProbModel object. Allows simulation, inference, and illustration of deep instrument models.

CalipyDAG: Class representing the directed acyclic graph underlying the model or the guide. Contains nodes and edges together with methods of manipulating them and converting them to executable and inferrable models and guides.

CalipyNode: Class representing the nodes in the DAG. This is the base class for data, instruments, effects, and quantities. Contains as attributes its input/output signature and a simulate method. Further methods are related automatically inferring ancestor and descendent nodes as well as incoming and outgoing edges.

CalipyEdge: Class representing the edges in the DAG. This class contains as attributes source and target nodes and a dictionary edge_dict that summarizes the data flow along the edges.

The CalipyProbModel class provides a comprehensive representation of the interactions between instruments and data. It contains several subobjects representing the physical instrument, random and systematic effects originating from instrument or environment, unknown parameters and variables, constraints, and the objective function. All of these subobjects form a probabilistic model that can be sampled and conditioned on measured data. For more information, see the separate documentation entries the CalipyProbModel class, for the subobjects, or the tutorial.

The script is meant solely for educational and illustrative purposes. Written by Dr. Jemil Avers Butt, Atlas optimization GmbH, www.atlasoptimization.com.

Classes

CalipyNode([node_type, node_name, info_dict])

The CalipyNode class provides a comprehensive representation of the data flow and the dependencies between the nodes.

CalipyProbModel([type, name, info])

CalipyProbModel is an abstract base class that integrates the model, guide, and training components for probabilistic models within the Calipy framework.

NodeStructure([node_cls])

NodeStructure class is basis for defining batch_shapes, event_shapes, and plate configurations for a CalipyNode object.