UPDATE: corrected EFProductReparam
and functional.py
and is_compatible() in region_graph.py (added: do not check compatibility when a partition is included in another partition)
Tests for same scope product added
partition function for product added
TODO: fix reset_parameters, only reset the current level parameters, instead of "deep reset"
(Current version: all parameters would be re-initialized whenever product is called)
TODO: in prod_ef.py, need to support product of multiple circuits, which is just extending ef1 and ef2 into a list of efs
TODO: To actually support different scope product, we need scope renaming (urgent), e.g. circuit_1 have scope {0,1,2,3}; circuit_2 have scope {0,1,4,5};
, e.g. forward() in tensorized_circuit.py, currently it is indexing by scope (so not supporting circuit with scope {0,1,4,5})
Better to discuss the class structure since it includes modifying a couple things
UPDATE: corrected
EFProductReparam
andfunctional.py
andis_compatible()
inregion_graph.py
(added: do not check compatibility when a partition is included in another partition)Tests for same scope product added partition function for product added
TODO: fix
reset_parameters
, only reset the current level parameters, instead of "deep reset" (Current version: all parameters would be re-initialized whenever product is called)TODO: in
prod_ef.py
, need to support product of multiple circuits, which is just extending ef1 and ef2 into a list of efsTODO: To actually support different scope product, we need scope renaming (urgent), e.g. circuit_1 have scope {0,1,2,3}; circuit_2 have scope {0,1,4,5}; , e.g.
forward()
intensorized_circuit.py
, currently it is indexing by scope (so not supporting circuit with scope {0,1,4,5}) Better to discuss the class structure since it includes modifying a couple thingsTODO: add to pyproject.toml in test.py