Skip to content

cirkit 0.2.0

Latest
Compare
Choose a tag to compare
@loreloc loreloc released this 17 Dec 18:23
· 2 commits to main since this release

Release Notes

Documentation changes

#294 #303 #304 #323 Improved overall documentation, both high level (on the readthedocs website) and low level (docstrings)
#328 Added notebook about instantiating and learning a generative circuit classifier for MNIST images, which also showcase variable marginalization for robust classification in presence of missing features

New features

#312 Implemented logic circuits and the parsing of sentential decision diagrams (SDDs) from the PySDD library
#292 Perform batched variable marginalization by specifying a marginalization mask
#312 Added routine to graphically plot symbolic circuits
#309 Simplified overall symbolic representation by having a single sum layer that generalizes the previous dense and mixing layers
#324 Added the CP tensor factorization as circuit construction template

Additional new features

#300 The image data circuit instantiation template now supports Gaussians as input distributions
#325 Added more flexibility in the circuit construction templates by specifying additional hyperparameters arguments to the Parameterization data class
#316 The correctness and consistency of the symbolic representation is now checked before compilation
#313 Added indexed Categorical and embedding implementations, which are generally faster and more memory efficient than the previously one based on one hot encoding followed by an einsum
#330 Added optimization rule replacing kronecker products followed by sum in parameters into einsum

Bug fixes

#311 #319 Fixed NaNs arising from the implementations of Categorical and sum layers when the evaluation is in the log-space
#306 Fixed the region graph to circuit template method as to ensure circuits built with CP layers have a sum as output layer

Library management

#329 Updated requirements, now allowing numpy 2.x versions. Plus, add opt_einsum for possibly faster einsums

Detailed Release Notes (automatically generated)

New Contributors

Full Changelog: 0.1.0...0.2.0