Pythonãçšããéå誀ãèšæ£ãæ¢æ±ããéåãããã®å®å®åæè¡ã«çŠç¹ãåœãŠãŸãããã³ããŒã¬ã³ã¹ã軜æžããèæ éæ§ã®ããéåã³ã³ãã¥ãŒã¿ãæ§ç¯ããæ¹æ³ãåŠã³ãŸãã
Pythonã«ããéå誀ãèšæ£ïŒéåãããã®å®å®å
éåã³ã³ãã¥ãŒãã£ã³ã°ã¯ãå»åŠãææç§åŠã人工ç¥èœãªã©ã®åéã«é©åœãããããèšãç¥ããªãå¯èœæ§ãç§ããŠããŸããããããéåã·ã¹ãã ã¯æ¬è³ªçã«ãã€ãºã«åŒ±ããèšç®ã®ç²ŸåºŠãæ¥éã«äœäžããããšã©ãŒã«ã€ãªãããŸãããã®æåºŠã¯ãéåæ å ±ã®åºæ¬åäœã§ããéåãããã®ç¹çŽ°ãªæ§è³ªã«èµ·å ããŠãããç°å¢ã«ãã£ãŠå®¹æã«æåãåããŸããéå誀ãèšæ£ïŒQECïŒã¯ãä¿¡é Œæ§ãé«ãã¹ã±ãŒã©ãã«ãªéåã³ã³ãã¥ãŒã¿ãæ§ç¯ããããã«äžå¯æ¬ ã§ãããã®èšäºã§ã¯ãQECã®åºæ¬çãªæŠå¿µãæ¢æ±ããPythonã䜿çšããŠå®è£ ãããéåãããã®å®å®åæè¡ã«çŠç¹ãåœãŠãŸãã
éåãã³ããŒã¬ã³ã¹ã®èª²é¡
å€å žçãªãããã0ãŸãã¯1ã§ããã®ã«å¯Ÿããéåãããã¯äž¡æ¹ã®ç¶æ ã®éãåãããšããŠåæã«ååšããããšãã§ããŸãããã®éãåããã«ãããéåã¢ã«ãŽãªãºã ã¯å€å žã³ã³ãã¥ãŒã¿ã®èœåãã¯ããã«è¶ ããèšç®ãå®è¡ã§ããŸãããããããã®éãåããã¯å£ããããã§ããéåãã³ããŒã¬ã³ã¹ãšã¯ãç°å¢ãšã®çžäºäœçšã«ããéåæ å ±ã®æå€±ãæããŸãããããã®çžäºäœçšã«ãããéåãããã¯ã©ã³ãã ã«ç¶æ ãå転ãããããäœçžã³ããŒã¬ã³ã¹ã倱ã£ããããŠãèšç®ã«ãšã©ãŒãå°å ¥ããå¯èœæ§ããããŸããäŸãšããŠã¯ã次ã®ãã®ãæããããŸãã
- ãããå転ãšã©ãŒïŒç¶æ |0â©ã®éåãããã|1â©ã«å転ãããããã®éã
- äœçžå転ãšã©ãŒïŒ|0â©ç¶æ ãš|1â©ç¶æ ã®éã®çžå¯Ÿäœçžãå転ããŸãã
誀ãèšæ£ãªãã§ã¯ããããã®ãšã©ãŒã¯æ¥éã«èç©ããéåèšç®ãç¡çšãªãã®ã«ããŠããŸããŸãã課é¡ã¯ãéåããããçŽæ¥æž¬å®ããããšãªãããããã®ãšã©ãŒãæ€åºãèšæ£ããããšã§ãããªããªããæž¬å®ã¯éãåããã厩å£ãããéåæ å ±ãç Žå£ããŠããŸãããã§ãã
éå誀ãèšæ£ã®åå
éå誀ãèšæ£ã¯ãè«çéåããããšããŠç¥ããã倿°ã®ç©çéåãããã«éåæ å ±ããšã³ã³ãŒãããããšã«åºã¥ããŠããŸãããã®åé·æ§ã«ããããšã³ã³ãŒããããæ å ±ãçŽæ¥æž¬å®ããããšãªãããšã©ãŒãæ€åºãèšæ£ã§ããŸããQECã¹ããŒã ã¯äžè¬ã«æ¬¡ã®ã¹ããããå«ã¿ãŸãã
- ãšã³ã³ãŒãã£ã³ã°ïŒè«çéåãããã¯ãç¹å®ã®èª€ãèšæ£ç¬Šå·ã䜿çšããŠãã«ãéåãããç¶æ ã«ãšã³ã³ãŒããããŸãã
- ãšã©ãŒæ€åºïŒããªãã£ãã§ãã¯ïŒã¹ã¿ãã©ã€ã¶ãŒæž¬å®ãšãåŒã°ããïŒãå®è¡ããŠããšã©ãŒã®ååšãæ€åºããŸãããããã®æž¬å®ã¯ãéåãããã®å®éã®ç¶æ ãæããã«ããã®ã§ã¯ãªãããšã©ãŒãçºçãããã©ããããŸãçºçããå Žåãã©ã®ãããªçš®é¡ã®ãšã©ãŒã§ãããã瀺ããŸãã
- ãšã©ãŒèšæ£ïŒã¹ã¿ãã©ã€ã¶ãŒæž¬å®ã®çµæã§ãããšã©ãŒã·ã³ãããŒã ã«åºã¥ããŠãè«çéåãããã®å ã®ç¶æ ã埩å ããããã«ç©çéåãããã«è𿣿äœãé©çšãããŸãã
- ãã³ãŒãã£ã³ã°ïŒæåŸã«ããšã³ã³ãŒããããè«çéåãããããã®èšç®çµæããã³ãŒãããŠã䜿çšå¯èœãªçµæãååŸããå¿ èŠããããŸãã
ããããã«é·æãšçæãããããã€ãã®ç°ãªãQECã³ãŒããéçºãããŠããŸããæãããç¥ãããŠããã³ãŒãã«ã¯ãã·ã§ã¢ç¬Šå·ãã¹ãã£ãŒã³ç¬Šå·ããµãŒãã§ã¹ç¬Šå·ãªã©ããããŸãã
éå誀ãèšæ£ç¬Šå·
ã·ã§ã¢ç¬Šå·
ã·ã§ã¢ç¬Šå·ã¯ãæãåæã§æãåçŽãªQECã³ãŒãã®1ã€ã§ãã9ã€ã®ç©çéåãããã䜿çšããŠ1ã€ã®è«çéåãããããšã³ã³ãŒãããããšã«ããããããå転ãšã©ãŒãšäœçžå転ãšã©ãŒã®äž¡æ¹ããä¿è·ããŸãããšã³ã³ãŒãã£ã³ã°ããã»ã¹ã«ã¯ãç©çéåãããéã«ãšã³ã¿ã³ã°ã«ç¶æ ãäœæããæ¬¡ã«ããªãã£ãã§ãã¯ãå®è¡ããŠãšã©ãŒãæ€åºããããšãå«ãŸããŸããæŠå¿µçã«ã¯åçŽã§ãããã·ã§ã¢ç¬Šå·ã¯å¿ èŠãªéåãããæ°ãå€ãããããªãœãŒã¹ã倧éã«æ¶è²»ããŸãã
äŸïŒ
è«ç|0â©ç¶æ ããšã³ã³ãŒãããããã«ãã·ã§ã¢ç¬Šå·ã¯æ¬¡ã®å€æã䜿çšããŸãã
|0â©L = (|000â© + |111â©)(|000â© + |111â©)(|000â© + |111â©) / (2â2)
åæ§ã«ãè«ç|1â©ç¶æ ã®å ŽåïŒ
|1â©L = (|000â© - |111â©)(|000â© - |111â©)(|000â© - |111â©) / (2â2)
ãšã©ãŒæ€åºã¯ã3ã€ãã€ã®éåãããã®ã°ã«ãŒãã®ããªãã£ã枬å®ããããšã«ãã£ãŠéæãããŸããããšãã°ãéåããã0ã1ã2ã®ããªãã£ã枬å®ãããšããã®ã°ã«ãŒãã§ãããå転ãšã©ãŒãçºçãããã©ãããæããã«ã§ããŸããåæ§ã®ããªãã£ãã§ãã¯ããäœçžå転ãšã©ãŒãæ€åºããããã«å®è¡ãããŸãã
ã¹ãã£ãŒã³ç¬Šå·
ã¹ãã£ãŒã³ç¬Šå·ã¯ã7ã€ã®ç©çéåãããã䜿çšããŠ1ã€ã®è«çéåãããããšã³ã³ãŒãããããã1ã€ã®åæã®QECã³ãŒãã§ããåäžéåããããšã©ãŒïŒãããå転ãšäœçžå転ã®äž¡æ¹ïŒããã¹ãŠèšæ£ã§ããŸããã¹ãã£ãŒã³ç¬Šå·ã¯ãå€å žçãªèª€ãèšæ£ç¬Šå·ã«åºã¥ããŠãããéåãããã®ãªãŒããŒãããã®ç¹ã§ã·ã§ã¢ç¬Šå·ãããå¹ççã§ããã¹ãã£ãŒã³ç¬Šå·ã®ãšã³ã³ãŒãã£ã³ã°ããã³ãã³ãŒãã£ã³ã°åè·¯ã¯ãæšæºçãªéåã²ãŒãã䜿çšããŠå®è£ ã§ããŸãã
ã¹ãã£ãŒã³ç¬Šå·ã¯[7,1,3]éåã³ãŒãã§ããã1ã€ã®è«çéåãããã7ã€ã®ç©çéåãããã«ãšã³ã³ãŒãããæå€§1ã€ã®ãšã©ãŒãèšæ£ã§ããŸããå€å žçãª[7,4,3]ããã³ã°ã³ãŒããå©çšããŠããŸããããã³ã°ã³ãŒãã®çæè¡åããšã³ã³ãŒãã£ã³ã°åè·¯ãå®çŸ©ããŸãã
ãµãŒãã§ã¹ç¬Šå·
ãµãŒãã§ã¹ç¬Šå·ã¯ãå®çšçãªéåã³ã³ãã¥ãŒã¿ã«ãšã£ãŠæãææãªQECã³ãŒãã®1ã€ã§ãããšã©ãŒãããå€ãé«ããããç©çéåãããã§ã®ãšã©ãŒçãæ¯èŒçé«ãããšã蚱容ã§ããŸãããµãŒãã§ã¹ç¬Šå·ã¯ãéåãããã2次å ã°ãªããäžã«é 眮ããããŒã¿éåããããè«çæ å ±ããšã³ã³ãŒãããã¢ã³ãã©éåãããããšã©ãŒæ€åºã«äœ¿çšãããŸãããšã©ãŒæ€åºã¯ã飿¥ããéåãããã®ããªãã£ã枬å®ããããšã«ãã£ãŠè¡ããããšã©ãŒèšæ£ã¯çµæã®ãšã©ãŒã·ã³ãããŒã ã«åºã¥ããŠå®è¡ãããŸãã
ãµãŒãã§ã¹ç¬Šå·ã¯ããããžã«ã«ç¬Šå·ã§ããããšã³ã³ãŒããããæ å ±ã¯éåãããé 眮ã®ããããžãŒã«ãã£ãŠä¿è·ãããŸããããã«ããã屿çãªãšã©ãŒã«å¯ŸããŠå ç¢ã«ãªããããŒããŠã§ã¢ã§ã®å®è£ ã容æã«ãªããŸãã
éåãããå®å®åæè¡
éåãããå®å®åã¯ãéåããããéãåããç¶æ ãç¶æã§ããæéã§ããã³ããŒã¬ã³ã¹æéãå»¶é·ããããšãç®æããŸããéåããããå®å®åãããšããšã©ãŒã®é »åºŠãæžå°ããéåèšç®ã®å šäœçãªããã©ãŒãã³ã¹ãåäžããŸããéåããããå®å®åããããã«äœ¿çšã§ããããã€ãã®æè¡ããããŸãã
- åçãã«ãããªã³ã°ïŒãã®æè¡ã¯ãç°å¢ãã€ãºã®åœ±é¿ãçžæ®ºããããã«ãæ éã«ã¿ã€ãã³ã°ãåãããäžé£ã®ãã«ã¹ãéåãããã«é©çšããããšãå«ã¿ãŸãããã«ã¹ã¯ãã€ãºã广çã«å¹³ååãããã³ããŒã¬ã³ã¹ãåŒãèµ·ããã®ãé²ããŸãã
- ã¢ã¯ãã£ããã£ãŒãããã¯ïŒã¢ã¯ãã£ããã£ãŒãããã¯ã«ã¯ãéåãããã®ç¶æ ãç¶ç¶çã«ç£èŠãããªã¢ã«ã¿ã€ã ã§ä¿®æ£æªçœ®ãé©çšããããšãå«ãŸããŸããããã«ã¯ãé«éã§æ£ç¢ºãªæž¬å®ããã³å¶åŸ¡ã·ã¹ãã ãå¿ èŠã§ãããéåãããã®å®å®æ§ãå€§å¹ ã«åäžãããããšãã§ããŸãã
- ææãšè£œé ã®æ¹åïŒããé«åè³ªã®ææãšããæ£ç¢ºãªè£œé æè¡ã䜿çšããããšã§ãéåãããã®åºæãã€ãºãæžããããšãã§ããŸããããã«ã¯ãåäœäœçŽåºŠã®é«ãææã®äœ¿çšããéåãããæ§é ã®æ¬ é¥ã®æå°åãå«ãŸããŸãã
- æ¥µäœæž©ç°å¢ïŒéåã³ã³ãã¥ãŒã¿ãæ¥µäœæž©ã§åäœããããšããã³ããŒã¬ã³ã¹ã®äž»èŠãªåå ã§ããç±ãã€ãºãæžå°ããŸããããšãã°ãè¶ äŒå°éåãããã¯éåžžã絶察é¶åºŠã«è¿ã枩床ã§åäœããŸãã
éå誀ãèšæ£ã®ããã®Pythonã©ã€ãã©ãª
Pythonã«ã¯ãéå誀ãèšæ£ã³ãŒãã®ã·ãã¥ã¬ãŒã·ã§ã³ãšå®è£ ã«äœ¿çšã§ããããã€ãã®ã©ã€ãã©ãªããããŸãããããã®ã©ã€ãã©ãªã¯ãéåãããã®ãšã³ã³ãŒãã£ã³ã°ããšã©ãŒæ€åºã®å®è¡ããšã©ãŒè𿣿äœã®é©çšã®ããã®ããŒã«ãæäŸããŸããQECã§äººæ°ã®ããPythonã©ã€ãã©ãªã«ã¯ã次ã®ãããªãã®ããããŸãã
- QiskitïŒQiskitã¯ãIBMãéçºããå æ¬çãªéåã³ã³ãã¥ãŒãã£ã³ã°ãã¬ãŒã ã¯ãŒã¯ã§ãã誀ãèšæ£åè·¯ãå«ãéååè·¯ã®èšèšãšã·ãã¥ã¬ãŒã·ã§ã³ã®ããã®ããŒã«ãæäŸããŸããQiskitã«ã¯ãQECã³ãŒãã®å®çŸ©ãã¹ã¿ãã©ã€ã¶ãŒæž¬å®ã®å®è£ ã誀ãèšæ£ã·ãã¥ã¬ãŒã·ã§ã³ã®å®è¡ã®ããã®ã¢ãžã¥ãŒã«ãå«ãŸããŠããŸãã
- pyQuilïŒpyQuilã¯ãRigetti Computingã®éåã³ã³ãã¥ãŒã¿ãšå¯Ÿè©±ããããã®Pythonã©ã€ãã©ãªã§ããQuiléååœä»€èšèªã䜿çšããŠéåããã°ã©ã ãäœæããã³å®è¡ã§ããŸããpyQuilã¯ãå®éã®éåããŒããŠã§ã¢ã§QECã³ãŒããã·ãã¥ã¬ãŒã·ã§ã³ããã³å®éšããããã«äœ¿çšã§ããŸãã
- PennyLaneïŒPennyLaneã¯ãéåæ©æ¢°åŠç¿ã®ããã®Pythonã©ã€ãã©ãªã§ããéåãã¥ãŒã©ã«ãããã¯ãŒã¯ã®æ§ç¯ãšãã¬ãŒãã³ã°ã®ããã®ããŒã«ãæäŸããéå誀ãèšæ£ãšéåæ©æ¢°åŠç¿ã®çžäºäœçšã調æ»ããããã«äœ¿çšã§ããŸãã
- StimïŒStimã¯ãQECåè·¯ãç¹ã«ãµãŒãã§ã¹ã³ãŒãã®ãã³ãããŒã¯ã«åœ¹ç«ã€é«éã¹ã¿ãã©ã€ã¶ãŒåè·¯ã·ãã¥ã¬ãŒã¿ã§ããéåžžã«é«æ§èœã§ãéåžžã«å€§èŠæš¡ãªéåã·ã¹ãã ãåŠçã§ããŸãã
Pythonã®äŸïŒQiskitã«ããQECã®å®è£
ããã¯ãQiskitã䜿çšããŠåçŽãªQECã³ãŒããã·ãã¥ã¬ãŒãããæ¹æ³ã®åºæ¬çãªäŸã§ãããã®äŸã§ã¯ã3ã€ã®ç©çéåãããã䜿çšããŠãããå転ãšã©ãŒããä¿è·ãããããå転ã³ãŒãã瀺ããŸãã
from qiskit import QuantumCircuit, transpile, Aer, execute
from qiskit.providers.aer import QasmSimulator
# 3ã€ã®éåããããš3ã€ã®å€å
žããããæã€éååè·¯ãäœæ
qc = QuantumCircuit(3, 3)
# è«çéåãããããšã³ã³ãŒãïŒäŸïŒ|0â©ã|000â©ãšããŠãšã³ã³ãŒãïŒ
# |1â©ããšã³ã³ãŒããããå Žåã¯ããšã³ã³ãŒãã£ã³ã°ã®åã«Xã²ãŒãã远å ããŸã
# 2çªç®ã®éåãããã«ãããå転ãšã©ãŒãå°å
¥ïŒãªãã·ã§ã³ïŒ
# qc.x(1)
# ãšã©ãŒæ€åºïŒéåããã0ãš1ãããã³1ãš2ã®ããªãã£ã枬å®
nc.cx(0, 1)
nc.cx(2, 1)
# ãšã©ãŒã·ã³ãããŒã ãååŸããããã«ã¢ã³ãã©éåãããïŒéåããã1ïŒã枬å®
nc.measure(1, 0)
# ã·ã³ãããŒã ã«åºã¥ããŠãšã©ãŒãèšæ£
nc.cx(1, 2)
nc.cx(1, 0)
# è«çéåãããïŒéåããã0ïŒã枬å®
nc.measure(0, 1)
nc.measure(2,2)
# åè·¯ãã·ãã¥ã¬ãŒã
simulator = Aer.get_backend('qasm_simulator')
transpiled_qc = transpile(qc, simulator)
job = simulator.run(transpiled_qc, shots=1024)
result = job.result()
counts = result.get_counts(qc)
print(counts)
説æïŒ
- ã³ãŒãã¯3ã€ã®éåããããæã€éååè·¯ãäœæããŸããéåããã0ã¯è«çéåãããã衚ããéåããã1ãš2ã¯ã¢ã³ãã©éåãããã§ãã
- è«çéåãããã¯ããã¹ãŠã®ç©çéåããããåãç¶æ ïŒ|0â©ãŸãã¯|1â©ã®ãšã³ã³ãŒããåžæãããã©ããã«ãã£ãŠ|000â©ãŸãã¯|111â©ïŒã«åçŽã«èšå®ããããšã«ãã£ãŠãšã³ã³ãŒããããŸãã
- çŸå®äžçã®ãšã©ãŒãã·ãã¥ã¬ãŒãããããã«ã2çªç®ã®éåãããã«ãªãã·ã§ã³ã®ãããå転ãšã©ãŒãå°å ¥ãããŸãã
- ãšã©ãŒæ€åºã¯ãéåããã0ãš1ãããã³1ãš2ã®ããªãã£ã枬å®ããããšã«ãã£ãŠå®è¡ãããŸããããã¯CNOTã²ãŒãã䜿çšããŠè¡ãããéåãããããšã³ã¿ã³ã°ã«ãããè«çéåããããçŽæ¥æž¬å®ããããšãªãããªãã£ã枬å®ã§ããŸãã
- ã¢ã³ãã©éåããããæž¬å®ãããŠãšã©ãŒã·ã³ãããŒã ãååŸãããŸãã
- ãšã©ãŒã·ã³ãããŒã ã«åºã¥ããŠãè«çéåãããã®å ã®ç¶æ ã埩å ããããã«ç©çéåãããã«è𿣿äœãé©çšãããŸãã
- æåŸã«ãè«çéåããããæž¬å®ãããŠèšç®çµæãååŸãããŸãã
ããã¯åçŽåãããäŸã§ãããããè€éãªQECã³ãŒãã«ã¯ãããæŽç·Žãããåè·¯ãšèª€ãèšæ£æŠç¥ãå¿ èŠã§ãããã ããQECã®åºæ¬çãªååãšãQiskitã®ãããªPythonã©ã€ãã©ãªã䜿çšããŠQECã¹ããŒã ãã·ãã¥ã¬ãŒã·ã§ã³ããã³å®è£ ããæ¹æ³ã瀺ããŠããŸãã
éå誀ãèšæ£ã®æªæ¥
éå誀ãèšæ£ã¯ãèæ éæ§ã®ããéåã³ã³ãã¥ãŒã¿ãæ§ç¯ããããã®éèŠãªåºç€æè¡ã§ããéåã³ã³ãã¥ãŒã¿ããã倧ãããããè€éã«ãªãã«ã€ããŠã广çãªQECæŠç¥ã®å¿ èŠæ§ã¯é«ãŸãäžæ¹ã§ããç ç©¶éçºã®åãçµã¿ã¯ãããé«ããšã©ãŒãããå€ãããäœãéåããããªãŒããŒããããããã³ããå¹ççãªèª€ãèšæ£åè·¯ãåããæ°ããQECã³ãŒãã®éçºã«çŠç¹ãåœãŠãŠããŸããããã«ãç ç©¶è ã¯éåããããå®å®åãããã³ããŒã¬ã³ã¹ãåæžããããã®æ°ããæè¡ã暡玢ããŠããŸãã
å®çšçãªQECã¹ããŒã ã®éçºã¯å€§ããªèª²é¡ã§ãããéåã³ã³ãã¥ãŒãã£ã³ã°ã®å¯èœæ§ãæå€§éã«åŒãåºãããã«äžå¯æ¬ ã§ããQECã¢ã«ãŽãªãºã ãããŒããŠã§ã¢ãããã³ãœãããŠã§ã¢ããŒã«ã®ç¶ç¶çãªé²æ©ã«ãããèæ éæ§ã®ããéåã³ã³ãã¥ãŒã¿ãæ§ç¯ããèŠéãã¯ãŸããŸãçŸå®çã«ãªã£ãŠããŸããå°æ¥ã®ã¢ããªã±ãŒã·ã§ã³ã«ã¯ã次ã®ãããªãã®ãå«ãŸããå¯èœæ§ããããŸãã
- åµè¬ãšææç§åŠïŒè€éãªååãšææãã·ãã¥ã¬ãŒãããŠãæ°ããè¬ãçºèŠãã驿°çãªææãèšèšããŸãã
- éèã¢ããªã³ã°ïŒããæ£ç¢ºã§å¹ççãªéèã¢ãã«ãéçºããŠãæè³ãæé©åãããªã¹ã¯ã管çããŸãã
- æå·åïŒæ¢åã®æå·åã¢ã«ãŽãªãºã ãç Žããæ°ããéåèæ§æå·åæ¹æ³ãéçºããŸãã
- 人工ç¥èœïŒãã匷åã§æŽç·ŽãããAIã¢ãã«ããã¬ãŒãã³ã°ããŸãã
éå誀ãèšæ£ã«ãããã°ããŒãã«ã³ã©ãã¬ãŒã·ã§ã³
éå誀ãèšæ£ã®åéã¯ã°ããŒãã«ãªåãçµã¿ã§ãããããŸããŸãªèæ¯ãšåœã®ç ç©¶è ããšã³ãžãã¢ãæå 端æè¡ã鲿©ãããããã«ååããŠããŸããç¥èããªãœãŒã¹ãå°éç¥èãå ±æããå®çšçãªQECæè¡ã®éçºãå éããããã«ãåœéååã¯äžå¯æ¬ ã§ããã°ããŒãã«ãªåãçµã¿ã®äŸã«ã¯ã次ã®ãããªãã®ããããŸãã
- å ±åç ç©¶ãããžã§ã¯ãïŒè€æ°ã®åœã®ç ç©¶è ãé¢äžããå ±åç ç©¶ãããžã§ã¯ãããããã®ãããžã§ã¯ãã¯ããã°ãã°æ°ããQECã³ãŒãã®éçºãããŸããŸãªéåããŒããŠã§ã¢ãã©ãããã©ãŒã ã§ã®QECã®å®è£ ãããã³ããŸããŸãªåéã§ã®QECã®å¿çšã®èª¿æ»ã«çŠç¹ãåœãŠãŠããŸãã
- ãªãŒãã³ãœãŒã¹ãœãããŠã§ã¢éçºïŒQiskitãpyQuilã®ãããªQECã®ããã®ãªãŒãã³ãœãŒã¹ãœãããŠã§ã¢ã©ã€ãã©ãªããã³ããŒã«ã®éçºã¯ãäžçäžã®éçºè ããã®è²¢ç®ãå«ãã°ããŒãã«ãªåãçµã¿ã§ããããã«ãããç ç©¶è ããšã³ãžãã¢ã¯ææ°ã®QECæè¡ã«ç°¡åã«ã¢ã¯ã»ã¹ããŠäœ¿çšã§ããŸãã
- åœéäŒè°ããã³ã¯ãŒã¯ã·ã§ããïŒåœéäŒè°ããã³ã¯ãŒã¯ã·ã§ããã¯ãç ç©¶è ãææ°ã®çºèŠãå ±æããQECåéã®èª²é¡ãšæ©äŒã«ã€ããŠè°è«ããããã®ãã©ãŒã©ã ãæäŸããŸãããããã®ã€ãã³ãã¯ãã³ã©ãã¬ãŒã·ã§ã³ãä¿é²ããã€ãããŒã·ã§ã³ã®ããŒã¹ãå éããŸãã
- æšæºåã®åãçµã¿ïŒåœéæšæºåå£äœã¯ãQECã®æšæºãå«ãéåã³ã³ãã¥ãŒãã£ã³ã°ã®æšæºãéçºããããã«åãçµãã§ããŸããããã«ãããããŸããŸãªéåã³ã³ãã¥ãŒãã£ã³ã°ã·ã¹ãã éã®çžäºéçšæ§ãšäºææ§ãä¿èšŒãããŸãã
äžçäžã®ç ç©¶è ããšã³ãžãã¢ãååããããšã§ãéå誀ãèšæ£ã®éçºãå éãã人é¡ã®å©çã®ããã«éåã³ã³ãã¥ãŒãã£ã³ã°ã®å¯èœæ§ãæå€§éã«åŒãåºãããšãã§ããŸããåç±³ããšãŒããããã¢ãžã¢ããªãŒã¹ãã©ãªã¢ã®æ©é¢éã®ååã¯ããã®æ°èåéã§ã®ã€ãããŒã·ã§ã³ãæšé²ããŠããŸãã
çµè«
éå誀ãèšæ£ã¯ãèæ éæ§ã®ããéåã³ã³ãã¥ãŒã¿ãæ§ç¯ããããã®éèŠãªæè¡ã§ããéåãããå®å®åæè¡ã¯ãé«åºŠãªQECã³ãŒãããã³ãœãããŠã§ã¢ããŒã«ãšçµã¿åãããããšã§ããã€ãºãšãã³ããŒã¬ã³ã¹ã®åœ±é¿ã軜æžããããã«äžå¯æ¬ ã§ããQiskitãpyQuilã®ãããªPythonã©ã€ãã©ãªã¯ãQECã¹ããŒã ã®ã·ãã¥ã¬ãŒã·ã§ã³ãšå®è£ ã®ããã®åŒ·åãªããŒã«ãæäŸããŸããéåã³ã³ãã¥ãŒãã£ã³ã°æè¡ã鲿©ãç¶ããã«ã€ããŠãQECã¯å®çšçã§ä¿¡é Œæ§ã®é«ãéåã³ã³ãã¥ãŒã¿ã®éçºãå¯èœã«ããäžã§ãŸããŸãéèŠãªåœ¹å²ãæããã§ããããã°ããŒãã«ãªååãšãªãŒãã³ãœãŒã¹éçºã¯ããã®åéã®é²æ©ãå éããéåã³ã³ãã¥ãŒãã£ã³ã°ã®å¯èœæ§ãæå€§éã«åŒãåºãããã®éµãšãªããŸãã