Releases: CQCL/lambeq-docs
Releases · CQCL/lambeq-docs
0.5.0-001
0.5.0
Added:
- A new experimental
lambeq.experimental.discocirc
module that contains an efficientlambeq.experimental.discocirc.DisCoCircReader
and all the required functionality for converting long texts and entire multi-paged documents into quantum circuits, based on theDisCoCirc
framework. - A new tree representation of a pregroup diagram, termed
pregroup tree
, is implemented through thelambeq.text2diagram.pregroup_tree.PregroupTreeNode
class. This lays the groundwork for drastically improving the parsing and internal processing of diagrams. - A new experimental end-to-end parser class,
lambeq.text2diagram.OncillaParser
, that simplifies the process of generating diagrams from text, minimizing or even eliminating exposure of the user to CCG representations and functionality. This parser utilises thepregroup tree
representation of diagrams. This does not replaceBobcatParser
as the default parser. - A new
lambeq.backend.grammar.Frame
data structure that allows the recursive grouping oflambeq
boxes and diagrams and can be seen as aquantum supermap
acting on the enclosed arguments. Frames are used inDisCoCirc
diagrams. - A new
lambeq.training.PytorchQuantumModel
class that allows Pytorch autograd to be used on quantum circuits, while so far it was possible to use it only on tensor networks (credit: Kin Ian Lo). - A new native
lambeq.backend.symbol.Symbol
class that eliminates any dependencies with SymPy and improves efficiency. - A new rewrite rule class,
lambeq.rewrite.CollapseDomainRewriteRule
, that converts boxes into domain-less boxes by uncurrying (credit: Kin Ian Lo). - New
lambeq.backend.Diagram.remove_snakes
andlambeq.backend.Diagram.rigid_normal_form
methods that make the specific rewrites also available outside of the originallambeq.backend.Diagram.normal_form
method (credit: Kin Ian Lo). - Caching options for fast access to already computed tensor contraction paths for tensor network models, specifically
PytorchModel
andPytorchQuantumModel
. The constructor of these models now takes atn_path_optimizer
argument, which can be aTnPathOptimizer
object, replicating the old un-cached behaviour, or aCachedTnPathOptimizer
which allows caching of the computed tensor contraction paths for quick lookup. - Support for evaluating mixed-scalar PennyLane circuits, i.e. circuits where all qubits are either discarded or post-selected.
- Two new ansätze from the Sim et al. paper (arXiv:1905.10876),
Sim9Ansatz
andSim9CxAnsatz
. - Support for ancilla qubits in
lambeq
's ansätze.
Changed:
- Significantly improved the efficiency of the
PennyLaneModel
. - Refactored all models so that they do not depend on
tket
as an intermediate step for their conversions. CircuitAnsatz
now acts as a dagger functor (credit: Kin Ian Lo).- Refactored
QuantumModel
to be less numpy-specific and easier to extend with other backends. - Made the split tensor ansätze, i.e.
SpiderAnsatz
andMPSAnsatz
, work on boxes with domains. This utilises the newly-implementedCollapseDomainRewriteRule
(credit: Kin Ian Lo). - Changed the
device
keyword argument for model-based parsers, e.g.BobcatParser
, so that it follows PyTorch convention and supports multiple types. - Added the new
lambeq.text2diagram.OncillaParser
as a parser option to the CLI via the-p oncilla
argument. - Removed the deprecated
lambeq.text2diagram.DepCCGParser
as a parser option from the CLI. - Refactored tokeniser loading from
SpacyTokeniser
into a new utility functionlambeq.core.utils.get_spacy_tokeniser
. - Significantly extended and restructured the documentation pages, fixed various issues, and added more material and tutorials.
- Made
tket
an optional dependency.
Fixed:
- Fixed an enum incompatibility with Python > 3.10.
- Fixed the behaviour of tensoring a type with the identity diagram.
- Fixed a
lambeq.backend.Diagram.lambdify
method error when used with a daggered tensor box (credit: Kin Ian Lo).
0.4.3-007
0.4.3-006
0.4.3-005
0.4.3-004
0.4.3-003
0.4.3-002
0.4.3-001
0.4.3
Changed:
- Documentation has now been moved to a dedicated repository and got a new URL (https://docs.quantinuum.com/lambeq).
- Changed the landing page and some visuals in the online documentation.
- Updated README to reflect the new docs structure.
Fixed:
- Fixed minor issues on some documentation pages and the README file.