Пример #1
0
                       color="lightgray",
                       alpha=0.5)
    ax[i].vlines([full_tlist[point2], full_tlist[point3]],
                 vmin,
                 vmax,
                 "gray",
                 "--",
                 linewidth=0.8,
                 alpha=0.5)

fig.tight_layout()
fig.savefig("optimal_control_pulse.pdf")
fig.show()

width = TEXTWIDTH / 3
fig2, ax2 = spinchain_processor.plot_pulses(figsize=(width, width * 3 / 2.9),
                                            dpi=200)
fig2.tight_layout()
ax2[0].set_ylabel(r"$\Omega^x_{0}$")
ax2[1].set_ylabel(r"$\Omega^x_{1}$")
ax2[2].set_ylabel(r"$\Omega^x_{2}$")
ax2[3].set_ylabel(r"$\Omega^z_{0}$")
ax2[4].set_ylabel(r"$\Omega^z_{1}$")
ax2[5].set_ylabel(r"$\Omega^z_{2}$")
ax2[6].set_ylabel(r"$g_{0}$")
ax2[7].set_ylabel(r"$g_{1}$")
ax2[7].set_xlabel(r"$t$")

full_tlist = spinchain_processor.get_full_tlist()
two_qubit_gate_region = [[0, 7, -15], [0, 7, -6], [0, 8, -2], [0, 7, -15],
                         [0, 7, -6], [0, 8, -2], [0, 7, -6], [0, 7, -1]]
for i, (point1, point2, point3) in enumerate(two_qubit_gate_region):
Пример #2
0
    a different color will be used for each sublist.
    """
    num_qubits = model.num_qubits
    num_coupling = model._get_num_coupling()
    return [
        {f"sx{m}": r"$\sigma_x^{}$".format(m)
         for m in range(num_qubits)},
        {f"sz{m}": r"$\sigma_z^{}$".format(m)
         for m in range(num_qubits)},
        {f"g{m}": r"$g_{}$".format(m)
         for m in range(num_coupling)},
    ]


fig, axes = processor.plot_pulses(figsize=(TEXTWIDTH, TEXTWIDTH),
                                  dpi=200,
                                  pulse_labels=get_control_latex(
                                      processor.model))
axes[-1].set_xlabel("$t$")
fig.tight_layout()
fig.savefig("qft_pulse.pdf")

import time
compiling_time = []
simulation_time = []
for num_qubits in range(1, 3):  # Test up to 3 qubits
    # for num_qubits in range(1, 11):
    compiling_time_sample = []
    simulation_time_sample = []
    for _ in range(20):
        qc = qft_gate_sequence(num_qubits, swapping=False, to_cnot=True)
        state1 = qc.run(basis([2] * num_qubits, [0] * num_qubits))