
ã€ãªã³éåã³ã³ãã¥ãŒã¿ãŒã®ã³ã¢ã®ãããã¿ã€ãã ãµã»ãã¯ã¹å€§åŠã€ãªã³éåæè¡ã°ã«ãŒã
æã
éåã³ã³ãã¥ãŒã¿ãŒãã¡ãã£ã¢ã«å
¥ããŸãã ã»ãšãã©ã®å Žåãéåã³ã³ãã¥ãŒãã£ã³ã°ã®éçºã¯å¥åŠã§ç¥ç§çãªèžè¡ã®ãŸãŸã§ããã人ãã©ã®ããã«äžæ©äžæ©åµé ã«è¿ã¥ããŠããã®ããèããŸãã
幞ããªããšã«ããã®åé¡ã解決ããããã«ãå¹
åºãèŠèŽè
ã®æ³šç®ãéããåªãããããžã§ã¯ããç»å ŽããŸãã ããšãã°ãæ°å¹ŽåãIBMã¯èª°ã§ã5éåãããã³ã³ãã¥ãŒã¿ãŒã«æ¥ç¶ã§ããããã«ããŸããã ãããžã§ã¯ãã¯70,000人ãç»é²ããŠããŸãã
ãã ããéåã³ã³ãã¥ãŒãã£ã³ã°æ¥çã¯ãŸã åæ段éã«ãããŸãã å€ãã®ãããã¿ã€ãããã§ã«äœæãããŠããŸãããéåžžã®ã©ãããããã§ã¯åŠçã§ããªãããšã¯ã§ããŸããã å¿
èŠãªããŒããŠã§ã¢ã¯ãŸã ååšããŠããŸããããåŠã¶ã¹ããã®ããã1ã€ãããŸããéåããã°ã©ãã³ã°èšèªã§ãã
éåã³ã³ãã¥ãŒãã£ã³ã°ã®äžçãžã®æ
ã¯èª°ââããã¢ã¯ã»ã¹ã§ããéåžžã®ããã°ã©ãã³ã°ã«ãããéåžžã®èšèªã®ç 究ã«äŒŒãŠããŸãã
éåã³ã³ãã¥ãŒãã£ã³ã°

