catalyst
catalyst copied to clipboard
A JIT compiler for hybrid quantum programs in PennyLane
**Context:** **Description of the Change:** Add support for updating dependencies through commit hash **Benefits:** **Possible Drawbacks:** **Related GitHub Issues:**
**Context:** `shape_dtype_to_ir_type` causes a warning since it is deprecated. **Description of the Change:** use the underlying method instead **Benefits:** get rid of warnings in the CI
**Context:** The current `--ppm-specs` pass provides informative specs on a circuit related to ppr/ppm components, such as ppr operation count. This work extends that to include non-ppr/ppm operations, such as...
```python qml.capture.enable() @qjit @qml.qnode(qml.device("lightning.qubit", wires=1)) def test(c: bool): qml.cond(c, qml.X(0)) return qml.probs() print(test(True), test(False)) print(test.mlir) ``` ``` [0. 1.] [0. 1.] module @module_test { func.func public @test(%arg0: tensor) -> tensor...
``` @qml.qjit() @partial(qml.transforms.clifford_t_decomposition, method="gridsynth") @qml.qnode(qml.device('lightning.qubit', wires=1)) def c(): qml.H(0) #qml.RZ(x, 0) qml.RZ(0.5, 0) return qml.expval(qml.X(0)) @qml.qjit() @partial(qml.transforms.clifford_t_decomposition, method="gridsynth") @qml.qnode(qml.device('lightning.qubit', wires=1)) def c2(x): qml.RZ(x, 0) return qml.expval(qml.X(0)) c2(0.5) ``` If one...
Minor nitpick in our documentation for [catalyst.pipeline](https://docs.pennylane.ai/projects/catalyst/en/stable/code/api/catalyst.pipeline.html) which says > Note: As of Python 3.7, the CPython dictionary implementation orders dictionaries based on insertion order. However, for an API guarantee...
Catalyst no longer uses the [`mlir-hlo`](https://github.com/tensorflow/mlir-hlo) package, but we still reference it in a number of places in our docs, e.g. https://github.com/PennyLaneAI/catalyst/blob/9376631b57b62d0153950142b8087baa807b6b9d/doc/dev/architecture.rst?plain=1#L154 https://github.com/PennyLaneAI/catalyst/blob/9376631b57b62d0153950142b8087baa807b6b9d/doc/dev/installation.rst#L242 https://github.com/PennyLaneAI/catalyst/blob/9376631b57b62d0153950142b8087baa807b6b9d/doc/dev/installation.rst#L295-L296 https://github.com/PennyLaneAI/catalyst/blob/9376631b57b62d0153950142b8087baa807b6b9d/doc/dev/installation.rst#L300-L301 https://github.com/PennyLaneAI/catalyst/blob/9376631b57b62d0153950142b8087baa807b6b9d/doc/dev/debugging.rst#L209-L210 The docs should be...
The current implementation of dynamic qubit allocation uses the python id of the qreg tracer as the global wire index of the allocated qubits #2002 Essentially, I was trying to...
**Context:** Original PR: https://github.com/PennyLaneAI/catalyst/pull/1928#issue-3251031857 **Description of the Change:** When running a quantum circuit on a hardware with certain connectivity constraints, two-qubit gates like CNOTs can only be executed using physical...
**Context:** **Description of the Change:** When running a quantum circuit on a hardware with certain connectivity constraints, two-qubit gates like CNOTs can only be executed using physical qubits that are...