David Wierichs
David Wierichs
**Context:** Finite differences use a shift parameter `h` by which input parameters are shifted. The optimal choice of this parameter (bias-variance tradeoff) is not known a priori, but it is...
**Context:** `param_shift` uses the internal method `_evaluate_gradient`, which mostly consists of logic to take the contraction of tape execution results with the parameter-shift rule coefficients and map it over tuple...
**To do** - [x] Actually implement the custom binding functions - [x] Write the custom binding tests - [x] Write a test that asserts that all modified templates as determined...
**Context:** Shot vectors and multiple measurements are currently explicitly not supported when using `param_shift` with the `broadcast=True` option. In #5666 , a crucial subroutine `_evaluat_gradient` is being prepared to allow...
### Expected behavior The example below should work ### Actual behavior It raises a shape mismatch error ### Additional information It works if `len(shots)=2`, which is not a good sign....
### Feature details The new parameter broadcasting feature does not work together with shot lists yet, i.e. with devices with partitioned shots. To achieve feature parity and increase flexibility when...
**Context:** Gradient methods are still determined using the `grad_method` property of `Operation`s. `CompositeOp` does not inherit from `Operation` and thus has not `grad_method` defined. However, it may occur within a...
**Context:** The prototype already supports calling `qml.adjoint` and `qml.ctrl` on constructed operators. **Description of the Change:** This PR adds support for those two functions called on functions, in the form...
Allows users to do `qml.X(0)` and `qml.X(wires=0)` while having a uniform treatment in the Plexpr of a circuit. Currently it is that we always treat `wires` as kwarg, but we...
**Context:** `GlobalPhase` does not support broadcasting yet. **Description of the Change:** Introduce broadcasting to `GlobalPhase`, using the code from `PauliRot` with `set(pauli_word) == {"I"}`. The latter falls back to the...