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...
**Context:** Sometimes we might need to develop our own library in MLIR which is not suitable for testing via passes. **Description of the Change:** Add support for adding unittests for...
PennyLane added the [`qml.Snapshot`](https://docs.pennylane.ai/en/stable/code/api/pennylane.Snapshot.html) operation in [Release 0.22.0](https://docs.pennylane.ai/en/stable/development/release_notes.html#release-0-22-0), which saves the internal state of devices at arbitrary points of execution. For example: ```python import pennylane as qml NUM_QUBITS = 2...
#### Issue description Pennylane catalyst does not support the last cuda-quantum version (0.8.0) which includes [fixes on several GPU and cuda issues](https://github.com/NVIDIA/cuda-quantum/releases). * *Expected behavior:* (What you expect to happen)...
* *Expected behavior:* In `pytest/test_transform.py`, when changing `@sum_expand` in `TestSumExpand` to `@qml.transforms.split_non_commuting` as suggested by the warning, I expect the tree def to remain the same. * *Actual behavior:* A...
**Context:** It seems installing Python devel packages at some steps of the workflow is not necessary. **Description of the Change:** Remove package installation. **Benefits:** Remove useless dependencies.
#### Issue description Trying to use `qml.qchem.molecular_hamiltonian` inside of a callback and it's not working. * *Expected behavior:* I expect that generating a `Hamiltonian` in a callback should be possible...
#### Issue description using grad does not work when using dynamic one-shot. * *Actual behavior:* Crash happens in the following code: ``` @qml.qnode(dev, diff_method="best", mcm_method="one-shot") def f(x: float): qml.RX(x, wires=0)...
For example, ```python >>> qjit(jax.scipy.linalg.expm)(x) TypeError: Argument 'ArrayLike' of type is not a valid JAX type ``` The same JAX function works fine when used within a defined function that...
The new gradient verification is slightly too overzealous, and won't allow circuits to be differentiated even when the operation which is not supported for differentiation is not being differentiated: ```python...