april-tools / cirkit

a python framework to build, learn and reason about probabilistic circuits and tensor networks
https://cirkit-docs.readthedocs.io/en/latest/
GNU General Public License v3.0
71 stars 1 forks source link

Scope renaming #181

Open IrwinChay opened 9 months ago

IrwinChay commented 9 months ago

To do the product between circuit with different scope, we first need to have circuits with different scope

Since scope is defined when constructing RGs by numerating from 0 to number_of_input_dimensions (equals to the number of input layers, not the same as num_channels), the scope is always the same when the number of input dimension is the same

So we need to do scope renaming to actually have another circuit with different scope (perhaps after RG creation)

For example, rename scope {0, 1, 2, 3, 4} into {0, 2, 4, 8, 11}