Skip to content

Conversation

@qwriter
Copy link
Contributor

@qwriter qwriter commented Sep 22, 2025

This PR includes the following updates:

  • Add Python script that approximates h-gain waveforms filtered by the Advantage and Advantage2 system's low-pass filters.
  • For better visibility of setting time-dependent gain for qubit biases, move much of the content from the description of the h_gain_schedule solver parameter to a new section in the QPU annealing topic.
  • Remove note stating that the h_gain_schedule solver parameter is experimental only.
  • Add references to papers that set time-dependent gain for qubit biases.

Question: Does the footnote about the supported slope still apply? (see this comment.)

The HTML for the h_gain_schedule solver parameter is here.

The HTML for the new section is here.

@qwriter qwriter marked this pull request as draft September 22, 2025 23:35
@JoelPasvolsky JoelPasvolsky self-requested a review September 22, 2025 23:52
Copy link
Collaborator

@JoelPasvolsky JoelPasvolsky left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment made before you switched to draft. Will review in full once it becomes a non-draft PR again.

@qwriter qwriter self-assigned this Sep 25, 2025
@qwriter qwriter marked this pull request as ready for review September 25, 2025 22:07
==============================================

Time-dependent gain for qubit biases can be used with the standard-anneal
protocol and reverse annealing ([Vod2025]_, [Pel2023]_).
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This introductory sentence starts off with (non)limitations on the feature instead of what the feature is. Compare for example with the nice intro sentence in Pel2023:

Image

We standardly start with an intro that gives the why of a feature rather than the how, and should do so here too.


Time-dependent gain for qubit biases can be used with the standard-anneal
protocol and reverse annealing ([Vod2025]_, [Pel2023]_).
The :ref:`parameter_qpu_h_gain_schedule` parameter is applied to qubit
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are two alternatives for feature descriptions in the Annealing Implementation and Controls that seem to me to follow good practices:

  1. Single source these details
  2. Refer users to h-gain-schedule parameter for the details; e.g., "For details on how to set h-gain for a problem, see the h-gain-schedule parameter"

Having two copies of these details, here and under h-gain-schedule parameter, risks discrepancies and adds maintenance costs.

Currently the Varying the Global Anneal Schedule section follows alternative 1, single sourcing the details with the anneal_schedule parameter. I actually think alternative 2 is better: the Annealing Implementation and Controls should explain what these features are used for and provide technical implementation details while the Solver Parameters section should specify usage rules. The former is for learning about the features and its hardware; the latter is a reference page for programmers.


Approximating the Filtered h-gain Waveform
------------------------------------------

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The first sentence under this section (or a sentence before this section) needs to explain why we're talking about a filtered waveform:

The I/O system that delivers the h-controlling waveform to a QPU limits bandwidth using a low-pass filter; if you configure a too-rapidly changing curve, even within the supported bounds, expect distorted values of h for your problem

Approximating the Filtered h-gain Waveform
------------------------------------------

In this sample Python script, the method ``approximate_filtered_h_gain``
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Consider the following structure for this section (rough draft). My concern with the current structure is that we have a very long section taken up with code to produce information unneeded by most researchers reading the Annealing Implementation and Controls, which is the critical physics page. To me it makes sense that for the occasional researcher who needs to get the filtered waveform, they can open a dropdown for the code.

QPU-Executed Schedule

A sentence here about how the input (nominal) schedule is filtered by the I/O and so the schedule executed on the QPU is bandwidth limited, as shown in the figure below.

Image

You can use the provided script to approximate the schedule executed on the QPU.

.. dropdown:: Approximating the Filtered h-gain Waveform

    Here comes the script.

>>> from scipy import signal
>>> import warnings
>>>
>>> def approximate_filtered_h_gain (pwl, bandwidth):
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Forgot: we should make a PR to add this function to dwave-system, and once that is in the SDK, we would just refer to it here.

@qwriter qwriter requested a review from dwave-msamani October 15, 2025 00:52
@qwriter qwriter force-pushed the doc-712 branch 2 times, most recently from 8e927e1 to bdc7c77 Compare October 30, 2025 22:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants