4. 4
独自量子ビットを開発 International Conference
[1] D. Saida, H. Ariyoshi and Y. Yamanashi, "Principle
Verification of the Superconducting Flux Qubit Cell Toward the
Quantum Sampling Approach for Training of Deep Neural
Networks" The 31th International Symposium on
Superconductivity (2018).
[2] D. Saida and Y. Yamanashi, "Investigation of Basic
Characteristics of Superconducting Flux Qubit for Quantum
Machine Learning", 20th Anniversary of Superconducting
Qubits (2019).
[3] D. Saida, N. Watase and Y. Yamanashi, “Theoretical and
Experimental Characterization of Fundamental Device
Elements in Quantum Machine Learning”, International
Superconductive Electronics Conference (2019).
17. How a quantum computer could break 2048-bit
RSA encryption in 8 hours
https://www.technologyreview.com/s/613596/how-a-quantum-computer-could-break-2048-bit-rsa-encryption-in-8-hours/?utm_cam
paign=site_visitor.unpaid.engagement&utm_source=twitter&utm_medium=social_share&utm_content=2019-06-12
def adder_mod(a,b,n):
result =(tox(digits2(a,b,n)) + plus(a,b,n) + swap(n)).m[:].run(shots=1)
print(result)
19. 量子シミュレーション
from blueqat import Circuit
import numpy as np
from matplotlib import pyplot
arr = [] #array for result
t = 0.1 #time
N = 50
Nq = 2 #number of qubits
sv = 2**Nq
shots = 1000
a = Circuit(Nq).h[:]
b = Circuit(Nq).m[:]
for s in range(N):
a.rx(2*t*(1-s/N))[:].cx[0,1].rz(2*t*s/N)[1].cx[0,1]
arr.append((a+b).run(shots=shots))
starr = ['00','01','10','11']
x = np.linspace(0, 1, len(arr))
y = [[] for i in range(sv)]
for i in range(len(arr)):
for j in range(sv):
y[j].append(arr[i][starr[j]]/shots)
for i in range(sv):
pyplot.plot(x, y[i])
pyplot.show()
時間とステップ数などを決めてシミュレーションをかける
23. VQEで量子化学計算など
from blueqat import *
from openfermion import *
from openfermionblueqat import*
import numpy as np
x = [];e=[];fullci=[]
for bond_len in np.arange(0.2,2.5,0.1):
m = get_molecule("{:.2}".format(bond_len))
h =
bravyi_kitaev(get_fermion_operator(m.get_molecular_hamil
tonian()))
runner = vqe.Vqe(UCCAnsatz(h,6,Circuit().x[0]))
result = runner.run()
x.append(bond_len)
e.append(runner.ansatz.get_energy(result.circuit,runner.
sampler))
fullci.append(m.fci_energy)
%matplotlib inline
import matplotlib.pyplot as plt
plt.plot(x,fullci)
plt.plot(x,e,"o")
量子化学系のソフトと組み合わせて使う。
24. QAOAで組合せ最適化計算など
from blueqat import vqe
from blueqat.pauli import qubo_bit as q
hamiltonian =
-3*q(0)-3*q(1)-3*q(2)-3*q(3)-3*q(4)+2*q(0)*q(1)+2*q(0)*q(2)+2*q(0)*q(3)+2*q(0)*q(4)+2*q(1)*q
(2)+2*q(1)*q(3)+2*q(1)*q(4)+2*q(2)*q(3)+2*q(2)*q(4)+2*q(3)*q(4)
step = 2
result = vqe.Vqe(vqe.QaoaAnsatz(hamiltonian, step)).run()
print(result.most_common(12))
QUBOもしくはイジングハミルトニアンを作って、ハミルトニアンをZもしくはZZに変換