éåã³ã³ãã¥ãŒãã£ã³ã°ã®äžçã«æ²¡é ããããã«ãéåã³ã³ãã¥ãŒã¿ãŒã家ã«çœ®ããŠããå¿
èŠã¯ãããŸããã å®éã®éåããã€ã¹ãžã®ã¢ã¯ã»ã¹ãæäŸãããããžã§ã¯ãããããŸãããåçŽãªéåããã°ã©ã ã¯éåžžã®ã©ãããããã§ç°¡åã«ã¢ãã«åã§ããŸãã
ããã°ã©ã ãåãäžããåã«ãéåã³ã³ãã¥ãŒãã£ã³ã°ã«é¢ããåºæ¬çãªããšãæãåºããŸãããã ãããŠãããã§ãBrian Hayesã«ããèšäºã Programming Your Quantum Computer ãã圹ç«ã¡ãŸãã
å
žåçãªã³ã³ãã¥ãŒã¿ãŒã¯ãããã«åºã¥ããŠããŸãã2ã€ã®å¯èœãªå€ããæããªãå€æ°ã«ã€ããŠè©±ããŠããŸãã ããŒã«ä»£æ°ã®ã³ã³ããã¹ãã§ã¯ãTrueãããã³ãFalseããšåŒã¶ããšãã§ããŸãããå€ãã®å Žåããããã0ããã³1ãšåŒã³ãŸãã
NOTãANDãORãªã©ã®ãããã䜿çšããŠãåçŽãªããŒã«æŒç®ãå®è¡ã§ããŸãã ããããããè€éãªå€æ°ïŒããšãã°ãintãŸãã¯floatïŒã¯ãåã«å€ãã®ãããã®ã³ã¬ã¯ã·ã§ã³ã§ãã
éåã³ã³ãã¥ãŒã¿ãŒã¯ãéåããããŸãã¯éåãããã«åºã¥ããŠããŸãã ãŸãã2ã€ã®å¯èœãªæå³ãããã0ããã³1ãšåŒã¶ããšãã§ããŸããããããéåååŠã®æ³åã§ã¯ãéãåããç¶æ
ãšåŒã°ããä»ã®æå³ãå¯èœã§ãã
ããæå³ã§ã¯ãéãåããç¶æ
ã¯æ¥µå€0ãš1ã®éã«ååšããå€ã§ãããã¥ãŒãããã¯ã0ãš1ãå察ã®æ¥µã«ããçäœãšèããããšãã§ããŸãã éãåããç¶æ
ã¯ããµãŒãã§ã¹äžã®ä»ã®ãã¹ãŠã®å¯èœãªç¹ã§ãã
ãã¥ãŒãããã¯ã0.63ãªã©ã®äžéå€ãæã€ããšãã§ããããã§ã¯ãããŸããã ãã¥ãŒãããã®ç¶æ
ã枬å®ããããšãçµæã¯åžžã«0ãŸãã¯1ã«ãªããŸãããã ããèšç®äžããã¥ãŒãããã¯ç¶æ
ã®æ··åã§ãããã®ããã«åäœã§ããŸããããšãã°ã63ïŒ
ãŒããš37ïŒ
ãŠãããã§ãã
éåãããã®æ¯ãèãã®ãã1ã€ã®éèŠãªåŽé¢ã¯ãæ³¢ç©çåŠã§ããç¥ãããŠããçŸè±¡ã§ããå¹²æžã§ãã 2ã€ã®æ³¢ãéãªãåããšãããããã¯äºãã«å¢å¹
ããããšãã§ããŸãïŒããŒã¯ãšæ³¢ã®ãããªæžè¡°ãäžèŽããå ŽåïŒããŸãã¯ãããã¯äºãã«æ°Žå¹³ã«ããããšãã§ããŸãïŒæ³¢ãäœçžã«å¯Ÿå¿ããªãå ŽåïŒã æ°åŠçã«ã¯ãä»»æã®ãã€ã³ãã§ã®çµåæ³¢ã®åŒ·åºŠã¯ãåã
ã®æ³¢ã®æ¯å¹
ã®åèšã®2ä¹ã«ãã£ãŠæ±ºãŸããŸãã 2ã€ã®æ¯å¹
ã®ç¬Šå·ãåãå Žåãå¹²æžã¯å»ºèšçã§ãã äžæ¹ã®æ¯å¹
ãæ£ã§ãããäžæ¹ã®æ¯å¹
ãè² ã®å ŽåãçµæãšããŠçããç Žå£çãªå¹²æžã¯ã1ã€ã®æ³¢ã®åŒ·åºŠãããå°ãã匷床ãäžããŸãã
æ³¢ã®ããã«ããã¥ãŒãããã®ç¶æ
0ããã³1ã«ã¯ãæ£ãŸãã¯è² ã®æ¯å¹
ããããŸãã æ¯å¹
ã®ç¬Šå·ã«å¿ããŠãéåå¹²æžã¯ããã¥ãŒãããã®ç¶æ
ã枬å®ãããšãã«ç¹å®ã®ç¶æ
ã芳枬ããã確çãå¢å ãŸãã¯æžå°ãããå¯èœæ§ããããŸãã
å¹²æžã¯ãéåã³ã³ãã¥ãŒã¿ãŒã®ãã¹ãŠã®èå³æ·±ãã¢ã«ãŽãªãºã ãã€ãŸãããã®ãããªãã·ã³ãå€å
žçãªã³ã³ãã¥ãŒã¿ãŒãè¶
ããããšãå¯èœã«ããã¢ã«ãŽãªãºã ã§åœ¹å²ãæãããŸãã éåã·ã¹ãã ã®é²åãæŽçããäžè¬çãªèãæ¹ã¯ã誀ã£ãçãã¯ç Žå£çãªå¹²æžã«ãã£ãŠæå¶ãããæ£ããçãã¯å»ºèšçãªå¹²æžã«ãã£ãŠå¢å¹
ããããšãããã®ã§ãã ãããã£ãŠãã¢ã«ãŽãªãºã ã¯ãéåã·ã¹ãã ã«åºæã®åœ¢åŒã®äžŠååŠçã䜿çšããŸãã
éåã®å¥åŠãã®ææ°ã®åŽé¢ã®1ã€ã¯ããšã³ã¿ã³ã°ã«ã¡ã³ãã§ãã ã¯ã©ã³ã¿ã ã¬ãžã¹ã¿å
ã®1ã€ã®ãã¥ãŒããããå€æŽããŠãæ®ããå€æŽããããšã¯ã§ããŸããã ãŸããéåã·ã¹ãã ã§èšç®ãããåé¢æ°ã¯å®å
šã«å¯éçã§ãªããã°ãªããŸããã ãã·ã³ãå
¥åAãåãåã£ãŠçµæBãåºåããå ŽåãBãããã°Aã埩å
ã§ããã¯ãã§ãã
åé¢æ°ã«ã¯ãåãæ°ã®å
¥åãšåºåãå¿
èŠã§ãã äžæ°ã«ããã®ã«ãŒã«ã¯ã»ãšãã©ã®ç®è¡æŒç®ãçŠæ¢ããŸãã ããšãã°ãéåžžã®å ç®ã¢ã«ãŽãªãºã ã¯å
ã«æ»ããŸããã 3ãš4ãè¿œå ããŠ7ãååŸã§ããŸããã7ããåæãããŠå
ã®3ãš4ã埩å
ããããšã¯ã§ããŸããã
éåã³ã³ãã¥ãŒãã£ã³ã°ã®ãã1ã€ã®çŠæ¢äºé
ã¯ããã¥ãŒãããã®ã³ããŒã§ãïŒãã®ååã¯ãã¯ããŒã³çŠæ¢å®çãšåŒã°ããŸãïŒã ãŸããèšç®ã®éäžã§ä»»æã«ãã¥ãŒããããã€ã³ã¹ããŒã«ãŸãã¯åããŒãããããšã¯ã§ããŸããã ãããè©Šã¿ããšãéåã®éãåãããç Žå£ãããŸãã
å
šäœãšããŠãéåãããæäœã®å¶éã¯ããã¹ãŠã®éåããã°ã©ã ãç
çªã¢ãŒããã¯ãã£ãæããªããã°ãªããªãããšãæå³ããŸããã€ãŸããæ
å ±ã¯äžç«¯ããä»ç«¯ãžçŽæ¥æµããŸãã ç¹ã«éèŠãªã®ã¯ãããã°ã©ã æ§é å
ã«ãå¶åŸ¡ã以åã®ãã€ã³ãã«æ»ããããµã€ã¯ã«ããªãããšã§ãã
ãããã®å°é£ã«å¯Ÿããçãã¯ãéåããã°ã©ãã³ã°èšèªã«ãããŸãã å®éãéåã³ã³ãã¥ãŒã¿ãŒã¯ãã€ããªããããã€ã¹ã§ããéšåçã«éåã³ã³ãã¥ãŒã¿ãŒãšéšåçã«å€å
žçãªã³ã³ãã¥ãŒã¿ãŒã§ãã å€éšã¢ããªã±ãŒã·ã§ã³ãšå¯Ÿè©±ããããã«ãå
¥åããã³åºåãåŠçããã«ã¯ãåŸæ¥ã®ã³ã³ãã¥ãŒã¿ãŒã®èŠçŽ ã䜿çšããå¿
èŠããããŸãã ãããã£ãŠã1ã€ã®ããã°ã©ã ã§ãå€å
žçãªã³ãŒããšéåã³ãŒããçµã¿åãããããšãã§ããŸãã
ãªãŒãã³éåã¢ã»ã³ããªèšèªïŒOpenQASMïŒ
OpenQASMãœãŒã¹ã³ãŒãã¯ã Quantum Experienceéåã³ã³ãã¥ãŒãã£ã³ã°ãã©ãããã©ãŒã ã§äœ¿çšããããã®IBM Quantum Information Software Kit ïŒQISKitïŒã®äžéšãšããŠãªãªãŒã¹ãããŸããã OpenQASMã¯ãé»ååè·¯ã®æ§é ãšåäœãèšè¿°ããããã«äœ¿çšãããç¹æ®ãªããã°ã©ãã³ã°èšèªïŒVerilogãªã©ïŒãšã®é¡äŒŒç¹ãå
±æããŠããŸãã
QASMããã°ã©ã ã¯ãå®éã«ã¯åžžã«åãæ¹æ³ã§éå§ããŸããå¿
èŠãªãã¹ãŠã®ãããïŒã¯ã©ã³ã¿ã ãšããŒãã«ã®äž¡æ¹ïŒãå®çŸ©ããŸãã 以äžã¯OpenQASMãœãŒã¹ã³ãŒãã®äŸã§ãã ããã°ã©ã ã¯2ã€ã®4ãããæ°ãè¿œå ããŸãã
OPENQASM 2.0; include "qelib1.inc"; gate majority a,b,c { cx c,b; cx c,a; ccx a,b,c; } gate unmaj a,b,c { ccx a,b,c; cx c,a; cx a,b; } qreg cin[1]; qreg a[4]; qreg b[4]; qreg cout[1]; creg ans[5];
Q #
é«åºŠãªããã°ã©ãã³ã°èšèªQïŒã«ãããéåç©çåŠã«é¢ããæ·±ãç¥èãäžèŠã«ãªããŸãã èšèªã®æç§æžã«èå³ããã人ã®ããã«ããã¯ãã«ããã³è¡åæ°åŠããã¥ãŒãããã ãã£ã©ãã¯èšæ³ ã ããŠãªã®åçãããã³éåã¹ããŒã ãã«ããŒãããéåã³ã³ãã¥ãŒãã£ã³ã°ã®åºæ¬æŠå¿µã«é¢ããæ
å ±ãæäŸããŸãã
operation Teleport(msg : Qubit, there : Qubit) : () { body { using (register = Qubit[1]) { let here = register[0]; H(here); CNOT(here, there); CNOT(msg, here); H(msg); if (M(msg) == One) { Z(there); } if (M(here) == One) { X(there); } } } }
QïŒãã¥ãŒããªã¢ã«ã®Teleportation.qsã¹ã¯ãªããã ãã¥ãŒããªã¢ã«ã¯ãã¡ãããå
¥æã§ããŸãã
QïŒã¯ä»ã®ã»ãšãã©ã®ããã°ã©ãã³ã°èšèªã®ããã«ã¯èŠãããCïŒãšãã䌌ãŠããŸãã
Quantum Development Kitã¯ã詳现ãªã€ã³ã¹ããŒã«æé ãšå
¥éãã¬ãŒãã³ã°ããã°ã©ã ãšãšãã«ç¡æã§æäŸãããŸãã QïŒVisual Studioéåã·ãã¥ã¬ãŒã¿ãŒã§ã³ã³ãã€ã«ãã32éåãããéåããã»ããµãŒãã·ãã¥ã¬ãŒãããŸãã ã·ãã¥ã¬ãŒã¿ãŒã¯ãæ倧40ãã¥ããããã·ãã¥ã¬ãŒãã§ããŸãã
Microsoftã®ãã¥ãŒããªã¢ã«ã«åŸããšãåŠç¿ããã»ã¹ã¯2ã€ã®ãã¥ãŒãããããã®ãã€ãç¶æ
ã®èŠ³å¯ãããéåãã¬ããŒããŒã·ã§ã³ã®ã¢ããªã³ã°ã«é²ã¿ãŸãã
LIQUiïŒèšèªçµ±åéåæäœïŒ
Microsoft Researchã®Quantum Architectures and Computation GroupããŒã ã«ãã£ãŠäœæãããLIQUiãã©ãããã©ãŒã ã«ã¯ãããã°ã©ãã³ã°èšèªãæé©åããã³èšç»ã¢ã«ãŽãªãºã ãããã³ããã€ãã®éåã·ãã¥ã¬ãŒã¿ãŒãå«ãŸããŠããŸãã LIQUiã䜿çšããŠã.NET Frameworkãã¡ããªã®FïŒã§é«ã¬ãã«ããã°ã©ã ãšããŠèšè¿°ãããéåã¢ã«ãŽãªãºã ããéåã³ã³ãã¥ãŒã¿ãŒçšã®äœã¬ãã«ã³ãã³ãã«å€æã§ããŸãã
LIQUiã§ã¯ã32 GBã®RAMãæèŒãã1å°ã®ãã·ã³ã§æ倧30ãã¥ããããã·ãã¥ã¬ãŒãã§ããŸãã ãã®ãã©ãããã©ãŒã ã䜿çšããŠãããŸããŸãªã°ã©ãã£ãã¯åœ¢åŒã§éåã¹ããŒã ãå®çŸ©ãå®è¡ã衚瀺ã§ããŸãã LIQUiã䜿çšãããšãåçŽãªéåãã¬ããŒããŒã·ã§ã³ãã·ã§ã¢å åå解ã¢ã«ãŽãªãºã ãéåé£æ³ã¡ã¢ãªãããã³éåç·åœ¢ä»£æ°ãã·ãã¥ã¬ãŒãã§ããŸãã
operation TeleportClassicalMessage(message : Bool) : Bool { body { mutable measurement = false; using (register = Qubit[2]) { // , . let msg = register[0]; let there = register[1]; // , . if (message) { X(msg); } Teleport(msg, there); // . if (M(there) == One) { set measurement = true; } ResetAll(register); } return measurement; } }
äžèšã®äŸãããããããã«ãLIQUiã¯QïŒãšéåžžã«ãã䌌ãŠããŸãã
éåèšç®èšèªïŒQCLïŒ
QCLããŸãã¯éåèšç®èšèªã¯ã1998幎ã«Bernhard Omerã«ãã£ãŠäœæãããŸããã èšèªã®éçºã¯çŸåšãç¶ããããŠããŸããå€å
žçãªã³ã³ãã¥ãŒã¿ãŒã§éåããã°ã©ã ãå®è¡ã§ãããšãã¥ã¬ãŒã¿ãŒããããŸã ã ãã¡ããããšãã¥ã¬ãŒã¿ãŒã¯éå䞊ååŠçã®å éãæäŸã§ããŸããã äžæ¹ãããã°ã©ããŒã«ã¯ãéåãããã®å
éšç¶æ
ããã§ãã¯ããããã®ã³ãã³ãïŒå®éã®éåæ©åšã§è¡ãã®ã¯éåžžã«å°é£ã§ãïŒãªã©ãããã€ãã®äŸ¿å©ãªæ©èœãæäŸããŸãã
QCLã¯ãå€æ°ã®å€ãèšå®ããã³ãªã»ããããããã«çŽæ¥ã³ãã³ãã«äŸåããããããåœä»€åãèšèªãšåŒã°ããããšã®ããCããã³Javaã®æ§æãåçšããŸãã ãã®ãããªã³ãã³ãã¯éåžžãéåã³ã³ãã¥ãŒãã£ã³ã°ã§ã¯çŠæ¢ãããŠãããããQCLããã°ã©ã ã®äž»èŠéšåã¯åŸæ¥ã®æ©åšã§ã®ã¿æ©èœããŸãã éåã·ã¹ãã ã¯ãéåãããã®èšç®ã«é©ãã圢åŒã§è³ªåã§ãã質åã«çããããªã©ã¯ã«ããšããŠæ©èœããŸãã ãªã©ã¯ã«ãžã®åãªã¯ãšã¹ãã«ã¯ãå¿
èŠãªãã ããŒã¢ãŒããã¯ãã£ãå¿
èŠã§ãããå€éšã®å€å
žçãªã³ã³ããã¹ãã®ã«ãŒãã«åã蟌ãããšãã§ããŸãã
QCLïŒé¢æ£ããŒãªãšå€æïŒã§äœæãããã³ãŒãã®æçïŒ
operator dft(qureg q) { const n=#q; int i; int j; for i=1 to n { for j=1 to i-1 { V(pi/2^(ij),q[ni] & q[nj]); } H(q[ni]); } flip(q); }
é¢æ£ããŒãªãšå€æã¯ãã·ã§ã¢å解ã¢ã«ãŽãªãºã ã®éèŠãªã¹ãããã§ãã Shoreã¢ã«ãŽãªãºã ã§ã¯ãå æ°å解ãããæ°ã¯ãæ³¢ã®ãããªåšæçãªä¿¡å·ãšèŠãªãããŸãã Nã«ä¿æ°uããã³vãããå ŽåãNã¯vã®uåã®ç¹°ãè¿ããŸãã¯uã®våã®ç¹°ãè¿ãã§æ§æãããŸãã Shoreã¢ã«ãŽãªãºã ã¯ãéå䞊åæ§ã䜿çšããŠãã®ãããªç¹°ãè¿ãã®æéãæ€çŽ¢ããŸãããããã»ã¹ã¯äžèšã®äŸã®ããã«åçŽã§åçŽã§ã¯ãããŸããã
ããããŒ
èšèªã¯ãPeter Selingerãçããèè
ããŒã ã«ãã£ãŠäœæãããŸãã ã Quipperã¯QCLãšåãããã°ã©ãã³ã°ã¿ã¹ã¯çšã«èšèšãããŠããŸãããæ§é ãšå€èŠ³ãç°ãªããŸãã ãã®èšèªã¯ãåœä»€çãªè¡šçŸã§ã¯ãªãæ©èœçãªè¡šçŸã䜿çšããHaskellæ¡åŒµãšããŠå®è£
ãããŠããŸãã
å€å
žçãªéåãã¬ããŒããŒã·ã§ã³ãæ€èšããŠãã ããã ã¢ãªã¹ãšããã®2ã€ã®åŽé¢ãå«ãŸããŠããŸãã ã¢ãªã¹ã®ç®æšã¯ãqããããããã«ãã¬ããŒãããããšã§ãã ã¢ãªã¹ãšããã¯ãè€éãªãã¢ïŒaãbïŒããã®ãã¥ãŒãããã«ã¢ã¯ã»ã¹ããå¿
èŠããããŸãã 2ã€ã®ãã¥ãŒãããqãšaãå°å
¥ããé¢æ°ã«é¢ããŠãã¢ãªã¹ã®åœ¹å²ãèããããšãã§ããŸãã é¢æ°ã®åºåã¯ãAliceã«ãã£ãŠäœæãããåŸæ¥ã®ãããã®ãã¢ã«ãªããŸãã
alice :: Qubit -> Qubit -> Circ (Bit,Bit) alice qa = do a <- qnot a 'controlled' qq <- hadamard q (x,y) <- measure (q,a) return (x,y)
詳现ã«ã€ããŠã¯ãã Quipperã§ã®éåããã°ã©ãã³ã°ã®æŠèŠ ã ãšããããã¥ã¡ã³ããåç
§ããŠãã ããã
ãããŠãçµã¿èŸŒã¿ã®äºä¹æé ã§xã16床ãŸã§äžããxãšx ^ 16ãæããããšã§ã17床ãŸã§äžããèå³æ·±ãäŸããããŸãã
o4_POW17 :: QIntTF -> Circ (QIntTF,QIntTF) o4_POW17 = box "o4" $ \x -> do comment_with_label "ENTER: o4_POW17" x "x" (x, x17) <- with_computed_fun x (\x -> do (x,x2) <- square x (x2,x4) <- square x2 (x4,x8) <- square x4 (x8,x16) <- square x8 return (x,x2,x4,x8,x16)) (\(x,x2,x4,x8,x16) -> do (x,x16,x17) <- o8_MUL x x16 return ((x,x2,x4,x8,x16),x17)) comment_with_label "EXIT: o4_POW17" (x,x17) ("x","x17") return (x, x17)
Quipperã·ã¹ãã ã¯ã³ã³ãã€ã©ãŒã§ãããã€ã³ã¿ãŒããªã¿ãŒã§ã¯ãããŸããã 圌ã¯äžåºŠã«å®å
šãªããã°ã©ã ã翻蚳ãã次ã
ãšæ瀺ã«åŸããªãã ã³ã³ãã€ã©ã®åºåã¯ãçžäºæ¥ç¶ãããå¯éè«çã²ãŒãã®ãããã¯ãŒã¯ã§ããéååè·¯ã§æ§æãããŠããŸãã åè·¯ã¯é»æ°åè·¯ã®åœ¢ããšãããšãã§ããŸãããé©åãªéåæ©åšãŸãã¯ã·ãã¥ã¬ãŒã¿ã䜿çšããŠå®è¡ããæºåãã§ããŠããäžé£ã®åœä»€ãè¡šããŸãã
Quipperã¯ãQCLãšåæ§ã«ãé«ã¬ãã«ã®ãœãŒã¹ã»ãã³ãã£ãã¯ã³ã³ã¹ãã©ã¯ãããã¹ããŒããèªåçã«çæããŸãã
ãã®ä»ã®ã¢ãããŒã

ãã«ãã«ã©ãŒã®æ£æ¹åœ¢ã¯ã5ã€ã®IBMéåãããã®åŠçæ¹æ³ã瀺ããŸãã ãã©ãã°ã¢ã³ãããããããããšã§ãç¬èªã®éåã³ã³ãã¥ãŒãã£ã³ã°ãäœæã§ããŸã
IBM Quantum Experienceãããžã§ã¯ãã¯ã誰ããå®éã®éåã³ã³ãã¥ãŒã¿ãŒã§å®éšããã°ã©ã ãå®è¡ããæ©äŒãæäŸããŸãã IBMããã°ã©ãã³ã°èšèªã§ã®äœæ¥ã¯ãã¢ããªã±ãŒã·ã§ã³ã䜿çšããŠé³æ¥œãæžãããšã«äŒŒãŠããŸãã ããã°ã©ãã¯ãéåãªããžã§ã¯ããç¹å®ã®é åã«ãã©ãã°ããã ãã§ããã°ã©ã ãäœæã§ããŸãã
Quantum Computing Playgroundã¯WebGL Chromeã®å®éšã§ããããã©ãŠã¶ãŠã£ã³ããŠã§éåã³ã³ãã¥ãŒã¿ãŒã®æäœãã·ãã¥ã¬ãŒãã§ããŸãã ãããã°ããã³3DéååèŠèŠåæ©èœãåããç¬èªã®Qscriptã¹ã¯ãªããèšèªããããŸãã éåã³ã³ãã¥ãŒãã£ã³ã°ãã©ãããã©ãŒã ã¯ãæ倧22éåãããã®éåã¬ãžã¹ã¿ãå¹æçã«ã·ãã¥ã¬ãŒãã§ããŸãã
Python QISKit SDKã«ã¯ãéåããã°ã©ãã³ã°ã®ç®æšã瀺ãããã« IBM Qãšã³ãžãã¢ãæäŸããããã€ãã®ããŒã«ãå«ãŸããŠããŸãã ç¹ã«ãSDKã¯ãè€éãªå®éšã®ããã«ããã€ãã®ã¿ã¹ã¯ãå®äºããæ¹æ³ã瀺ããŠããŸãã ååã瀺ãããã«ãQISKitã䜿çšãããšãéçºè
ã¯Pythonã䜿çšããŠéåã³ã³ãã¥ãŒã¿ãŒãæ¢çŽ¢ã§ããŸãã
Qbsolvã¯ãD-Waveéåããã»ããµïŒãã®äŒç€Ÿã®ã³ã³ãã¥ãŒã¿ãŒã«ã®ã¿é©ããŠããŸãïŒã®ãã¥ãŒããããæäœããããã®ãªãŒãã³ãœãŒã¹ãããžã§ã¯ãã§ãã
ãã§ã«æ°åã®éåããã°ã©ãã³ã°èšèªïŒããã³ã·ãã¥ã¬ãŒã¿ãŒïŒããããŸããããããã¯ãã¹ãŠä»®æ³ãã·ã³ã§åäœããŸãã ãããããIBM Qã¯ãå®éã®éåã³ã³ãã¥ãŒã¿ãŒãžã®ã¢ã¯ã»ã¹ãæäŸããå¯äžã®ãããžã§ã¯ãã§ãã ãã ãããéåããã°ã©ãã³ã°ãã«åãæããã«ã¯ãå®éã®é«åºŠãªããã€ã¹ã«ã¢ã¯ã»ã¹ããå¿
èŠã¯ãŸã£ãããããŸããã ãã§ã«ãææãªéåã¢ã«ãŽãªãºã ã®ç 究ã ãã§ãªããã²ãŒã ãªã©ã®å®çšçãªã¢ããªã±ãŒã·ã§ã³ãäœæããããšãã§ããŸãã ããããããã¯ãŸã£ããç°ãªã話ã§ãã
ãœãŒã¹ïŒ
éåã³ã³ãã¥ãŒã¿ãŒã®æ§ç¯ãæ¯æŽããããšããã§ããŸã
QuipperïŒéåã³ã³ãã¥ãŒã¿ãŒåãã®æåã®é«ã¬ãã«ã§ã¹ã±ãŒã©ãã«ãªããã°ã©ãã³ã°èšèª
éåããã°ã©ãã³ã°èšèª
éåã³ã³ãã¥ãŒã¿ãŒã®ããã°ã©ãã³ã°æ¹æ³
æ§é åéåããã°ã©ãã³ã°
QCL-éåã³ã³ãã¥ãŒã¿ãŒçšã®ããã°ã©ãã³ã°èšèª