David Wierichs

Results 49 issues of 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...

do not merge :warning:

**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...

review-ready :ok_hand:

**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....

bug :bug:

### 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...

enhancement :sparkles:
intermediate issue :hatched_chick:

**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...