# Parameter shift rules for generel CV circuits

**URL:** <https://discuss.pennylane.ai/t/parameter-shift-rules-for-generel-cv-circuits/9141>\
**Category:** PennyLane Development\
**Created:** [December 11, 2025, 2:29am UTC](https://discuss.pennylane.ai/t/parameter-shift-rules-for-generel-cv-circuits/9141 "2025-12-11T02:29:31Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![Amanuel](https://yyz2.discourse-cdn.com/flex012/user_avatar/discuss.pennylane.ai/amanuel/32/4223_2.png) [@Amanuel](https://discuss.pennylane.ai/u/Amanuel)\
**Post date:** [December 11, 2025, 2:29am UTC](https://discuss.pennylane.ai/t/parameter-shift-rules-for-generel-cv-circuits/9141/1 "2025-12-11T02:29:31Z")

</div>

In this work [https://journals.aps.org/pra/abstract/10.1103/PhysRevA.99.032331](https://journals.aps.org/pra/abstract/10.1103/PhysRevA.99.032331) it was shown that parameter shift rules can be used to compute gradients in CV quantum circuits that have a logarithmic number of non-Gaussian gates. Are there parameter shift rules for quantum circuits with arbitrary numbers of non-Gaussian gates? And does pennylane provide them?

---

<div class="post-metadata">

**Author:** ![CatalinaAlbornoz](https://yyz2.discourse-cdn.com/flex012/user_avatar/discuss.pennylane.ai/catalinaalbornoz/32/1196_2.png) [@CatalinaAlbornoz](https://discuss.pennylane.ai/u/CatalinaAlbornoz)\
**Post date:** [December 11, 2025, 10:20pm UTC](https://discuss.pennylane.ai/t/parameter-shift-rules-for-generel-cv-circuits/9141/2 "2025-12-11T22:20:44Z")

</div>

Hi @Amanuel ,

The general answer is “yes” but in practice there may be some caveats (edit: this is not generally true for non-Gaussian gates). For example if you add too many gates you’ll run out of memory on your computer.

You can see the supported CV gates [here](https://docs.pennylane.ai/en/stable/introduction/operations.html#continuous-variable-cv-operators).

The compatibility with other parts of PennyLane may also be patchy. Parameter shift rules are indeed defined for these operations, but other newer features may not be compatible. I would encourage you to start with a small example and see if it fits your needs.

Let us know if this works for you or if you run into any issues along the way!

---

<div class="post-metadata">

**Author:** ![Amanuel](https://yyz2.discourse-cdn.com/flex012/user_avatar/discuss.pennylane.ai/amanuel/32/4223_2.png) [@Amanuel](https://discuss.pennylane.ai/u/Amanuel)\
**Post date:** [December 11, 2025, 10:48pm UTC](https://discuss.pennylane.ai/t/parameter-shift-rules-for-generel-cv-circuits/9141/3 "2025-12-11T22:48:29Z")

</div>

Thank you for the reply @CatalinaAlbornoz this is good to know! Do you know if there is there a paper that outlines how parameter shift rules are defined for these non-Gaussian gates? Or is the original paper I linked what the PennyLane code is based on?

---

<div class="post-metadata">

**Author:** ![CatalinaAlbornoz](https://yyz2.discourse-cdn.com/flex012/user_avatar/discuss.pennylane.ai/catalinaalbornoz/32/1196_2.png) [@CatalinaAlbornoz](https://discuss.pennylane.ai/u/CatalinaAlbornoz)\
**Post date:** [December 12, 2025, 9:43pm UTC](https://discuss.pennylane.ai/t/parameter-shift-rules-for-generel-cv-circuits/9141/4 "2025-12-12T21:43:05Z")

</div>

Hi @Amanuel ,

Actually in answering your question I realized that some non-Gaussian gates don’t have gradient recipes. I’m not sure if this is the case for all of them but if you go to the docs of the different CV gates listed [here](https://docs.pennylane.ai/en/stable/introduction/operations.html#continuous-variable-cv-operators) you’ll see that some (such as [Beamsplitter](https://docs.pennylane.ai/en/stable/code/api/pennylane.Beamsplitter.html)) define the gradient recipe in the docs, but others (like [Kerr](https://docs.pennylane.ai/en/stable/code/api/pennylane.Kerr.html)) say that there’s no recipe hence finite-differences are used instead when running on hardware for example.

Thanks again for the follow-up question and I’m sorry for the mistake before.

---

<div class="post-metadata">

**Author:** ![Amanuel](https://yyz2.discourse-cdn.com/flex012/user_avatar/discuss.pennylane.ai/amanuel/32/4223_2.png) [@Amanuel](https://discuss.pennylane.ai/u/Amanuel)\
**Post date:** [December 12, 2025, 9:49pm UTC](https://discuss.pennylane.ai/t/parameter-shift-rules-for-generel-cv-circuits/9141/5 "2025-12-12T21:49:36Z")

</div>

Thanks @CatalinaAlbornoz this is incredibly helpful!

---

<div class="post-metadata">

**Author:** ![Amanuel](https://yyz2.discourse-cdn.com/flex012/user_avatar/discuss.pennylane.ai/amanuel/32/4223_2.png) [@Amanuel](https://discuss.pennylane.ai/u/Amanuel)\
**Post date:** [January 30, 2026, 9:44pm UTC](https://discuss.pennylane.ai/t/parameter-shift-rules-for-generel-cv-circuits/9141/6 "2026-01-30T21:44:34Z")

</div>

Hi @CatalinaAlbornoz I had a follow up question on this. Do these parameter shift rules work when there is loss in the quantum circuit? The original [paper](https://journals.aps.org/pra/abstract/10.1103/PhysRevA.99.032331) which proposed them does not seem to discuss this and neither do the docs from what I can find.

---

<div class="post-metadata">

**Author:** ![CatalinaAlbornoz](https://yyz2.discourse-cdn.com/flex012/user_avatar/discuss.pennylane.ai/catalinaalbornoz/32/1196_2.png) [@CatalinaAlbornoz](https://discuss.pennylane.ai/u/CatalinaAlbornoz)\
**Post date:** [February 3, 2026, 2:51am UTC](https://discuss.pennylane.ai/t/parameter-shift-rules-for-generel-cv-circuits/9141/7 "2026-02-03T02:51:04Z")

</div>

Hi @Amanuel , let me check and get back to you on this.

---

<div class="post-metadata">

**Author:** ![CatalinaAlbornoz](https://yyz2.discourse-cdn.com/flex012/user_avatar/discuss.pennylane.ai/catalinaalbornoz/32/1196_2.png) [@CatalinaAlbornoz](https://discuss.pennylane.ai/u/CatalinaAlbornoz)\
**Post date:** [February 19, 2026, 11:22pm UTC](https://discuss.pennylane.ai/t/parameter-shift-rules-for-generel-cv-circuits/9141/8 "2026-02-19T23:22:08Z")

</div>

Hi @Amanuel , I’ve got an answer for you!

> Do these parameter shift rules work when there is loss in the quantum circuit?

Probably yes. However, the gradients you get will be the gradients of the physical circuit with loss, not the ideal circuit without loss.

I hope this helps!

---

<div class="post-metadata">

**Author:** ![Amanuel](https://yyz2.discourse-cdn.com/flex012/user_avatar/discuss.pennylane.ai/amanuel/32/4223_2.png) [@Amanuel](https://discuss.pennylane.ai/u/Amanuel)\
**Post date:** [February 19, 2026, 11:39pm UTC](https://discuss.pennylane.ai/t/parameter-shift-rules-for-generel-cv-circuits/9141/9 "2026-02-19T23:39:42Z")

</div>

Thank you @CatalinaAlbornoz!

---

<div class="post-metadata">

**Author:** ![CatalinaAlbornoz](https://yyz2.discourse-cdn.com/flex012/user_avatar/discuss.pennylane.ai/catalinaalbornoz/32/1196_2.png) [@CatalinaAlbornoz](https://discuss.pennylane.ai/u/CatalinaAlbornoz)\
**Post date:** [February 20, 2026, 1:33am UTC](https://discuss.pennylane.ai/t/parameter-shift-rules-for-generel-cv-circuits/9141/10 "2026-02-20T01:33:30Z")

</div>

No problem @Amanuel, thanks for asking your questions here!
