pyjuice.nodes.CircuitNodes
- class pyjuice.nodes.CircuitNodes(num_node_blocks: int, region_node: RegionGraph, block_size: int = 0, source_node: CircuitNodes | None = None, **kwargs)
The base class for a vector (block) of circuit nodes that share the same scope and structure. Its concrete subclasses are
InputNodes,ProdNodes, andSumNodes, which are normally created through the construction helpersinputs(),multiply(), andsummate(), respectively.A CircuitNodes represents num_node_blocks blocks of block_size nodes each (i.e., num_node_blocks * block_size nodes in total); using block_size > 1 enables PyJuice’s block-based, GPU-friendly representation. Together, a set of connected CircuitNodes forms the DAG of a PC, whose root is passed to
compile().- __init__(num_node_blocks: int, region_node: RegionGraph, block_size: int = 0, source_node: CircuitNodes | None = None, **kwargs)
Methods
duplicate(*args, **kwargs)get_params(*args, **kwargs)init_parameters([perturbation, recursive, ...])num_parameters([count_input_params, recursive])