First release of the cirkit library.
Technical release notes:
- multi-level APIs to construct circuits: low level - by manipulating the computational graph - and high level - by using region graphs and templates.
- initial symbolic representation of circuits, parameters and pipelines
- support for a first minimal set of circuit operators: concatenate, evidence, integrate, multiply, differentiate, conjugate
- simple PyTorch compilation backend supporting in-pipeline parameter sharing, folding, computational graph optimizations using a rule-matching procedure, and evaluation using semirings
- PyTorch implementation of bottom-up unconditional sampling and variable marginalization