catalyst
catalyst copied to clipboard
A JIT compiler for hybrid quantum programs in PennyLane
### Before submitting Please complete the following checklist when submitting a PR: - [ ] All new functions and code must be clearly commented and documented. - [ ] Ensure...
`make format` and CI format checker should leave an empty line at the end of all source files (both python and cpp), but it currently does not
There are two potential issues here, both associated with `qml.StatePrep`. ## `qml.StatePrep` should not be decomposed when used with Lightning. Lightning natively supports preparing a quantum state via `qml.StatePrep` directly...
**Context:** `MidCircuitMeasure` inherits `HybridOp` but only relies on its tracing functionality and nothing else, but also contains a lot of attributes that make it more appropriate for it to be...
**Context:** Added a tutorial for writing an empty pass boilerplate in the `catalyst` dialect that prints out hello world. The boilerplate code is on branch `docs/new-pass-tutorial` in commit https://github.com/PennyLaneAI/catalyst/commit/a857655b2f7afef6de19cdc1faaa226243e0bb58 **Benefits:**...
#### Issue description * *Actual behavior:* Right now, the gradient method is a StringAttr, but it would be better to have an EnumAttr.
```py import jax.numpy as jnp import pennylane as qml from catalyst import * @qml.qnode(dev, mcm_method="one-shot") def circuit(): qml.Hadamard(wires=0) qml.CNOT(wires=[0, 1]) qml.Hadamard(wires=0) qml.CNOT(wires=[0, 1]) qml.Hadamard(wires=0) return qml.expval(qml.PauliY(0)) @qjit def mitigated_circuit(): s...
#### Issue description Specifying `mcm_method="one-shot"` when no MCMs are present in a qjit'd QNode raises an error when the return type is an iterable. * *Expected behavior:* Expect `mcm_method="one-shot"` to...
**Context:** Precommit hooks make it easier to follow black, pylint, and isort checks as they are run whenever a developer tries to commit changes. This eliminates the back-and-forth with the...
**Context:** This PR adds a document describing the Jax dynamic API and the Catalyst-specific extensions to it. **Description of the Change:** **Benefits:** **Possible Drawbacks:** **Related GitHub Issues:** * https://github.com/PennyLaneAI/catalyst/pull/775 *...