Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

sync master to dev #1160

Closed
wants to merge 27 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
1555d29
Merge changes from dev to master (#1092)
astralcai May 7, 2024
477ef73
Update tutorial_intro_amplitude_amplification.py (#1095)
KetpuntoG May 8, 2024
f9df21d
Changing Codebook references in content to PennyLane Codebook (#1100)
ikurecic May 14, 2024
44191b2
Add MCM introduction to master branch (#1105)
dwierichs May 16, 2024
3309266
Add covalent to metadata schema (#1102)
doctorperceptron May 16, 2024
25e2586
QCBM Tutorial (#1053)
Gopal-Dahale May 22, 2024
790093e
Update tutorial_qcbm.metadata.json (#1114)
KetpuntoG May 23, 2024
8b5c54b
Add Run on Covalent button to Univariate demo (#1112)
josh146 May 23, 2024
94563bf
Covalent cloud demo (#1115)
josh146 May 29, 2024
a9151f6
Update tutorial_lcu_blockencoding.py (#1122)
KetpuntoG May 31, 2024
9a60300
Lie-sim demo (#1085)
Qottmann Jun 7, 2024
026cc47
Fix path in figure inclusion syntax (#1128)
ikurecic Jun 11, 2024
bdc574c
Notebook converter fix (#1126)
ikurecic Jun 13, 2024
364a5a7
Fix for installation of torch and torchvision on macOS (#1125)
austingmhuang Jun 17, 2024
24bf0ec
Updating poetry.lock (#1131)
ikurecic Jun 18, 2024
a32d925
[WIP] [g-sim 3] (g + P)-sim (#1118)
Qottmann Jun 18, 2024
418519f
updating image (#1136)
KetpuntoG Jun 21, 2024
fd2c4cc
Update old Codebook links and mentions on pennylane.ai (#1138)
ikurecic Jun 24, 2024
409865b
[sc-63358] How to use Qiskit 1.0 with PennyLane (#1104)
isaacdevlugt Jul 2, 2024
75de260
Updating large thumbnail to recent Qiskit demo (#1139)
ikurecic Jul 3, 2024
2202527
Updated large thumbnail for Qiskit demo (#1141)
ikurecic Jul 3, 2024
8496380
exclude `demonstrations_categories.metadata.json` from `upload-text` …
michaelvu97 Jul 3, 2024
ddc7f6e
In-equation syntax in parshift Demo fix (#1149)
ikurecic Jul 5, 2024
0c31674
Sync dev to master (#1155)
astralcai Jul 9, 2024
4296c5b
(Offline) Qrack tutorial (#1142)
WrathfulSpatula Jul 10, 2024
c37f6a4
Fixing link typo (#1157)
ikurecic Jul 10, 2024
951f206
Fixing ref behavior in demo (#1158)
ikurecic Jul 10, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/update-metadata-reminder.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
repo: context.repo.repo,
body: `👋 Hey, looks like you've updated some demos!

🐘 Don't forget to update the \`dateOfLastModification\` in the associated metadata files so your changes show up on [pennylane.ai](https://pennylane.ai).
🐘 Don't forget to update the \`dateOfLastModification\` in the associated metadata files so your changes are reflected in Glass Onion (search and recommendations).

Please hide this comment once the field(s) are updated. Thanks!`
})
7 changes: 5 additions & 2 deletions .github/workflows/upload-text.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,8 +51,11 @@ jobs:
path: qml_text

- name: Copy Concatenated Metadata into Build
run: |
jq -s . $(find demonstrations -name "*.metadata.json" -type f) > ${{ steps.qml_text.outputs.download-path }}/demos/metadata.json
run: >
jq -s .
$(find demonstrations -name "*.metadata.json" -type f
! -name "demonstrations_categories.metadata.json")
> ${{ steps.qml_text.outputs.download-path }}/demos/metadata.json

- name: Upload
uses: XanaduAI/cloud-actions/push-to-s3-and-invalidate-cloudfront@main
Expand Down
1 change: 1 addition & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -77,5 +77,6 @@ environment:
$$PYTHON_VENV_PATH/bin/python -m pip install --upgrade git+https://github.com/PennyLaneAI/pennylane-cirq.git#egg=pennylane-cirq;\
$$PYTHON_VENV_PATH/bin/python -m pip install --upgrade git+https://github.com/PennyLaneAI/pennylane-qiskit.git#egg=pennylane-qiskit;\
$$PYTHON_VENV_PATH/bin/python -m pip install --upgrade git+https://github.com/PennyLaneAI/pennylane-qulacs.git#egg=pennylane-qulacs;\
$$PYTHON_VENV_PATH/bin/python -m pip install -i https://test.pypi.org/simple/ PennyLane-Lightning --pre --upgrade;\
fi;\
fi
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ quantum computing paper/result.

```python
##############################################################################
#.. figure:: ../_static/demonstrations_assets/<demo name>/image.png
#.. figure:: ../_static/demonstration_assets/<demo name>/image.png
# :align: center
# :width: 90%
```
Expand Down
Binary file added _static/authors/ara_ghukasyan.jpeg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 6 additions & 0 deletions _static/authors/ara_ghukasyan.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
.. bio:: Ara Ghukasyan
:photo: ../_static/authors/ara_ghukasyan.jpeg

Ara is a Research Software Engineer at Agnostiq Inc. He has a B.Sc. in Math & Physics and a Ph.D. in Engineering Physics from McMaster University in Hamilton, Ontario. Ara’s interests include machine learning, physics, and quantum computing.


Binary file added _static/authors/dan_strano.jpeg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions _static/authors/dan_strano.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
.. bio:: Dan Strano
:photo: ../_static/authors/dan_strano.jpeg

Dan Strano is a technical staff member at Unitary Fund. Additionally, he has been the lead author of the Qrack simulator framework since 2017.
Binary file added _static/authors/diksha_dhawan.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions _static/authors/diksha_dhawan.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
.. bio:: Diksha Dhawan
:photo: ../_static/authors/diksha_dhawan.png

Diksha is a quantum software developer at Xanadu. Her work is focused on implementing quantum computing algorithms for quantum chemistry.
Binary file added _static/authors/gopal_ramesh_dahale.jpeg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions _static/authors/gopal_ramesh_dahale.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
.. bio:: Gopal Ramesh Dahale
:photo: ../_static/authors/gopal_ramesh_dahale.jpeg

Gopal is a quantum research software engineer at Qkrishi and a Qiskit advocate interested in applications of quantum computing in machine learning, chemistry and combinatorial optimization problems.
Binary file added _static/authors/isaac_de_vlugt.jpeg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions _static/authors/isaac_de_vlugt.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
.. bio:: Isaac De Vlugt
:photo: ../_static/authors/isaac_de_vlugt.jpeg

Isaac De Vlugt is a Quantum Scientist on the Product team at Xanadu. His work involves creating accessible quantum computing content and PennyLane features for the community, as well as spamming GIFs in our Slack channels.
Binary file added _static/authors/pietropaolo_frisoni.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions _static/authors/pietropaolo_frisoni.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
.. bio:: Pietropaolo Frisoni
:photo: ../_static/authors/pietropaolo_frisoni.jpg

Pietropaolo is a quantum software developer at Xanadu. His background is in theoretical physics and quantum gravity, with a focus on scientific computing.
Binary file modified _static/demonstration_assets/adjoint_diff/scaling.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
21 changes: 13 additions & 8 deletions _static/demonstration_assets/barren_gadgets/barren_gadgets.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
import pennylane as qml
from pennylane import numpy as np

def non_identity_obs(obs):
return [o for o in obs if not isinstance(o, qml.Identity)]

class PerturbativeGadgets:
""" Class to generate the gadget Hamiltonian corresponding to a given
Expand Down Expand Up @@ -28,12 +30,13 @@ def gadgetize(self, Hamiltonian, target_locality=3):
# checking for unaccounted for situations
self.run_checks(Hamiltonian, target_locality)
computational_qubits, computational_locality, computational_terms = self.get_params(Hamiltonian)
Hamiltonian_coeffs, Hamiltonian_ops = Hamiltonian.terms()

# total qubit count, updated progressively when adding ancillaries
total_qubits = computational_qubits
#TODO: check proper convergence guarantee
gap = 1
perturbation_norm = np.sum(np.abs(Hamiltonian.coeffs)) \
perturbation_norm = np.sum(np.abs(Hamiltonian_coeffs)) \
+ computational_terms * (computational_locality - 1)
lambda_max = gap / (4 * perturbation_norm)
l = self.perturbation_factor * lambda_max
Expand All @@ -44,7 +47,7 @@ def gadgetize(self, Hamiltonian, target_locality=3):
obs_anc = []
obs_pert = []
ancillary_register_size = int(computational_locality / (target_locality - 2))
for str_count, string in enumerate(Hamiltonian.ops):
for str_count, string in enumerate(Hamiltonian_ops):
previous_total = total_qubits
total_qubits += ancillary_register_size
# Generating the ancillary part
Expand All @@ -54,10 +57,10 @@ def gadgetize(self, Hamiltonian, target_locality=3):
# Generating the perturbative part
for anc_q in range(ancillary_register_size):
term = qml.PauliX(previous_total+anc_q) @ qml.PauliX(previous_total+(anc_q+1)%ancillary_register_size)
term = qml.operation.Tensor(term, *string.non_identity_obs[
term = qml.prod(term, *non_identity_obs(string.operands)[
(target_locality-2)*anc_q:(target_locality-2)*(anc_q+1)])
obs_pert.append(term)
coeffs_pert += [l * sign_correction * Hamiltonian.coeffs[str_count]] \
coeffs_pert += [l * sign_correction * Hamiltonian_coeffs[str_count]] \
+ [l] * (ancillary_register_size - 1)
coeffs = coeffs_anc + coeffs_pert
obs = obs_anc + obs_pert
Expand All @@ -77,12 +80,13 @@ def get_params(self, Hamiltonian):
computational_terms (int) : number of terms in the sum
composing the Hamiltonian
"""
_, Hamiltonian_ops = Hamiltonian.terms()
# checking how many qubits the Hamiltonian acts on
computational_qubits = len(Hamiltonian.wires)
# getting the number of terms in the Hamiltonian
computational_terms = len(Hamiltonian.ops)
computational_terms = len(Hamiltonian_ops)
# getting the locality, assuming all terms have the same
computational_locality = max([len(Hamiltonian.ops[s].non_identity_obs)
computational_locality = max([len(non_identity_obs(Hamiltonian_ops[s]))
for s in range(computational_terms)])
return computational_qubits, computational_locality, computational_terms

Expand All @@ -96,6 +100,7 @@ def run_checks(self, Hamiltonian, target_locality):
Returns:
None
"""
_, Hamiltonian_ops = Hamiltonian.terms()
computational_qubits, computational_locality, _ = self.get_params(Hamiltonian)
computational_qubits = len(Hamiltonian.wires)
if computational_qubits != Hamiltonian.wires[-1] + 1:
Expand All @@ -104,8 +109,8 @@ def run_checks(self, Hamiltonian, target_locality):
'Decomposition not implemented for this case')
# Check for same string lengths
localities=[]
for string in Hamiltonian.ops:
localities.append(len(string.non_identity_obs))
for string in Hamiltonian_ops:
localities.append(len(non_identity_obs(string)))
if len(np.unique(localities)) > 1:
raise Exception('The given Hamiltonian has terms with different locality.' +
' Gadgetization not implemented for this case')
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _static/demonstration_assets/liesim/Ue.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _static/demonstration_assets/liesim/e.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _static/demonstration_assets/liesim/wUe.png
Binary file added _static/demonstration_assets/qrack/fig1.png
Binary file added _static/demonstration_assets/qrack/fig2.png
Binary file added _static/demonstration_assets/qrack/fig3.png
Binary file added _static/demonstration_assets/qrack/fig4.png
Binary file added _static/demonstration_assets/qrack/fig5.png
Binary file added _static/demonstration_assets/qrack/fig6.png
Binary file added _static/hardware_logos/covalent.png
4 changes: 2 additions & 2 deletions demonstrations/adjoint_diff_benchmarking.metadata.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,13 @@
}
],
"dateOfPublication": "2021-11-23T00:00:00+00:00",
"dateOfLastModification": "2024-01-01T00:00:00+00:00",
"dateOfLastModification": "2024-07-04T00:00:00+00:00",
"categories": [],
"tags": [],
"previewImages": [
{
"type": "thumbnail",
"uri": "/_static/demonstration_assets/adjoint_diff/icon.png"
"uri": "/_static/demonstration_assets/regular_demo_thumbnails/thumbnail_adjoint_differentiation.png"
}
],
"seoDescription": "Benchmarking file for adjoint diff demonstration.",
Expand Down
13 changes: 7 additions & 6 deletions demonstrations/adjoint_diff_benchmarking.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
:property="og:image": https://pennylane.ai/qml/_static/thumbs/code.png


*Author: Christina Lee — Posted: 23 November 2021. Last updated: 23 November 2021.*
*Author: Christina Lee — Posted: 23 November 2021. Last updated: 04 July 2024.*

"""

Expand Down Expand Up @@ -98,14 +98,15 @@ def circuit(params):


if __name__ == "__main__":
layers_list = [1, 3, 5, 7, 9]
n_wires = 5
adjoint_layers, backprop_layers, ps_layers = layers_scaling(n_wires, layers_list)

wires_list = [3, 6, 9, 12, 15]
n_layers = 3
n_layers = 6
adjoint_wires, backprop_wires, ps_wires = wires_scaling(wires_list, n_layers)

layers_list = [3, 9, 15, 21, 27]
n_wires = 12
adjoint_layers, backprop_layers, ps_layers = layers_scaling(n_wires, layers_list)

# Generating the graphic
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(10, 4))

Expand All @@ -132,7 +133,7 @@ def circuit(params):
ax2.set_ylabel("Time")
ax2.set_title("Scaling with Layers")

plt.savefig("adjoint_diff/scaling.png")
plt.savefig("scaling.png")

##############################################################################
#
Expand Down
2 changes: 1 addition & 1 deletion demonstrations/ahs_aquila.metadata.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
}
],
"dateOfPublication": "2023-05-16T00:00:00+00:00",
"dateOfLastModification": "2024-01-01T00:00:00+00:00",
"dateOfLastModification": "2024-07-10T00:00:00+00:00",
"categories": ["Quantum Hardware", "Devices and Performance", "Quantum Computing"],
"tags": [],
"previewImages": [
Expand Down
29 changes: 13 additions & 16 deletions demonstrations/ahs_aquila.py
Original file line number Diff line number Diff line change
Expand Up @@ -254,7 +254,7 @@
# {'area': {'width': Decimal('0.000075'), 'height': Decimal('0.000076')},
# 'geometry': {'spacingRadialMin': Decimal('0.000004'),
# 'spacingVerticalMin': Decimal('0.000004'),
# 'positionResolution': Decimal('1E-7'),
# 'positionResolution': Decimal('1E-8'),
# 'numberSitesMax': 256}}
#
# We can see that the atom field has a width of :math:`75 \, \mu m` and a height of :math:`76 \, \mu m`.
Expand Down Expand Up @@ -289,6 +289,7 @@
plt.scatter([x for x, y in coordinates], [y for x, y in coordinates])
plt.xlabel("μm")
plt.ylabel("μm")
plt.show()

##############################################################################
# .. figure:: ../_static/demonstration_assets/ahs_aquila/rydberg_blockade_coordinates.png
Expand Down Expand Up @@ -347,16 +348,17 @@
# 'rydbergGlobal': {'rabiFrequencyRange': (Decimal('0.0'),
# Decimal('15800000.0')),
# 'rabiFrequencyResolution': Decimal('400.0'),
# 'rabiFrequencySlewRateMax': Decimal('250000000000000.0'),
# 'rabiFrequencySlewRateMax': Decimal('400000000000000.0'),
# 'detuningRange': (Decimal('-125000000.0'), Decimal('125000000.0')),
# 'detuningResolution': Decimal('0.2'),
# 'detuningSlewRateMax': Decimal('2500000000000000.0'),
# 'detuningSlewRateMax': Decimal('6000000000000000.0'),
# 'phaseRange': (Decimal('-99.0'), Decimal('99.0')),
# 'phaseResolution': Decimal('5E-7'),
# 'timeResolution': Decimal('1E-9'),
# 'timeDeltaMin': Decimal('5E-8'),
# 'timeMin': Decimal('0.0'),
# 'timeMax': Decimal('0.000004')}}
# 'timeMax': Decimal('0.000004')},
# 'rydbergLocal': None}
#
# It is important to note that these quantities are in radians per second rather than Hz where relevant, and
# are all in SI units. This means that for amplitude and detuning, we will need to convert from angular
Expand Down Expand Up @@ -436,7 +438,7 @@ def angular_SI_to_MHz(angular_SI):


def gaussian_fn(p, t):
return p[0] * jnp.exp(-((t-p[1])**2) / (2*p[2]**2))
return p[0] * jnp.exp(-((t - p[1]) ** 2) / (2 * p[2] ** 2))


# Visualize pulse, time in μs
Expand All @@ -453,6 +455,7 @@ def gaussian_fn(p, t):
plt.ylabel("Amplitude [MHz]")

plt.plot(time, y)
plt.show()

##############################################################################
#
Expand All @@ -467,10 +470,7 @@ def gaussian_fn(p, t):
# We can then define our drive using via :func:`~pennylane.pulse.rydberg_drive`:
#

global_drive = qml.pulse.rydberg_drive(amplitude=gaussian_fn,
phase=0,
detuning=0,
wires=[0, 1, 2])
global_drive = qml.pulse.rydberg_drive(amplitude=gaussian_fn, phase=0, detuning=0, wires=[0, 1, 2])

######################################################################
# With only amplitude as non-zero, the overall driven Hamiltonian in this case simplifies to:
Expand Down Expand Up @@ -606,7 +606,7 @@ def circuit(params):
start_val = amplitude[0]
stop_val = amplitude[-1]
max_val = np.max(amplitude)
max_rate = np.max([(amplitude[i + 1] - amplitude[i]) / timestep for i in range(len(times)-1)])
max_rate = np.max([(amplitude[i + 1] - amplitude[i]) / timestep for i in range(len(times) - 1)])

print(f"start value: {start_val:.3} MHz")
print(f"stop value: {stop_val:.3} MHz")
Expand Down Expand Up @@ -636,10 +636,7 @@ def circuit(params):
#

amp_fn = qml.pulse.rect(gaussian_fn, windows=[0.01, 1.749])
global_drive = qml.pulse.rydberg_drive(amplitude=amp_fn,
phase=0,
detuning=0,
wires=[0, 1, 2])
global_drive = qml.pulse.rydberg_drive(amplitude=amp_fn, phase=0, detuning=0, wires=[0, 1, 2])

######################################################################
# At this point we could skip directly to defining a ``qnode`` using the ``aquila`` device and running our
Expand Down Expand Up @@ -679,6 +676,7 @@ def circuit(params):
plt.xlabel("μm")
plt.ylabel("μm")
plt.legend()
plt.show()

##############################################################################
#
Expand All @@ -705,8 +703,7 @@ def circuit(params):
# values for plotting the function defined in PennyLane for amplitude
input_times = np.linspace(*ts, 1000)
input_amplitudes = [
qml.pulse.rect(gaussian_fn, windows=[0.01, 1.749])(amplitude_params, _t)
for _t in input_times
qml.pulse.rect(gaussian_fn, windows=[0.01, 1.749])(amplitude_params, _t) for _t in input_times
]

# plot PL input and hardware setpoints for comparison
Expand Down
Loading
Loading