|
23 | 23 |
|
24 | 24 |
|
25 | 25 | def gen_parametric_waveform_circuit(t): |
26 | | - qc = Circuit(2) |
27 | | - |
| 26 | + qc = Circuit(3) |
28 | 27 | param0 = Param("a") |
29 | | - |
30 | | - # builder = qc.calibrate("basic_pulse", [param0]) |
31 | | - # builder.new_frame("drive_frame", param0) |
32 | | - # builder.play("drive_frame", waveforms.CosineDrag(t, 0.2, 0.0, 0.0)) |
33 | | - |
34 | | - # builder.build() |
35 | | - # qc.add_calibration('basic_pulse', ['q[0]']) |
36 | | - |
37 | | -# 需根据以下定义的方式,修改代码 |
38 | | - builder = qc.calibrate("basic_pulse", [param0]) |
39 | | - frame = builder.new_frame("drive_frame", param0) |
40 | | - builder.play(frame, waveforms.CosineDrag(t, 0.2, 0.0, 0.0)) |
41 | | - |
42 | | - builder.build() |
43 | | - |
44 | | - qc.add_calibration(builder, [0]) |
45 | | - |
| 28 | + builder0 = qc.calibrate("test01", [param0]) |
| 29 | + frame0 = builder0.new_frame("drive_frame", param0) |
| 30 | + builder0.play(frame0, waveforms.CosineDrag(115.0, 0.2, 1.0, 0.0)) |
| 31 | + builder0.build() |
| 32 | + param1 = Param("a") |
| 33 | + builder1 = qc.calibrate("test02", [param1]) |
| 34 | + frame1 = builder1.new_frame("drive_frame", param1) |
| 35 | + builder1.play(frame1, waveforms.CosineDrag(115.0, 0.2, 1.0, 0.0)) |
| 36 | + builder1.play(frame1, waveforms.Flattop(115.0, 0.2, 0.0)) |
| 37 | + builder1.play(frame1, waveforms.Sine(115.0, 0.2, 0.1, 0.1, 0.0)) |
| 38 | + |
| 39 | + builder1.build() |
| 40 | + param2 = Param("a") |
| 41 | + builder2 = qc.calibrate("test03", [param2]) |
| 42 | + frame2 = builder2.new_frame("drive_frame", param2) |
| 43 | + builder2.play(frame2, waveforms.Gaussian(115.0, 0.2, 1.0, 0.0)) |
| 44 | + builder2.build() |
| 45 | + |
| 46 | + qc.add_calibration(builder0, [0]) |
| 47 | + qc.add_calibration(builder1, [1]) |
| 48 | + qc.add_calibration(builder2, [2]) |
46 | 49 | print(qc.to_tqasm()) |
47 | 50 | return qc |
48 | 51 |
|
|
0 commit comments