рдЧреЗрдЯ-рд▓реЗрд╡рд▓ рдХреНрд╡рд╛рдВрдЯрдо рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХрд╛ рдЕрд╡рд▓реЛрдХрди рдФрд░ рддреБрд▓рдирд╛

рдирдорд╕реНрдХрд╛рд░, рд╣реЗрдмреНрд░! рдореИрдВ рдЖрдкрдХреЗ рд▓рд┐рдП рд░рдпрд╛рди LaRose рджреНрд╡рд╛рд░рд╛ "рдЧреЗрдЯ рд▓реЗрд╡рд▓ рдХреНрд╡рд╛рдВрдЯрдо рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рдЕрд╡рд▓реЛрдХрди рдФрд░ рддреБрд▓рдирд╛" рд▓реЗрдЦ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реВрдВред


рдХреНрд╡рд╛рдВрдЯрдо рдХрдВрдкреНрдпреВрдЯрд░ рдХреНрд▓рд╛рдЙрдб рдЗрдВрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕рд╛рде рд╣реА, рдХреНрд╡рд╛рдВрдЯрдо рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдореЗрдВ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдЙрдЫрд╛рд▓ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рднрд╛рд░реА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рддрдп рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИред рдпрд╣ рдЖрд▓реЗрдЦ рдЪрд╛рд░ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо - рдлрд╝реЙрд░реЗрд╕реНрдЯ (pyQuil), QISKit, ProjectQ, рдФрд░ рдХреНрд╡рд╛рдВрдЯрдо рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдХрд┐рдЯ - рдХреА рддреБрд▓рдирд╛ рдХрд░рдХреЗ рдХреНрд╡рд╛рдВрдЯрдо рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдХреЗ рддреЗрдЬреА рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛ рд░рд╣реЗ рдкрд░рд┐рджреГрд╢реНрдп рдХреА рдПрдХ рд╡рд░реНрддрдорд╛рди рддрд╕реНрд╡реАрд░ рдкреЗрд╢ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рд╢реЛрдзрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдФрд░ рд╕рд┐рдореНрдпреБрд▓реЗрдЯреЗрдб рдХреНрд╡рд╛рдВрдЯрдо рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╣ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдФрд░ рд╕реНрдерд╛рдкрдирд╛, рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдкрд░ рднрд╛рд╖рд╛ рдХреЗ рд╡рд╛рдХреНрдп рд╡рд┐рдиреНрдпрд╛рд╕, рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╕реНрддрд░ рдкрд░ рд╕рдорд░реНрдерди рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдордВрдЪ рдХреЗ рд▓рд┐рдП рдПрдХ рдХреНрд╡рд╛рдВрдЯрдо рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рдХреА рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рддрд╛ рд╣реИред рдЙрди рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рдХреНрд╡рд╛рдВрдЯрдо рдХрдВрдкреНрдпреВрдЯрд░реЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ, рд╣рдо рд╣рд╛рд░реНрдбрд╡реЗрдпрд░, рдХреНрд╡рд╛рдВрдЯрдо рдХреЛрдбрд╛рдВрддрд░рдХ рднрд╛рд╖рд╛рдУрдВ рдФрд░ рдХреНрд╡рд╛рдВрдЯрдо рдХрдВрдкрд╛рдЗрд▓рд░реЛрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░рддреЗ рд╣реИрдВред рдЕрдВрдд рдореЗрдВ, рд╣рдо рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗ рдФрд░ рдХреНрд╡рд╛рдВрдЯрдо рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЕрдиреНрдп рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдкреИрдХреЗрдЬреЛрдВ рдХрд╛ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦ рдХрд░реЗрдВрдЧреЗред


рд╕рд╛рдордЧреНрд░реА


I. рдкрд░рд┐рдЪрдп
рджреНрд╡рд┐рддреАрдпред рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо
рдПред PyQuil
рдмреАред Qiosit
C. рдкреНрд░реЛрдЬреЗрдХреНрдЯрдХреНрдпреВ
рдбреАред рдХреНрд╡рд╛рдЯрдо рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдХрд┐рдЯ
рддреГрддреАрдпред рддреБрд▓рдирд╛
рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╕рдорд░реНрдерди
B. рдХреНрд╡рд╛рдВрдЯрдо рд╣рд╛рд░реНрдбрд╡реЗрдпрд░
C. рдХреНрд╡рд╛рдВрдЯрдо рд╕рдВрдХрд▓рдХ
рдбреАред рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рдкреНрд░рджрд░реНрд╢рди
рдИред рд╕реБрд╡рд┐рдзрд╛рдПрдБ
рдЪрддреБрд░реНрдеред рдЪрд░реНрдЪрд╛ рдФрд░ рдирд┐рд╖реНрдХрд░реНрд╖
рд╕рдВрджрд░реНрдн
рдкрд░рд┐рд╢рд┐рд╖реНрдЯ A. рдЕрдиреНрдп рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо
рдкрд░рд┐рд╢рд┐рд╖реНрдЯ B. рдкрд░реАрдХреНрд╖рдг рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рдкреНрд░рджрд░реНрд╢рди
рдкрд░рд┐рд╢рд┐рд╖реНрдЯ C. рдЙрджрд╛рд╣рд░рдг рдХрд╛рд░реНрдпрдХреНрд░рдо: рдЯреЗрд▓реАрдкреЛрд░реНрдЯреЗрд╢рди рд╕реНрдХреАрдо


I. рдкрд░рд┐рдЪрдп


рдХреНрд╡рд╛рдВрдЯрдо рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдХреЛ рдХрдо рд╕реЗ рдХрдо рджреЛ рджрд╢рдХ рдкрд╣рд▓реЗ [1-3] рдорд╛рдирд╛ рдЬрд╛рддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рд╡реЗ рдЬреНрдпрд╛рджрд╛рддрд░ рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рдФрд░ рдореМрдЬреВрджрд╛ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рдмрд┐рдирд╛ рдереЗред рдХреНрд╡рд╛рдВрдЯрдо рдХрдВрдкреНрдпреВрдЯрд░ рдЕрдм рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рд╣реИ, рдФрд░ рдХреНрд╡рд╛рдВрдЯрдо рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдПрдВ рд╣реИрдВ рдЬреЛ рдХрд┐рд╕реА рдХреЛ рднреА рдЗрдВрдЯрд░рдиреЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред рдЙрджреНрдпреЛрдЧ рдФрд░ рд╢рд┐рдХреНрд╖рд╛ рджреЛрдиреЛрдВ рдореЗрдВ рдЙрдЪрд┐рдд рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╢реЛрдзрдХрд░реНрддрд╛рдУрдВ рдиреЗ рдЫреЛрдЯреЗ рдХреНрд╡рд╛рдВрдЯрдо рдЙрдкрдХрд░рдг рдмрдирд╛рдП рд╣реИрдВ рдЬреЛ рдХреНрд╡рд╛рдВрдЯрдо рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдХреЗ рд╕рд░реНрдХрд┐рдЯ рдореЙрдбрд▓ рдкрд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рдпреЗ рдХрдВрдкреНрдпреВрдЯрд░ рдЫреЛрдЯреЗ, рд╢реЛрд░ рдФрд░ рдЖрдзреБрдирд┐рдХ рдХреНрд▓рд╛рд╕рд┐рдХ рдХрдВрдкреНрдпреВрдЯрд░ рдХреЗ рд╕рдорд╛рди рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдирд╣реАрдВ рд╣реИрдВред рд▓реЗрдХрд┐рди рд╡реЗ рдЙрднрд░ рд░рд╣реЗ рд╣реИрдВ, рд▓рдЧрд╛рддрд╛рд░ рдмрдврд╝ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рд░рд╕рд╛рдпрди рд╡рд┐рдЬреНрдЮрд╛рди рдХреЗ рдХрд╛рд░реНрдпреЛрдВ [4, 5], рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ [6, 7], рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди [8], рд╡рд┐рддреНрддреАрдп рдХреНрд╖реЗрддреНрд░ [9] рдФрд░ рдЕрдзрд┐рдХ [10] рдХреЗ рд▓рд┐рдП рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдмрдбрд╝реА рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рд╢рдХреНрддрд┐ рдХрд╛ рддреНрдпрд╛рдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдпреЗ рдЙрдкрдХрд░рдг рдХрдВрдкреНрдпреВрдЯрд░ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рдХреЗ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЬрдЯрд┐рд▓ рд░реВрдк рд╕реЗ рдЬрдЯрд┐рд▓ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд╡рд╛рдВрдЯрдо рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдЗрдВрдЬреАрдирд┐рдпрд░реЛрдВ рдХреА рдЕрдЧрд▓реА рдкреАрдврд╝реА рдХреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд░реАрдХреНрд╖рдг рдмреЗрдВрдЪ рд╣реИрдВред рджрд░рдЕрд╕рд▓, рдХреНрд▓рд╛рдЙрдб рдХреНрд╡рд╛рдВрдЯрдо рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдбреНрдпреВрдЯреЗрд░реЙрди рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдПрдирд░реНрдЬреА [11] рдФрд░ рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдПрд▓реНрдЧреЛрд░рд┐рджрдо [12, 13] рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рджрд┐рдирдЪрд░реНрдпрд╛ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред


рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рдХреНрд▓рд╛рд╕рд┐рдХ рдХрдВрдкреНрдпреВрдЯрд░ рднрд╛рд╖рд╛рдУрдВ рдХреА рдПрдХ рд╡рд┐рд╕реНрддреГрдд рд╢реНрд░реГрдВрдЦрд▓рд╛ рдкрд░ рдХреНрд╡рд╛рдВрдЯрдо рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдореЗрдВ рддреЗрдЬреА рд╕реЗ рд╡реГрджреНрдзрд┐ рд╣реБрдИ рд╣реИред рдкрдЪрд╛рд╕ рд╕реЗ рдЕрдзрд┐рдХ рдХреЗ рд╕рд╛рде рдУрдкрди рд╕реЛрд░реНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдХреА рдПрдХ рд╕реВрдЪреА [14] рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИ, рдФрд░ рдХреНрд╡рд╛рдВрдЯрдо рдХрдВрдкреНрдпреВрдЯрд░ рд╕рд┐рдореБрд▓реЗрд╢рди рдХреА рдПрдХ рд╕реВрдЪреА [15] рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИред рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреА рдпрд╣ рд╡рд┐рд╢рд╛рд▓ рд╕рдВрдЦреНрдпрд╛ рдЬреЛ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд╡рд┐рдХрд╛рд╕ рдХреЛ рд╕рдХрд╛рд░рд╛рддреНрдордХ рд░реВрдк рд╕реЗ рджрд░реНрд╢рд╛рддреА рд╣реИ, рдЫрд╛рддреНрд░реЛрдВ рдФрд░ рд╢реЛрдзрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ рддрдп рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреМрди рд╕реЗ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдкреИрдХреЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рддрд╛рдХрд┐ рдбреЙрдХреНрдпреВрдореЗрдВрдЯреЗрд╢рди рдореЗрдВ рдЦреЛ рди рдЬрд╛рдПрдВ рдпрд╛ рдЖрд╡рд╢реНрдпрдХ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЬреНрдЮрд╛рди рд╕реЗ рдЪреМрдВрдХ рдЬрд╛рдПрдВред


рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдЧреЗрдЯ рд╕реНрддрд░ рдкрд░ рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рдпреЛрдЬрди рдХреЗ рдХреНрд╡рд╛рдВрдЯрдо рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЕрд╡рд▓реЛрдХрди рдФрд░ рдореБрдЦреНрдп рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреА рддреБрд▓рдирд╛ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреА рдЙрдореНрдореАрдж рд╣реИред рдЪрд╛рд░ рдХреЛ рдПрдХ рд▓рдВрдмреА рд╕реВрдЪреА рд╕реЗ рдЪреБрдирд╛ рдЧрдпрд╛: рддреАрди, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреНрд╡рд╛рдВрдЯрдо рдЙрдкрдХрд░рдгреЛрдВ рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ - рд░рд┐рдЧреЗрдЯреНрдЯреА рд╕реЗ pyQuil [16], рдЖрдИрдмреАрдПрдо рд╕реЗ QISKit [17] рдФрд░ ETH рдЬреНрдпреВрд░рд┐рдЦ рд╕реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯрдХреНрдпреВ [18, 19] рдФрд░ рдЗрд╕реА рддрд░рд╣ рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рде, рд▓реЗрдХрд┐рди рдХреНрд╡рд╛рдВрдЯрдо рдХрдВрдкреНрдпреВрдЯрд░ рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдХреА рд╡рд░реНрддрдорд╛рди рдХреНрд╖рдорддрд╛ рдХреЗ рдмрд┐рдирд╛ - рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рд╕реЗ рдХреНрд╡рд╛рдВрдЯрдо рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдХрд┐рдЯ [20]ред рдЗрди рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЛ рдЪреБрдирдиреЗ рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреНрд╡рд╛рдВрдЯрдо рдбрд┐рд╡рд╛рдЗрд╕ рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдмрди рдЧрдИ рд╣реИред рдЗрд╕ рд╡рдЬрд╣ рд╕реЗ, рдФрд░ рд╕рдВрдХреНрд╖рд┐рдкреНрддрддрд╛ рдХреЗ рд▓рд┐рдП, рдХрдИ рд╕рдореНрдорд╛рдирдЬрдирдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рдЬрд╛рдирдмреВрдЭрдХрд░ рдЫреЛрдбрд╝ рджрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдкрд░рд┐рд╢рд┐рд╖реНрдЯ рдП рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ ред


рдлрд┐рд▓рд╣рд╛рд▓, рдореБрдЦреНрдп рд▓рдХреНрд╖реНрдп рдЗрди рдЪрд╛рд░ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рдХрд╛рд░рдг рдХреНрд╡рд╛рдВрдЯрдо рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдХреА рдПрдХ рдкрд░рд┐рджреГрд╢реНрдп рддрд╕реНрд╡реАрд░ рдкреЗрд╢ рдХрд░рдирд╛ рд╣реИред рдЕрдиреБрднрд╛рдЧ II рдореЗрдВ, рд╣рдо рдмрд╛рд░реА-рдмрд╛рд░реА рд╕реЗ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдФрд░ рд╕реНрдерд╛рдкрдирд╛, рдкреНрд░рд▓реЗрдЦрди рдФрд░ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓, рднрд╛рд╖рд╛ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдФрд░ рдХреНрд╡рд╛рдВрдЯрдо рдЙрдкрдХрд░рдг рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рддреЗ рд╣реБрдП рдкреНрд░рддреНрдпреЗрдХ рдордВрдЪ рдХреЛ рджреЗрдЦреЗрдВрдЧреЗред рдзрд╛рд░рд╛ III рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреА рдПрдХ рд╡рд┐рд╕реНрддреГрдд рддреБрд▓рдирд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ: III A рдореЗрдВ рдХреНрд╡рд╛рдВрдЯрдо рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╕реНрддрд░ рдкрд░ рд╕рдорд░реНрдерди, III B рдореЗрдВ рдХреНрд╡рд╛рдВрдЯрдо рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╕рдорд░реНрдерди, III C рдореЗрдВ рдХреНрд╡рд╛рдВрдЯрдо рд╕рд░реНрдХрд┐рдЯ рдХреЗ рдХрдВрдкрд╛рдЗрд▓рд░ рдФрд░ рдХреНрд╡рд╛рдВрдЯрдо рдХрдВрдкреНрдпреВрдЯрд░ рд╕рд┐рдореБрд▓реЗрдЯрд░ III Dред рдзрд╛рд░рд╛ IV рдкреНрд░рддреНрдпреЗрдХ рдордВрдЪ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рд╡реНрдпрдХреНрддрд┐рдкрд░рдХ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рддрд╛ рд╣реИред рдкрд░рд┐рд╢рд┐рд╖реНрдЯ A рдореЗрдВ рдЕрдиреНрдп рдХреНрд╡рд╛рдВрдЯрдо рд╕реЙрдлреНрдЯрд╡реЗрдпрд░реНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╣реИ, рдкрд░рд┐рд╢рд┐рд╖реНрдЯ B рдореЗрдВ рдХреНрд╡рд╛рдВрдЯрдо рд╕рд░реНрдХрд┐рдЯ рд╕рд┐рдореБрд▓реЗрдЯрд░реЛрдВ рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╕реНрддреГрдд рдЬрд╛рдирдХрд╛рд░реА рд╣реИ, рдФрд░ рдкрд░рд┐рд╢рд┐рд╖реНрдЯ C рдкрдХреНрд╖-рджрд░-рддреБрд▓рдирд╛ рддреБрд▓рдирд╛ рдХреЗ рд▓рд┐рдП рдЪрд╛рд░ рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдореЗрдВ рдХреНрд╡рд╛рдВрдЯрдо рдЯреЗрд▓реАрдкреЛрд░реНрдЯреЗрд╢рди рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдХреЛрдб рджрд┐рдЦрд╛рддрд╛ рд╣реИред


рджреНрд╡рд┐рддреАрдпред рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо


рдЪрд┐рддреНрд░ 1 рд╡рд┐рднрд┐рдиреНрди рдХреНрд╡рд╛рдВрдЯрдо рдХрдВрдкреНрдпреВрдЯрд░ рдФрд░ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрдкрдХрд░рдгреЛрдВ рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рдЪрд╛рд░ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдЖрдкрдХреЛ рдЪрд╛рд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХреНрд╡рд╛рдВрдЯрдо рдХрдВрдкреНрдпреВрдЯрд░реЛрдВ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ - рд░рд┐рдЧреЗрдЯреА рд╕реЗ рдПрдХ, 8-рдХреНрд╡рд╛рдВрдЯрдо рдХреНрд╡рд╛рдВрдЯрдо рдХрдВрдкреНрдпреВрдЯрд░, рдЖрдк pyQuil [41] рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрдиреЗрдХреНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ; рдФрд░ рдЖрдИрдмреАрдПрдо рд╕реЗ рддреАрди, рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЙрдкрд▓рдмреНрдз 16 рдХреНрд╡рд╛рдЗрдм рдХреЗ рд╕рд╛рде, рдЬрд┐рд╕реЗ рдХреНрдпреВрд╕рд┐рдЯ рдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯрдХреНрдпреВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдИрдмреАрдПрдо рдЪреМрдерд╛ 20-рдХреНрд╡рд╛рдВрдЯрдо рдХреНрд╡рд╛рдВрдЯрдо рдХрдВрдкреНрдпреВрдЯрд░ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗрд╡рд▓ рдЖрдИрдмреАрдПрдо рдХреНрдпреВ рдиреЗрдЯрд╡рд░реНрдХ [42] рдХреЗ рд╕рджрд╕реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИ: рдХрдВрдкрдирд┐рдпреЛрдВ, рд╡рд┐рд╢реНрд╡рд╡рд┐рджреНрдпрд╛рд▓рдпреЛрдВ рдФрд░ рд░рд╛рд╖реНрдЯреНрд░реАрдп рдкреНрд░рдпреЛрдЧрд╢рд╛рд▓рд╛рдУрдВ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрдиреЗ рдФрд░ рдХреНрд╡рд╛рдВрдЯрдо рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдореЗрдВ рдирд┐рд╡реЗрд╢ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╕рдореВрд╣ред рдЪрд┐рддреНрд░ 1 рдореЗрдВ Google, IBM рдФрд░ Intel рдЬреИрд╕реА рдХрдВрдкрдирд┐рдпреЛрдВ рдХреЗ рдХреНрд╡рд╛рдВрдЯрдо рдХрдВрдкреНрдпреВрдЯрд░ рднреА рджрд┐рдЦрд╛рдП рдЧрдП рд╣реИрдВ рдЬрд┐рдирдХреА рдШреЛрд╖рдгрд╛ рдХреА рдЧрдИ рд╣реИ рд▓реЗрдХрд┐рди рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдирд┐рдпрдорд┐рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИрдВред



рдЪрд┐рддреНрд░рд╛ 1. рдПрдХ рдпреЛрдЬрдирд╛рдмрджреНрдз рдЖрд░реЗрдЦ рджрд┐рдЦрд╛ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдЧреЗрдЯ рд╕реНрддрд░ рдкрд░ рдПрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдХрдВрдкреНрдпреВрдЯрд░ рдХреЛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдП рдЧрдП рдХреНрд╡рд╛рдВрдЯрдо рдХрдВрдкреНрдпреВрдЯрд░ рд╕реЗ рдХреИрд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПред рд╡реНрдпрдХреНрддрд┐рдЧрдд рдХрдВрдкреНрдпреВрдЯрд░ (рдирд┐рдЪрд▓рд╛ рдХреЗрдВрджреНрд░) рд╕реЗ рд╢реБрд░реВ рд╣реЛрдХрд░, рд╣рд░реЗ рдиреЛрдбреНрд╕ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рджрд┐рдЦрд╛рддреЗ рд╣реИрдВ рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЧреНрд░реЗ рдиреЛрдбреНрд╕ рд╕рдВрдХреЗрдд рджреЗрддреЗ рд╣реИрдВ рдХрд┐ рд╕рд┐рдореБрд▓реЗрдЯрд░ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ (рдЬреЛ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░) рдЪрд▓рддрд╛ рд╣реИред рдзрд░рд╛рд╢рд╛рдпреА рд▓рд╛рдЗрдиреЗрдВ рдкреАрд▓реЗ "рдмрд╛рджрд▓реЛрдВ" рдореЗрдВ рджрд┐рдЦрд╛рдП рдЧрдП рдХрдВрдкрдиреА рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдкреАрдЖрдИ / рдХреНрд▓рд╛рдЙрдб рдХрдиреЗрдХреНрд╢рди рджрд┐рдЦрд╛рддреА рд╣реИрдВред рдХреНрд╡рд╛рдВрдЯрдо рд╕рд┐рдореБрд▓реЗрдЯрд░ рдФрд░ рдЗрди рдХреНрд▓рд╛рдЙрдб рд╕рдВрд╕рд╛рдзрдиреЛрдВ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рдХреНрд╡рд╛рдВрдЯрдо рдХрдВрдкреНрдпреВрдЯрд░ рдХреНрд░рдорд╢рдГ рдиреАрд▓реЗ рдФрд░ рд╕реЛрдиреЗ рдореЗрдВ рджрд┐рдЦрд╛рдП рдЬрд╛рддреЗ рд╣реИрдВред рд▓рд╛рд▓ рдлреНрд░реЗрдо рдЪрдпрдирд┐рдд рд╡рд┐рдзрд┐ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рджрд┐рдЦрд╛рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд░рд┐рдЧреЗрдЯреНрдЯреА рдлрд╝реЙрд░реЗрд╕реНрдЯ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдПрдЧреЗрд╡ 8 рдХреНрд╡рдмрд┐рдЯ рдХреНрд╡рд╛рдВрдЯрдо рдХрдВрдкреНрдпреВрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ pyQuil (MacOS, рд╡рд┐рдВрдбреЛрдЬ рдФрд░ рд▓рд┐рдирдХреНрд╕ рдкрд░ рдЙрдкрд▓рдмреНрдз) рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдПрдкреАрдЖрдИ рдХреБрдВрдЬреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд┐рдЧреЗрдЯреА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рд░рдЬрд┐рд╕реНрдЯрд░ рдХрд░реЗрдВ рдФрд░ рдлрд┐рд░ рдСрдирд▓рд╛рдЗрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбрд┐рд╡рд╛рдЗрд╕ рддрдХ рдкрд╣реБрдВрдЪ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░реЗрдВред рдЖрдХрд╛рд░ рджреЗрддреЗ рд╣реИрдВред рдиреЛрдЯреНрд╕: (i) рд░рд┐рдЧреЗрдЯреА рдХреНрд╡рд╛рдВрдЯрдо рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХреЗ рд▓рд┐рдП 30 рд╕реЗ рдЕрдзрд┐рдХ рдХреНрд╡реИрдмрд┐рдЯ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреА рдКрдВрдЪрд╛рдИ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, (ii) рд╕реНрдерд╛рдиреАрдп рд╕рд┐рдореБрд▓реЗрдЯрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП, рджреА рдЧрдИ рд╕рдВрдЦреНрдпрд╛ рдЕрдиреБрдорд╛рдирд┐рдд рд╣реИрдВ, рдФрд░ (iii) рдХреНрд╡рд╛рдВрдЯрдо рдХрдВрдкреНрдпреВрдЯрд░ рдЬреЛ рдШреЛрд╖рд┐рдд рдХрд┐рдП рдЧрдП рдереЗ рд▓реЗрдХрд┐рди рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдирд┐рдпрдорд┐рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИред


рдХреНрд╡рд╛рдВрдЯрдо рдЙрдкрдХрд░рдг рдХреА рддрдХрдиреАрдХ рддреЗрдЬреА рд╕реЗ рдмрджрд▓ рд░рд╣реА рд╣реИред рдпрд╣ рдмрд╣реБрдд рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдирдП рдХрдВрдкреНрдпреВрдЯрд░ рд╡рд░реНрд╖ рдХреЗ рдЕрдВрдд рддрдХ рджрд┐рдЦрд╛рдИ рджреЗрдВрдЧреЗ, рдФрд░ рджреЛ рдпрд╛ рддреАрди рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рдпрд╣ рд╕реВрдЪреА рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреБрд░рд╛рдиреА рд╣реЛ рд╕рдХрддреА рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЗрд╕ рддрдХрдиреАрдХ рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреМрди рд╕реЗ рд╣реИрдВред рдирдП рдХреНрд╡рд╛рдВрдЯрдо рдХрдВрдкреНрдпреВрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реЛрдЧрд╛, рдХреЛрдб рдХреА рдХреБрдЫ рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рдмрд┐рдирд╛, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрд╡рд╛рдВрдЯрдо рд╕рд░реНрдХрд┐рдЯ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдпрд╛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рдмрд┐рдирд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, QISKit рдореЗрдВ, рдЖрдкрдХреЛ рдпреЛрдЬрдирд╛ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╕рдордп рдмреИрдХрдПрдВрдб рдбрд┐рд╡рд╛рдЗрд╕ рдХрд╛ рдирд╛рдо рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:


execute(quantum_circuit, backend="name", ...) 

рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 1. рд╕реНрдЯреНрд░рд┐рдВрдЧ "рдирд╛рдо" QISKit рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреНрд╡рд╛рдВрдЯрдо рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмреИрдХреЗрдВрдб рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред рдЬрдм рднрд╡рд┐рд╖реНрдп рдХреЗ рдХреНрд╡рд╛рдВрдЯрдо рдХрдВрдкреНрдпреВрдЯрд░ рдЬрд╛рд░реА рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рдирдП рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкрд░ рдЪрд▓рдирд╛ рдирд╛рдо рдмрджрд▓рдиреЗ рдХреЗ рд╕рдорд╛рди рд╕рд░рд▓ рд╣реЛрдЧрд╛ред


рд╣рд╛рд▓рд╛рдБрдХрд┐ рдирдП рд╕рдВрд╕реНрдХрд░рдг [43] рдХреА рд░рд┐рд▓реАрдЬрд╝ рдХреЗ рд╕рд╛рде рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рднреА рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИ, рдпреЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рднрд╛рдЧ рдХреЗ рд▓рд┐рдП, рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдорд╛рдореВрд▓реА рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд░реВрдк рд╕реЗ рдирд╣реАрдВ рдмрджрд▓рддреЗ рд╣реИрдВред


рдЗрд╕ рдЦрдВрдб рдореЗрдВ, рд╣рдо рдЪрд╛рд░ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВрдЧреЗ, рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдФрд░ рд╕реНрдерд╛рдкрдирд╛, рдкреНрд░рд▓реЗрдЦрди рдФрд░ рдореИрдиреБрдЕрд▓, рднрд╛рд╖рд╛ рд╕рд┐рдВрдЯреИрдХреНрд╕, рдХреНрд╡рд╛рдВрдЯрдо рднрд╛рд╖рд╛, рдХреНрд╡рд╛рдВрдЯрдо рдЙрдкрдХрд░рдг рдФрд░ рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рдХреНрд╖рдорддрд╛рдУрдВ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░реЗрдВрдЧреЗред рдпрд╣ рд╕рдореАрдХреНрд╖рд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рднрд╛рд╖рд╛ рд╕рд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдкрд╛рдардХ рдХреЛ рдЪрдпрдирд┐рдд рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ (рдпрд╛ рдЕрдзрд┐рдХ) рдореЗрдВ рдбреВрдмрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреА рд╕рдордЭ рджреЗрддрд╛ рд╣реИред рд╡рд░реНрддрдорд╛рди рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдореЗрдВ рдХреНрд╡рд╛рдВрдЯрдо рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдЬрд╛рдирдХрд╛рд░реА рд╢рд╛рдорд┐рд▓ рд╣реИред рдлрд┐рд░ рднреА, рдкрд╛рдардХ, рдЬрдм рдЙрд╕рдиреЗ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдордВрдЪ рдЪреБрдирд╛ рд╣реИ, рддреЛ рдЙрд╕реЗ рдкреВрд░реА рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рджрд╕реНрддрд╛рд╡реЗрдЬ рдХреЗ рд▓рд┐рдП рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдкреИрдХреЗрдЬ рдХреЗ рд▓рд┐рдП рдкреНрд░рд▓реЗрдЦрди рдФрд░ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рд╕реНрд░реЛрддреЛрдВ рдХреЗ рд▓рд┐рдВрдХ рдЬреЛрдбрд╝реЗ рдЧрдП рдереЗред рдпрд╣ рднреА рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреНрд╡рд╛рдВрдЯрдо рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдХрд╛ рдмреБрдирд┐рдпрд╛рджреА рдЬреНрдЮрд╛рди рд╣реИ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЕрдм рдХрдИ рдЕрдЪреНрдЫреЗ рд╕рдВрджрд░реНрдн рд╣реИрдВ [21, 22]ред


рдЗрд╕ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╕рднреА рдХреЛрдб рдЕрдВрд╢реЛрдВ рдФрд░ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рдФрд░ рд▓рд┐рдирдХреНрд╕ рдЙрдмрдВрдЯреВ 16.04 рдПрд▓рдЯреАрдПрд╕ рдкрд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рдбреЗрд▓ рдПрдХреНрд╕рдкреАрдПрд╕ 13 рдбреЗрд╡рд▓рдкрд░ рд╕рдВрд╕реНрдХрд░рдг рд▓реИрдкрдЯреЙрдк рдкрд░ рдЪрд▓рд╛рдпрд╛ рдЧрдпрд╛, рдЬрд┐рд╕рдХреЗ рдкреВрд░реНрдг рд╡рд┐рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ [23] рдореЗрдВ рд╕реВрдЪреАрдмрджреНрдз рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрджреНрдпрдкрд┐ рд╕рднреА рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдкреИрдХреЗрдЬ рд╕рднреА рддреАрди рдкреНрд░рдореБрдЦ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд▓реЗрдЦрдХ рдХреЗ рд▓рд┐рдП рдЙрд╕ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдФрд░ рдЙрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИ, рдЬрд┐рд╕ рдкрд░ рдЗрд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд▓рд┐рдирдХреНрд╕ рдЙрдмрдВрдЯреВ рдкрд░, рдЗрди рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╕рдордп рдХреЛрдИ рдХрдард┐рдирд╛рдИ рдпрд╛ рдЕрд╕рд╛рдорд╛рдиреНрдп рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдирд╣реАрдВ рдереЗред


pyQuilQISKitProjectQQDK
рд╕рдВрд╕реНрдерд╛RigettiрдЖрдИрдмреАрдПрдордПрдЯ рдЬреНрдпреВрд░рд┐рдЦрдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ
рдкрд╣рд▓реЗ рд░рд┐рд▓реАрдЬ15 рдЬрдирд╡рд░реА, 2017 рдХреЛ v0.0.27 рдорд╛рд░реНрдЪ 2017 рдХреЛ 0.13 рдЬрдирд╡рд░реА 2017 рдХреЛ v0.1.04 рдЬрдирд╡рд░реА 2018 рдХреЛ 0.1.1712.901 (рдкреВрд░реНрд╡-рд░рд┐рд▓реАрдЬрд╝)
рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг6 рдЬреВрди 2018 рдХреЛ v1.9.011 рдЬреВрди 2018 рдХреЛ 0.5.4v0.3.6 рдлрд░рд╡рд░реА 6, 2018 рдХреЛ0.2.1802.2202 26 рдлрд░рд╡рд░реА, 2018 рдХреЛ (рдкреВрд░реНрд╡-рд░рд┐рд▓реАрдЬрд╝)
рдЦреБрд▓рд╛ рд╕реНрд░реЛрддтЬЕтЬЕтЬЕтЬЕ
рд▓рд╛рдЗрд╕реЗрдВрд╕рдЕрдкрд╛рдЪреЗ реи.режрдЕрдкрд╛рдЪреЗ реи.режрдЕрдкрд╛рдЪреЗ реи.режрдПрдордЖрдИрдЯреА
рдореБрдЦрдкреГрд╖реНрдардШрд░рдШрд░рдШрд░рдШрд░
GitHubGitGitGitGit
рдкреНрд░рд▓реЗрдЦрдирдбреЙрдХреНрд╕ , рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ ( рдЧреНрд░реЛрд╡ )рдбреЙрдХреНрд╕ , рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдиреЛрдЯрдмреБрдХ , рд╣рд╛рд░реНрдбрд╡реЗрдпрд░рдбреЙрдХреНрд╕ , рдЙрджрд╛рд╣рд░рдг рдХрд╛рд░реНрдпрдХреНрд░рдо , рдХрд╛рдЧрдЬрдбреЙрдХреНрд╕
рдУрдПрд╕рдореИрдХ, рд╡рд┐рдВрдбреЛрдЬ, рд▓рд┐рдирдХреНрд╕рдореИрдХ, рд╡рд┐рдВрдбреЛрдЬ, рд▓рд┐рдирдХреНрд╕рдореИрдХ, рд╡рд┐рдВрдбреЛрдЬ, рд▓рд┐рдирдХреНрд╕рдореИрдХ, рд╡рд┐рдВрдбреЛрдЬ, рд▓рд┐рдирдХреНрд╕
рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБрдЕрдЬрдЧрд░ 3, рдПрдирд╛рдХреЛрдВрдбрд╛ (рдЕрдиреБрд╢рдВрд╕рд┐рдд)рдкрд╛рдпрдерди 3.5+, рдЬреНрдпреВрдкрд┐рдЯрд░ рдиреЛрдЯрдмреБрдХ (рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХреЗ рд▓рд┐рдП), рдПрдирд╛рдХреЛрдВрдбрд╛ 3 (рдЕрдиреБрд╢рдВрд╕рд┐рдд)рдЕрдЬрдЧрд░ 2 рдпрд╛ 3рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЛрдб (рджреГрдврд╝рддрд╛ рд╕реЗ рдЕрдиреБрд╢рдВрд╕рд┐рдд)
рд╢рд╛рд╕реНрддреНрд░реАрдп рднрд╛рд╖рд╛рдЕрдЬрдЧрд░рдЕрдЬрдЧрд░рдЕрдЬрдЧрд░рдХреНрдпреВ #
рдХреНрд╡рд╛рдВрдЯрдо рднрд╛рд╖рд╛рдХреНрд╡рд┐рд▓OpenQASMрдХреЛрдИ рднреА / рд╕рдВрдХрд░рдХреНрдпреВ #
рдХреНрд╡рд╛рдВрдЯрдо рд╣рд╛рд░реНрдбрд╡реЗрдпрд░8 рдХреНрд╡рд┐IBMQX2 (5 qubits), IBMQX4 (5 qubits), IBMQX5 (16 qubits), QS1_1 (20 qubits)рдХреЛрдИ рд╕рдорд░реНрдкрд┐рдд рд╣рд╛рд░реНрдбрд╡реЗрдпрд░, рдЖрдИрдмреАрдПрдо рдмреИрдХрдПрдВрдб рд╕реЗ рдХрдиреЗрдХреНрдЯ рд╣реЛ рд╕рдХрддрд╛ рд╣реИрдХреЛрдИ рдирд╣реАрдВ
рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░тИ╝20 рд╕реНрдерд╛рдиреАрдп рд╕реНрддрд░ рдкрд░, 26 рдХреНрд╡рд┐рдмреНрдмреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдПрдкреАрдЖрдИ рдХреБрдВрдЬреА рдХреНрдпреВрд╡реАрдПрдо, 30+ w / рдирд┐рдЬреА рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рд╣реИтИ╝25 рд╕реНрдерд╛рдиреАрдп рд╕реНрддрд░ рдкрд░, 30 рдмрд╛рджрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗрд╕реНрдерд╛рдиреАрдп рд╕реНрддрд░ рдкрд░ qu28 рдХреНрд╡рд┐рдмреЗрдЯрд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ 30 рдХреНрд╡рд┐рдЯ, 40 рдПрдЬрд╝реНрдпреЛрд░ рдХреНрд▓рд╛рдЙрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ
рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВрдХреНрд╡рд┐рд▓ рдХреЛрдб, рдЙрджрд╛рд╣рд░рдг рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдЧреНрд░реЛрд╡ рдореЗрдВ рдЙрддреНрдкрдиреНрди рдХрд░реЗрдВ, рдЯреЛрдкреЛрд▓реЙрдЬреА-рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдВрдХрд▓рдХ, рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рдореЗрдВ рд╢реЛрд░ рдХреНрд╖рдорддрд╛рдПрдВ, рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рд╕реНрд▓реИрдХ рдЪреИрдирд▓QASM рдХреЛрдб, рдЯреЛрдкреЛрд▓реЙрдЬреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдВрдХрд▓рдХ, рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рд╕реНрд▓реИрдХ рдЪреИрдирд▓, рд╕рд░реНрдХрд┐рдЯ рджрд░рд╛рдЬ, ACQUA рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЙрддреНрдкрдиреНрди рдХрд░реЗрдВрд╕рд░реНрдХрд┐рдЯ рдмрдирд╛рдПрдВ, рдЖрдИрдмреАрдПрдо рдмреИрдХрдПрдВрдб рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ, рдХрдИ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдкреНрд▓рдЧ-рдЗрдирдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдПрд▓реНрдЧреЛрд░рд┐рджрдо, рдЙрджрд╛рд╣рд░рдг рдХреЗ рдПрд▓реНрдЧреЛрд░рд┐рджрдо

pyQuil

рдПред PyQuil


pyQuil рдХреНрд╡рд╛рдВрдЯрдо рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЛ рдмрдирд╛рдиреЗ, рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдФрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд┐рдЧреЗрдЯреА рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╕рд┐рдд рдПрдХ рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдкрд╛рдпрдерди рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИред рдпрд╣ рдХреНрд╡рд┐рд▓ рднрд╛рд╖рд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ - рдХреНрд╡рд╛рдВрдЯрдо рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреА рдПрдХ рдЦреБрд▓реА рднрд╛рд╖рд╛ (рдпрд╛ рдмрд╕ рдПрдХ рдХреНрд╡рд╛рдВрдЯрдо рднрд╛рд╖рд╛ ), рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдирд┐рдХрдЯрддрдо рд╣реЛрдирд╣рд╛рд░ рдХреНрд╡рд╛рдВрдЯрдо рдХрдВрдкреНрдпреВрдЯрд░ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХреА рдЧрдИ рдФрд░ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╢рд╛рд╕реНрддреНрд░реАрдп / рдХреНрд╡рд╛рдВрдЯрдо рдореЗрдореЛрд░реА рдореЙрдбрд▓ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ [24] (рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рджреЛрдиреЛрдВ qubits рдФрд░ рдХреНрд▓рд╛рд╕рд┐рдХ рдмрд┐рдЯреНрд╕)ред pyQuil рд╡рди рдореЗрдВ рд╡рд┐рдХрд╕рд┐рдд рдХреЛрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ, рдЬреЛ рд╕рднреА рд░рд┐рдЧреЗрдЯреА рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рдордВрдЪ рд╣реИред рд╡рди рдореЗрдВ рдЧреНрд░реЛрд╡ рдФрд░ рд╕рдВрджрд░реНрдн QVM рднреА рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдЬрд┐рдиреНрд╣реЗрдВ рдмрд╛рдж рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред


рдПрдХред рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБ рдФрд░ рд╕реНрдерд╛рдкрдирд╛


рдЕрдЬрдЧрд░ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдЬрдЧрд░ 2 рдпрд╛ 3 рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдкрд╛рдпрдерди 3 рдЕрддреНрдпрдзрд┐рдХ рдЕрдиреБрд╢рдВрд╕рд┐рдд рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рднрд╡рд┐рд╖реНрдп рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХрд╛рд░реНрдп рдХреЗрд╡рд▓ рдкрд╛рдпрдерди 3 рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВрдЧреЗред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкрд╛рдпрдерди рдПрдирд╛рдХреЛрдВрдбрд╛ рд╡рд┐рддрд░рдг рд╡рд┐рднрд┐рдиреНрди рдкрд╛рдпрдерди рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд╢рдВрд╕рд┐рдд рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИред


рдЕрдЬрдЧрд░ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдкрд╛рдпрдерди рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИред рд▓рд┐рдирдХреНрд╕ рдЙрдмрдВрдЯреВ рдХрдорд╛рдВрдб рдкреНрд░реЙрдореНрдкреНрдЯ рдкрд░, рджрд░реНрдЬ рдХрд░реЗрдВ


 pip install pyquil 

рд╕рдлрд▓ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдХреЗ рд▓рд┐рдПред рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ, рдпрджрд┐ рдПрдирд╛рдХреЛрдВрдбрд╛ рд╕реНрдерд╛рдкрд┐рдд рд╣реИ, рддреЛ рдЯрд╛рдЗрдк рдХрд░рдХреЗ pyQuil рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ


 conda install тИТc rigetti pyquil 

рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкрд░ред рдПрдХ рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдк рдЧрд┐рдЯ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ рд╕реЛрд░реНрд╕ рдХреЛрдб рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рдФрд░ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рджрд░реНрдЬ рдХрд░реЗрдВ:


 git clone https://github.com/rigetticomputing/pyquil cd pyquil pip install тИТe 

рдпрд╣ рдЕрдВрддрд┐рдо рд╡рд┐рдзрд┐ рдЙрди рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд╢рдВрд╕рд┐рдд рд╣реИ рдЬреЛ pyQuil рдореЗрдВ рдпреЛрдЧрджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП GitHub рдЬрдорд╛ рдЧрд╛рдЗрдб рджреЗрдЦреЗрдВред


рдЦред рдкреНрд░рд▓реЗрдЦрди рдФрд░ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓


pyQuil рдореЗрдВ рдХреНрд╡рд╛рдВрдЯрдо рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ, рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдирд┐рд░реНрджреЗрд╢, рдмреЗрд╕рд┐рдХ рдкреНрд░реЛрдЧреНрд░рд╛рдореНрд╕ рдФрд░ рдЧреЗрдЯ рдСрдкрд░реЗрд╢рдВрд╕, рдПрдХ рдХреНрд╡рд╛рдВрдЯрдо рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди (QVM) рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд╛рдирд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдПрдХ рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░, рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреНрд╡рд╛рдВрдЯрдо рдХрдВрдкреНрдпреВрдЯрд░ рдФрд░ рдПрдХ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЗ рд╕рд╛рде рдПрдХ рдХреНрд╡рд┐рд▓ рд▓реИрдВрдЧреНрд╡реЗрдЬ рд╣реИред GitHub рд╕реЗ pyQuil рд╕реЛрд░реНрд╕ рдХреЛрдб рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдХреЗ, рдЖрдкрдХреЛ Jupyter рдиреЛрдЯрдмреБрдХреНрд╕ рдореЗрдВ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдлрд╝реЛрд▓реНрдбрд░ рдорд┐рд▓реЗрдЧрд╛, рдирд┐рдпрдорд┐рдд рдкрд╛рдпрдерди рдЙрджрд╛рд╣рд░рдг рдФрд░ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо $ рдЗрдирд▓рд╛рдЗрди $ \ textf {run_quil.py} $ рдЗрдирд▓рд╛рдЗрди $ , рдЬреЛ рдХреНрд╡рд╛рдВрдЯрдо рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреНрд╡рд┐рд▓ рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рдкрд╛рда рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдЪрд▓рд╛ рд╕рдХрддрд╛ рд╣реИред рдЕрдВрдд рдореЗрдВ, рдЧреНрд░реВрд╡ , рдкрд╛рдЗрдХреНрд╡рд╛рдЗрд▓ рдФрд░ рд░рд┐рдЧреЗрдЯреА рд╡рди рдкрд░реНрдпрд╛рд╡рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд┐рд░реНрдорд┐рдд рдХреНрд╡рд╛рдВрдЯрдо рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╛ рдПрдХ рдЙрд▓реНрд▓реЗрдЦ рдХрд░реЗрдВред


рд╕реАред рд╡рд╛рдХреНрдп-рд╡рд┐рдиреНрдпрд╛рд╕


PyQuil рд╕рд┐рдВрдЯреИрдХреНрд╕ рдмрд╣реБрдд рд╕рд░рд▓ рдФрд░ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╣реИред рдХреНрд╡рд╛рдВрдЯрдо рд╕рд░реНрдХрд┐рдЯ рдХреА рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рддрддреНрд╡ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╣реИ рдФрд░ рдЗрд╕рд╕реЗ рдЖрдпрд╛рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ  textfpyquil.quil ред рдЧреЗрдЯ рд╕рдВрдЪрд╛рд▓рди рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ  textfpyquil.gates ред рдореЙрдбреНрдпреВрд▓  textfapi рдЖрдкрдХреЛ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдореЗрдВ рдХреНрд╡рд╛рдВрдЯрдо рд╕рд░реНрдХрд┐рдЯ рдЪрд▓рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред PyQuil рдХреА рдПрдХ рдЕрдЪреНрдЫреА рд╡рд┐рд╢реЗрд╖рддрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдХреНрд╡реИрдмрд┐рдЯ рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдФрд░ рдХреНрд▓рд╛рд╕рд┐рдХ рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдХреЛ рдПрдХ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдирд╣реАрдВ рдХрд░рдиреА рд╣реЛрддреА рд╣реИ рдФрд░ рдЗрд╕реЗ рд╕реНрдореГрддрд┐ рдореЗрдВ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдЖрд╡рдВрдЯрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдХреНрд╡рд┐рдмрд┐рдЯ рд░рдЬрд┐рд╕реНрдЯрд░ рдореЗрдВ рдХреНрдпреВрдмрд┐рдЯреНрд╕ рдХреЛ рд╕реВрдЪрдХрд╛рдВрдХ (0, 1, 2, ...) рджреНрд╡рд╛рд░рд╛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реА рддрд░рд╣ рд╢рд╛рд╕реНрддреНрд░реАрдп рд░рдЬрд┐рд╕реНрдЯрд░ рдореЗрдВ рдмрд┐рдЯреНрд╕ рдХреЗ рд▓рд┐рдПред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЬрдирд░реЗрдЯрд░ рд╕рд░реНрдХрд┐рдЯ рдХреЛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:


 # random number generator circuit in pyQuil from pyquil.quil import Program import pyquil.gates as gates from pyquil import api qprog = Program() qprog += [gates.H(0), gates.MEASURE(0, 0)] qvm = api.QVMConnection() print(qvm.run(qprog)) 

рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 2. рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдЬрдирд░реЗрдЯрд░ рдХреЗ рд▓рд┐рдП PyQuil рдХреЛрдбред


рдкрд╣рд▓реА рддреАрди рд▓рд╛рдЗрдиреЗрдВ рдХреНрд╡рд╛рдВрдЯрдо рд╕реНрдХреАрдо / рдкреНрд░реЛрдЧреНрд░рд╛рдо (рд▓рд╛рдЗрди 2) рдШреЛрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдиреНрдпреВрдирддрдо рдЖрд╡рд╢реНрдпрдХ рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдЖрдпрд╛рдд рдХрд░рддреА рд╣реИрдВ, рдХреНрд╡реИрдмрд┐рдЯреНрд╕ (рд▓рд╛рдЗрди 3) [44] рдкрд░ рдЧреЗрдЯ рд╕рдВрдЪрд╛рд▓рди рдХрд░рдиреЗ рдФрд░ рд╕реНрдХреАрдо (рд▓рд╛рдЗрди 4) рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рд▓рд╛рдЗрди 6 рдореЗрдВ, рдПрдХ рдХреНрд╡рд╛рдВрдЯрдо рдкреНрд░реЛрдЧреНрд░рд╛рдо рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ 7-8 рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ, рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдЗрд╕реЗ рдкреНрд░реЗрд╖рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ: рдкрд╣рд▓рд╛, рд╣реИрдорд░реНрдб рдЧреЗрдЯ рдкрд░ рдХрд╛рд░реНрдп рдХрд░реЗрдВ рдЬ рдЗрдВрдбреЗрдХреНрд╕ 0 рдкрд░ рдХреНрд╡реЗрдЯ рдХреЗ рдКрдкрд░, рдлрд┐рд░ рд╣рдо рдЗрдВрдбреЗрдХреНрд╕ 0. рд▓рд╛рдЗрди 10 рдХреЗ рддрд╣рдд рдПрдХ рд╣реА рдмрд┐рдЯ рдХреЛ рдХреНрд▓рд╛рд╕рд┐рдХ рдмрд┐рдЯ рдореЗрдВ рдорд╛рдкрддреЗ рд╣реИрдВ, рдХреНрдпреВрд╡реАрдПрдо рдХреЗ рд╕рд╛рде рдПрдХ рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ 11 рдмрдЬреЗ рд╣рдорд╛рд░реЗ рд╕рд░реНрдХрд┐рдЯ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд▓реЙрдиреНрдЪ рдФрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рдХрд╛рд░реНрдпрдХреНрд░рдо рдкреВрд░реНрдгрд╛рдВрдХ рдХреЗ рд╕реВрдЪрд┐рдпреЛрдВ рдХреА рд╕реВрдЪреА рдХреЗ рд░реВрдк рдореЗрдВ pyQuil рдХреЗ рдорд╛рдирдХ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдкреНрд░рд┐рдВрдЯ рдХрд░рддрд╛ рд╣реИ: рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ -  рдЧреНрд░рдВрдереЛрдВ[[[реж]] рдпрд╛  рдЧреНрд░рдВрдереЛрдВ[[[рез]] ред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдмрд╛рд╣рд░реА рд╕реВрдЪреА рдореЗрдВ рд╡рд╕реНрддреБрдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдП рдЧрдП рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣реИред рдЖрдВрддрд░рд┐рдХ рд╕реВрдЪрд┐рдпреЛрдВ рдореЗрдВ рдкреВрд░реНрдгрд╛рдВрдХ рд╕рдВрдЦреНрдпрд╛ рдХреНрд▓рд╛рд╕рд┐рдХ рд░рдЬрд┐рд╕реНрдЯрд░ рдореЗрдВ рдЕрдВрддрд┐рдо рдЖрдпрд╛рдо рд╣реИрдВред рдЪреВрдВрдХрд┐ рд╣рдордиреЗ рдХреЗрд╡рд▓ рдПрдХ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ (рдпрд╣ рдПрдХ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ  textfapi.QVMConnection.run , рдЬреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдПрдХрддрд╛ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╣реИ), рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдЖрдВрддрд░рд┐рдХ рд╕реВрдЪреА рдорд┐рд▓рддреА рд╣реИред рдЪреВрдВрдХрд┐ рд╢рд╛рд╕реНрддреНрд░реАрдп рд░рдЬрд┐рд╕реНрдЯрд░ рдореЗрдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ рдПрдХ рдмрд┐рдЯ рдерд╛, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдкреВрд░реНрдгрд╛рдВрдХ рдорд┐рд▓рддрд╛ рд╣реИред


рдШред рдХреНрд╡рд╛рдВрдЯрдо рднрд╛рд╖рд╛


рдХреНрд╡рд┐рд▓ рдХреНрд╡рд╛рдВрдЯрдо рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреА рдПрдХ рднрд╛рд╖рд╛ рд╣реИ, рдпрд╛ рдмрд╕ рдПрдХ рдХреНрд╡рд╛рдВрдЯрдо рднрд╛рд╖рд╛ рд╣реИ рдЬреЛ рдХреНрд╡рд╛рдВрдЯрдо рдХрдВрдкреНрдпреВрдЯрд░ рдХреЛ рдХрдорд╛рдВрдб рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рддреА рд╣реИред рдпрд╣ рдХреНрд▓рд╛рд╕рд┐рдХ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдХреЛрдбрд╛рдВрддрд░рдХ рдХреЗ рд╕рдорд╛рди рд╣реИред рдХреНрд╡рд┐рд▓ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдореВрд▓ рд╣реИ  textfрдЧреЗрдЯрдЗрдВрдбреЗрдХреНрд╕ рдЬрд╣рд╛рдБ  textfGATE рдПрдХ рдХреНрд╡рд╛рдВрдЯрдо рдЧреЗрдЯ рд╣реИ, рдЬреЛ рдЕрдиреБрдХреНрд░рдорд┐рдд рдХреНрд╡реИрдм рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ  рдЧреНрд░рдВрдереЛрдВрд╕реВрдЪрдХрд╛рдВрдХ (0, 1, 2, ...)ред pyQuil рдореЗрдВ рджрд┐рдП рдЧрдП рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╕реЗ Quil рдХреЛрдб рдЬреЗрдирд░реЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдлрдВрдХреНрд╢рди рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЙрдХреНрдд рдХреНрд╡рд╛рдВрдЯрдо рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдЬрдирд░реЗрдЯрд░ рдореЗрдВ, рд╣рдо рд▓рд╛рдЗрди рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ:


 print(qprog) 

рдХреНрд╡рд┐рд▓ рдЖрд░реЗрдЦ рдХреЛрдб рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдВрдд рдореЗрдВ, рдЬреЛ рдиреАрдЪреЗ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:


 H 0 MEASURE 0 [0] 

рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 3. рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдЬрдирд░реЗрдЯрд░ рдХреЗ рд▓рд┐рдП рдХреНрд╡рд┐рд▓ рдХреЛрдбред


рд╢рд╛рдпрдж рдЕрдЧрд░ рдХрд┐рд╕реА рдиреЗ рдХреНрд╡рд┐рд▓ рдХреЛ рд╕рдордЭрдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛, рддреЛ рдХреНрд╡рд┐рд▓ рдореЗрдВ рдПрдХ рдЯреЗрдХреНрд╕реНрдЯ рдПрдбрд┐рдЯрд░ рдореЗрдВ рдХреНрд╡рд╛рдВрдЯрдо рд╕рд░реНрдХрд┐рдЯ рд▓рд┐рдЦреЗрдВ, рдФрд░ рдлрд┐рд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреНрдпреВрд╡реАрдПрдо рдкрд░ рд╕рд░реНрдХрд┐рдЯ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ $ рдЗрдирд▓рд╛рдЗрди $ \ textf {run_quil.py} $ рдЗрдирд▓рд╛рдЗрди $ ред рдЖрдк рд╕рдВрд╢реЛрдзрд┐рдд рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ $ рдЗрдирд▓рд╛рдЗрди $ \ textf {run_quil.py} $ рдЗрдирд▓рд╛рдЗрди $ QPU рдкрд░ рд╕рд░реНрдХрд┐рдЯ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдПред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ pyQuil рдХрдВрдкрд╛рдЗрд▓рд░ (рдЬрд┐рд╕реЗ рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдХреНрд╡рд┐рд▓ рдХрдВрдкрд╛рдЗрд▓рд░ рднреА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ) рджрд┐рдП рдЧрдП рд╕рд░реНрдХрд┐рдЯ рдХреЛ рдХреНрд╡рд┐рд▓ рдХреЛрдб рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреНрд╡рд╛рдВрдЯрдо рдХрдВрдкреНрдпреВрдЯрд░ рд╕рдордЭ рд╕рдХрддрд╛ рд╣реИред рд╣рдо рдЕрдиреБрднрд╛рдЧ III рд╕реА рдореЗрдВ рдЗрд╕ рдкрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдЪрд░реНрдЪрд╛ рдХрд░реЗрдВрдЧреЗред


рдЪред рдХреНрд╡рд╛рдВрдЯрдо рд╣рд╛рд░реНрдбрд╡реЗрдпрд░


рд░рд┐рдЧреЗрдЯреА рдореЗрдВ рдПрдХ рдХреНрд╡рд╛рдВрдЯрдо рдкреНрд░реЛрд╕реЗрд╕рд░ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрди рд▓реЛрдЧреЛрдВ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдкрд╣реБрдВрдЪ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддреЗ рд╣реИрдВред рдПрдХреНрд╕реЗрд╕ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд░рд┐рдЧреЗрдЯреА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдЬрд╛рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ QPU рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдкреВрд░рд╛ рдирд╛рдо, рдИрдореЗрд▓ рдкрддрд╛, рд╕рдВрдЧрдарди рдХрд╛ рдирд╛рдо рдФрд░ рдХрд╛рд░рдг рдХрд╛ рд╡рд┐рд╡рд░рдг рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдПрдХ рдмрд╛рд░ рдпрд╣ рд╣реЛ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдХрдВрдкрдиреА рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ QPU рддрдХ рдкрд╣реБрдБрдЪ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдИрдореЗрд▓ рджреНрд╡рд╛рд░рд╛ рдЖрдкрд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░реЗрдЧрд╛ред рдЗрд╕ рд╢реЗрдбреНрдпреВрд▓рд┐рдВрдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд▓рд╛рдн, QISKit рдХрддрд╛рд░ рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд╡рд┐рдкрд░реАрдд рд╣реИ, рдЬрд┐рд╕ рдкрд░ рдмрд╛рдж рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рдПрдЧреА, рдпрд╣ рд╣реИ рдХрд┐ рдХрдИ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╕рдордп рдЕрдВрддрд░рд╛рд▓ рдореЗрдВ рдирд┐рд░реНрдзрд╛рд░рдХ рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рдкрд░рд┐рд╡рд░реНрддрдирд╢реАрд▓ рдФрд░ рд╕рдВрдХрд░ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рд╢рд╛рд╕реНрддреНрд░реАрдп рдФрд░ рдХреНрд╡рд╛рдВрдЯрдо рдХрдВрдкреНрдпреВрдЯрд░ рдХреЗ рдмреАрдЪ рдбреЗрдЯрд╛ рдХреЛ рдЖрдЧреЗ рдФрд░ рдкреАрдЫреЗ рднреЗрдЬрддреЗ рд╣реИрдВ - рд▓рд╛рдЗрди рдореЗрдВ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдмрд╣реБрдд рд▓рдВрдмрд╛ рдмрдирд╛рддреА рд╣реИред рдиреБрдХрд╕рд╛рди (рд╕рдВрднрд╡рддрдГ) рдпрд╣ рд╣реИ рдХрд┐ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдХрд┐рд╕реА рднреА рд╕рдордп рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрдм QPU рдЙрдкрд▓рдмреНрдз рд╣реЛ рдФрд░ рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдордп рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдирд╛ рдФрд░ рд╕рд╣рдордд рд╣реЛрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛред


рд▓реЗрдЦрдХ рдХреЗ рдЕрдиреБрднрд╡ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдХрд░реНрдордЪрд╛рд░реА рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИрдВ, рдФрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЖрдорддреМрд░ рдкрд░ рд╕рдлрд▓ рд╣реЛрддреА рд╣реИред рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдбрд┐рд╡рд╛рдЗрд╕, рдЬрд┐рд╕рдХрд╛ рдЯреЛрдкреЛрд▓реЙрдЬреА рдЪрд┐рддреНрд░ 2 рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рдореЗрдВ рдирд┐рдХрдЯрддрдо рдкрдбрд╝реЛрд╕реА рдХрдиреЗрдХреНрдЯрд┐рд╡рд┐рдЯреА рдХреЗ рд╕рд╛рде 8 рдХреНрд╡рд┐рдЯ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рд╣рдо рдЗрд╕ рдХрдВрдкреНрдпреВрдЯрд░ рдХреЛ рдЦрдВрдб III рдмреА рдореЗрдВ рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рджреЗрдЦреЗрдВрдЧреЗред


рдЬреАред рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░


рдХреНрд╡рд╛рдВрдЯрдо рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди (рдХреНрдпреВрд╡реАрдПрдо) рдХреНрд╡рд╛рдВрдЯрдо рд╕рд░реНрдХрд┐рдЯ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдореБрдЦреНрдп рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╣реИред рдХреНрд▓рд╛рд╕рд┐рдХ рдкреНрд░реЛрд╕реЗрд╕рд░ рдкрд░ рдЪрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдпрд╣ рдкреНрд░реЛрдЧреНрд░рд╛рдо, рдХреНрд╡рд┐рд▓ рдХреЛрдб рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреНрд╡рд╛рдВрдЯрдо рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рддрд╛ рд╣реИред QVM рд╕реЗ рдХрдиреЗрдХреНрдЯ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ https://www.rigetti.com/forest рдкрд░ рдПрдХ рдирд╛рдо рдФрд░ рдИрдореЗрд▓ рдкрддреЗ рдХреЗ рд╕рд╛рде рдореБрдлреНрдд рдореЗрдВ рдПрдХ рдПрдкреАрдЖрдИ рдХреБрдВрдЬреА рджрд░реНрдЬ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдлрд┐рд░ рдЖрдкрдХреЛ API рдХреБрдВрдЬреА рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдИрдбреА рд╡рд╛рд▓реА рдПрдХ рдИрдореЗрд▓ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдЧреА рдЬрд┐рд╕реЗ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП:


 pyquilтИТconfigтИТsetup 

рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкрд░ (рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ pyQuil рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж)ред рдлрд┐рд░ рдЖрдкрдХреЛ рдИрдореЗрд▓ рд╕реЗ рдЪрд╛рдмрд┐рдпрд╛рдБ рджрд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛ред


рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдЕрдзрд┐рдХрд╛рдВрд╢ рдПрдкреАрдЖрдИ рдХреБрдВрдЬрд┐рдпрд╛рдБ 30 рдХреНрдпреВрдмрд┐рдЯ рддрдХ рдХреЗ рдХреНрдпреВрд╡реАрдПрдо рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИрдВ, рдФрд░ рдЖрдк рдЕрдзрд┐рдХ рдХреНрд╡рд┐рдмрд┐рдЯреНрд╕ рддрдХ рдкрд╣реБрдВрдЪ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдЦрдХ рдХреА рдПрдкреАрдЖрдИ рдХреБрдВрдЬреА 26 рдХреНрд╡рд┐рдмрд┐рдЯреНрд╕ рддрдХ рдкрд╣реБрдБрдЪ рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИ (рдХреЛрдИ рдЕрджреНрдпрддрди рдирд╣реАрдВ рдорд╛рдВрдЧрд╛ рдЧрдпрд╛ рдерд╛)ред


рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдлрд╝реЙрд░реЗрд╕реНрдЯ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рдПрдХ рд╕реНрдерд╛рдиреАрдп рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рд╣реИ рдЬрд┐рд╕реЗ рдкрд╛рдЗрдерди рдФрд░ рдУрдкрди рд╕реЛрд░реНрд╕ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рд╕рдВрджрд░реНрдн рдХреНрдпреВрд╡реАрдПрдо рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ QVM рдХреА рддрд░рд╣ рдЙрддреНрдкрд╛рджрдХ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдерд╛рдиреАрдп рдорд╢реАрдиреЛрдВ рдкрд░ рдореЗрдореЛрд░реА рдХреА рдорд╛рддреНрд░рд╛ рджреНрд╡рд╛рд░рд╛ рд╕реАрдорд┐рдд рдорд╛рддреНрд░рд╛ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде рд╕рд░реНрдХрд┐рдЯ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдорддреМрд░ рдкрд░, 20 рд╕реЗ рдХрдо рдХреНрд╡рд┐рдЯ рд╡рд╛рд▓реЗ рд╕рд░реНрдХрд┐рдЯ рдХреЛ рдЙрдкрдХрд░рдгреЛрдВ рдХреА рдПрдХ рд╡рд┐рд╕реНрддреГрдд рд╢реНрд░реГрдВрдЦрд▓рд╛ рдкрд░ рдЪрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╕рдВрджрд░реНрдн QVM рдХреЛ рдЕрд▓рдЧ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреЛ рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ  textfрдкрд╛рдЗрдк :


 pip install referenceqvm 

QVM рдХреЗ рдмрдЬрд╛рдп рд╕рдВрджрд░реНрдн QVM рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд╕ рдЖрдпрд╛рдд рдХрд░реЗрдВ  textfapi рд╕реЗ  рдЧреНрд░рдВрдереЛрдВрд╕рдиреНрджрд░реНрдн pyQuil рдХреЗ рдмрдЬрд╛рдп:


 import referenceapi.api as api 


рдЪрд┐рддреНрд░рд╛ 2. рдпреЛрдЬрдирд╛рдмрджреНрдз рдЖрд░реЗрдЦ рдПрдХ 8-quave AgP QPU рд░рд┐рдЧреЗрдЯреНрдЯреА рдХреА рдЯреЛрдкреЛрд▓реЙрдЬреА (рдХрдиреЗрдХреНрдЯрд┐рд╡рд┐рдЯреА) рджрд┐рдЦрд╛ рд░рд╣рд╛ рд╣реИред рдХреНрдпреВрдмрд┐рдЯреНрд╕ рдХреЛ рдкреВрд░реНрдгрд╛рдВрдХ 0, 1, ..., 7 рдХреЗ рд╕рд╛рде рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдХреНрд╡реИрдм рдХреЛ рдЬреЛрдбрд╝рдиреЗ рд╡рд╛рд▓реА рд░реЗрдЦрд╛рдУрдВ рд╕реЗ рд╕рдВрдХреЗрдд рдорд┐рд▓рддрд╛ рд╣реИ рдХрд┐ рдЗрди рдХреНрд╡рд╛рдЗрдмреЗрдЯреНрд╕ рдХреЗ рдмреАрдЪ рджреЛ рдХреНрд╡рд╛рдЗрдмрд┐рдЯ рдСрдкрд░реЗрд╢рди рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо рдирд┐рдпрдВрддреНрд░рд┐рдд рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ- рдЬреЗрдб 0 рдФрд░ 1 рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ, рд▓реЗрдХрд┐рди 0 рдФрд░ 2 рдХреЗ рдмреАрдЪ рдирд╣реАрдВред рдЙрддреНрддрд░рд╛рд░реНрджреНрдз рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреНрд╡рд┐рд▓ рдХрдВрдкрд╛рдЗрд▓рд░ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ- рдЬреЗрдб рдСрдкрд░реЗрд╢рди рдореЗрдВ (0, 2) рдЬреЛ QPU рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдЖрд░реЗрдЦ pyQuil рдкреНрд░рд▓реЗрдЦрди рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред


QISKit

рдмреАред Qiosit


рдХреНрд╡рд╛рдВрдЯрдо рд╕реВрдЪрдирд╛ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХрд┐рдЯ, рдпрд╛ QISKit, рдЖрдИрдмреАрдПрдо рдХреНрдпреВ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдореЗрдВ рдХреНрд╡рд╛рдВрдЯрдо рдУрдкрдирдХреНрдпреВрдПрдПрд╕рдПрдо рднрд╛рд╖рд╛ рдФрд░ рдХреНрд╡рд╛рдВрдЯрдо рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдУрдкрди рд╕реЛрд░реНрд╕ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдХрд┐рдЯ (рдПрд╕рдбреАрдХреЗ) рд╣реИред рдпрд╣ рдкрд╛рдпрдерди, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рд╕реНрд╡рд┐рдлреНрдЯ рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рд╣рдо рдХреЗрд╡рд▓ рдЪрд░реНрдЪрд╛ рдХрд░рддреЗ рд╣реИрдВред рдкрд╛рдпрдерди рд╕рдВрд╕реНрдХрд░рдгред


рдПрдХред рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБ рдФрд░ рд╕реНрдерд╛рдкрдирд╛


QOSOSOS MacOS, Windows рдФрд░ Linux рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИред QISKit рдХреЛ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Python 3.5+ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЕрддрд┐рд░рд┐рдХреНрдд рдЙрдкрдпреЛрдЧреА, рд▓реЗрдХрд┐рди рдЖрд╡рд╢реНрдпрдХ рдШрдЯрдХ рдирд╣реАрдВ рд╣реИрдВ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдФрд░ рдкрд╛рдпрдерди рдПрдирд╛рдХреЛрдВрдбрд╛ 3 рд╡рд┐рддрд░рдг рдХреЗ рд▓рд┐рдП рдЬреНрдпреВрдкрд┐рдЯрд░ рдиреЛрдЯрдмреБрдХ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рд╣реИрдВред


QISKit рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдкрд╛рдпрдерди рдХреЗ рд▓рд┐рдП рдкрд╛рдЗрдк рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИред рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдорд╛рдВрдб рдкреНрд░реЙрдореНрдкреНрдЯ рдкрд░, рджрд░реНрдЬ рдХрд░реЗрдВ:


 pip install qiskit 

рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ  textfрдкрд╛рдЗрдк рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕рднреА рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╣рдореЗрд╢рд╛ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдЧрд╛ред рд╡реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЬреЛ QISKit рдореЗрдВ рдпреЛрдЧрджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдЪреНрдЫреБрдХ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдХрдорд╛рдВрдб рдкреНрд░реЙрдореНрдкреНрдЯ рдкрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рджрд░реНрдЬ рдХрд░рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ git рд╕реНрдерд╛рдкрд┐рдд рд╣реИ:


 git clone https://github.com/QISKit/qiskitтИТcore cd qiskitтИТcore python тИТm pip install тИТe 

рдбрд┐рдкреЙрдЬрд┐рдЯ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП, GitHub рдкрд░ рдбрд┐рдкреЙрдЬрд╝рд┐рдЯ рдЧрд╛рдЗрдб рдХреЗ рдСрдирд▓рд╛рдЗрди рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рджреЗрдЦреЗрдВред


рдЦред рдкреНрд░рд▓реЗрдЦрди рдФрд░ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рд╕рд╛рдордЧреНрд░реА


рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ Qqit рдкреНрд░рд▓реЗрдЦрди рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ https://qiskit.org/documentation/ ред рдЗрд╕рдореЗрдВ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдирд┐рд░реНрджреЗрд╢, рдирдореВрдирд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреНрд╡рд╛рдВрдЯрдо рдбрд┐рд╡рд╛рдЗрд╕ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛, рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕рдВрдЧрдарди, рдПрдХ QISKit рд╕рдореАрдХреНрд╖рд╛ рдФрд░ рдбреЗрд╡рд▓рдкрд░ рдкреНрд░рд▓реЗрдЦрди рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдХреНрд╡рд╛рдВрдЯрдо рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдХреА рдмреБрдирд┐рдпрд╛рджреА рдЬрд╛рдирдХрд╛рд░реА рдЙрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рднреА рдорд┐рд▓ рд╕рдХрддреА рд╣реИ рдЬреЛ рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдирдП рд╣реИрдВред рдПрдХ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╕рдВрд╕рд╛рдзрди рдПрд╕рдбреАрдХреЗ рдХрд╛ рдПрдХ рд▓рд┐рдВрдХ рд╣реИ, рдЬрд╣рд╛рдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрд░реЛрдд рдХреЛрдб рдкреНрд░рд▓реЗрдЦрди рдкрд░ рдЬрд╛рдирдХрд╛рд░реА рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред


QISKit рдореЗрдВ рдПрдХ рдЕрд▓рдЧ GitHub рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА (pyQuil рдФрд░ Grove рдХреЗ рд╕рдорд╛рди) рдореЗрдВ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдЗрдирдореЗрдВ рдЙрд▓рдЭреЗ рд╣реБрдП рд░рд╛рдЬреНрдп рд╢рд╛рдорд┐рд▓ рд╣реИрдВ; рдорд╛рдирдХ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдЬреИрд╕реЗ рдХрд┐ рдЬреЛрдЬ, рдЧреНрд░реЛрд╡рд░ рдХрд╛ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо, рдЪрд░рдг рдХрд╛ рдЕрдиреБрдорд╛рди рдФрд░ рдХреНрд╡рд╛рдВрдЯрдо рдлреВрд░рд┐рдпрд░ рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдо; рдФрд░ рднреА рдЬрдЯрд┐рд▓ рдПрд▓реНрдЧреЛрд░рд┐рджрдо, рдЬреИрд╕реЗ рдХрд┐ рдХреНрд╡рд╛рдВрдЯрдо рд╡реИрд░рд┐рдПрдмрд▓ рдИрдЬреЗрдирд╡реЗрд▓реНрдпреВ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдирд╛ рдФрд░ рдлрд░реНрдорд┐рдпрди рд╣реИрдорд┐рд▓реНрдЯрди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛; рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдХреБрдЫ рдордЬреЗрджрд╛рд░ рдЦреЗрд▓, рдЬреИрд╕реЗ рдХрд┐ рдХреНрд╡рд╛рдВрдЯрдо "рд╕рдореБрджреНрд░реА рд▓рдбрд╝рд╛рдИ"ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, ACQUA (рдПрд▓реНрдЧреЛрд░рд┐рдердо рдФрд░ рдХреНрд╡рд╛рдВрдЯрдо рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд░реНрдХрд┐рдЯ) рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рдХрдИ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рд░рд╕рд╛рдпрди рд╡рд┐рдЬреНрдЮрд╛рди рдФрд░ рдХреГрддреНрд░рд┐рдо рдмреБрджреНрдзрд┐рдорддреНрддрд╛ рдХреЗ рд▓рд┐рдП рдмрд╣реБ-рд╡рд┐рд╖рдпрдХ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рд╢рд╛рдорд┐рд▓ рд╣реИрдВред


рдХрдиреЗрдХреНрдЯрд┐рд╡рд┐рдЯреА, рд╕реБрд╕рдВрдЧрддрддрд╛ рд╕рдордп, рдФрд░ рдЧреЗрдЯ рдЙрдкрдпреЛрдЧ рд╕рдордп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╡рд╛рд▓реЗ рдЪрд╛рд░ рдХреНрд╡рд╛рдВрдЯрдо рдмреИрдХреЗрдВрдб рдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╡рд┐рд╕реНрддреГрдд рджрд╕реНрддрд╛рд╡реЗрдЬ рднреА рд╣реИред рдЕрдВрдд рдореЗрдВ, рдЖрдИрдмреАрдПрдо рдХреНрдпреВ рдЕрдиреБрднрд╡ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЧрд╛рдЗрдб рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░реЗрдВ ред рд╡реЗрдмрд╕рд╛рдЗрдЯ рдореЗрдВ рдПрдХ рдХреНрд╡рд╛рдВрдЯрдо рд╕рд░реНрдХрд┐рдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдЧреНрд░рд╛рдлрд┐рдХрд▓ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдХ рд╕рд░реНрдХрд┐рдЯ рдкрд░ рдЧреЗрдЯреНрд╕ рдХреЛ рдЦреАрдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдХреНрд╡рд╛рдВрдЯрдо рд╕рд░реНрдХрд┐рдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЧрд╛рдЗрдб рдореЗрдВ рдХреНрд╡рд╛рдВрдЯрдо рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдФрд░ QISKit рднрд╛рд╖рд╛ рдкрд░ рдЕрдзрд┐рдХ рдирд┐рд░реНрджреЗрд╢ рд╣реИрдВред


рд╕реАред рд╡рд╛рдХреНрдп-рд╡рд┐рдиреНрдпрд╛рд╕


QISKit рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдирдореВрдирд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣рд╛рдВ, pyQuil рдХреЗ рд╡рд┐рдкрд░реАрдд, рдЖрдкрдХреЛ рдХреНрд╡рд╛рдВрдЯрдо рдФрд░ рд╢рд╛рд╕реНрддреНрд░реАрдп рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдХреЗ рдмреАрдЪ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЕрдВрддрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдиреАрдЪреЗ QISKit рдХреА рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рд╣реИ:


 # random number generator circuit in QISKit from qiskit import QuantumRegister, ClassicalRegister, QuantumCircuit, execute qreg = QuantumRegister(1) creg = ClassicalRegister(1) qcircuit = QuantumCircuit(qreg , creg) qcircuit.h(qreg[0]) qcircuit.measure(qreg[0], creg[0]) result = execute(qcircuit, 'local qasm simulator').result() print(result.get_counts()) 

рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 4. рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдЬрдирд░реЗрдЯрд░ рдХреЗ рд▓рд┐рдП QISKit рдХреЛрдбред


рд▓рд╛рдЗрди 2 рдХреНрд╡рд╛рдВрдЯрдо рдФрд░ рд╢рд╛рд╕реНрддреНрд░реАрдп рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ, рдПрдХ рдХреНрд╡рд╛рдВрдЯрдо рд╕рд░реНрдХрд┐рдЯ рдФрд░ рдЗрд╕ рд╕рд░реНрдХрд┐рдЯ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдХрд░рдг рдЖрдпрд╛рдд рдХрд░рддрд╛ рд╣реИред рдлрд┐рд░ рд╣рдо рдПрдХ рдХреНрд╡рд╛рдВрдЯрдо рд░рдЬрд┐рд╕реНрдЯрд░ рдХреЛ рдПрдХ рдХреНрд╡рд╛рдмрд┐рдЯ (рд▓рд╛рдЗрди 4), рдПрдХ рдХреНрд▓рд╛рд╕рд┐рдХ рд░рдЬрд┐рд╕реНрдЯрд░ рдПрдХ рдмрд┐рдЯ (рд▓рд╛рдЗрди 5) рдФрд░ рдЗрди рджреЛрдиреЛрдВ рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ (рд▓рд╛рдЗрди 6) рдХреЗ рд╕рд╛рде рдПрдХ рдХреНрд╡рд╛рдВрдЯрдо рд╕рд░реНрдХрд┐рдЯ рдмрдирд╛рддреЗ рд╣реИрдВред рдЕрдм рдЬрдм рд╕рд░реНрдХрд┐рдЯ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╣рдо рдирд┐рд░реНрджреЗрд╢ рджреЗрдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ: рдкрдВрдХреНрддрд┐ 8 рдореЗрдВ рд╣рдо рдЕрдкрдиреЗ рдХреНрд╡рд╛рдВрдЯрдо рд░рдЬрд┐рд╕реНрдЯрд░ (рдЬреЛ рдХреНрд╡рд╛рдВрдЯрдо рд░рдЬрд┐рд╕реНрдЯрд░ рдореЗрдВ рдПрдХрдорд╛рддреНрд░ qubit рд╣реИ) рдореЗрдВ рд╣реИрдбрд░реНрдб рдЧреЗрдЯ рдХреЛ рд╢реВрдиреНрдп рдХреНрд╡рд┐рдмрд┐рдЯ рдкрд░ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ; рд▓рд╛рдЗрди 9 рдореЗрдВ, рд╣рдо рдЗрд╕ рдХреНрд╡реИрд╢реНрдЪрди рдХреЛ рдПрдХ рд╢рд╛рд╕реНрддреНрд░реАрдп рдмрд┐рдЯ рдореЗрдВ рдЕрдиреБрдХреНрд░рдорд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рд╣рдорд╛рд░реЗ рд╢рд╛рд╕реНрддреНрд░реАрдп рд░рдЬрд┐рд╕реНрдЯрд░ рдореЗрдВ рд╢реВрдиреНрдп (рдЬреЛ рдХрд┐ рд╢рд╛рд╕реНрддреНрд░реАрдп рд░рдЬрд┐рд╕реНрдЯрд░ рдореЗрдВ рдПрдХрдорд╛рддреНрд░ рд╣реИ) [45]ред рдЕрдм рдЬрдм рдХреНрд╡рд╛рдВрдЯрдо рд╕рд░реНрдХрд┐рдЯ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ 11 рд▓рд╛рдЗрди рдкрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ рдФрд░ рдкрд░рд┐рдгрд╛рдо 12. рд▓рд╛рдЗрди рдкрд░ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВ $ рдЗрдирд▓рд╛рдЗрди $ \ рдЧреНрд░рдВрдереЛрдВ {result.get_counts ()} $ рдЗрдирд▓рд╛рдЗрди $ рд╣рдореЗрдВ рд╕рд░реНрдХрд┐рдЯ рдХреА "рдЧрдгрдирд╛" рдорд┐рд▓рддреА рд╣реИ, рдЕрд░реНрдерд╛рддреН рдЖрдЙрдЯрдкреБрдЯ рдбреЗрдЯрд╛ рдХрд╛ рд╢рдмреНрджрдХреЛрд╢ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдкрд░рд┐рдгрд╛рдо рдХрд┐рддрдиреА рдмрд╛рд░ рдкреНрд░рд╛рдкреНрдд рд╣реБрдЖред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП, рдХреЗрд╡рд▓ рд╕рдВрднрд╡ рдЖрдЙрдЯрдкреБрдЯ 0 рдпрд╛ 1 рд╣реИрдВ, рдФрд░ рдЙрдкрд░реЛрдХреНрдд рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ  textfтА▓0тА▓:532,тА▓1тА▓:492 , рдЬреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ 0 рдХреЗ 532 рдЙрджрд╛рд╣рд░рдг рдФрд░ 492 рдЙрджрд╛рд╣рд░рдг рдорд┐рд▓реЗред (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рд╕рд░реНрдХрд┐рдЯ рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪрдХреНрд░реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛  рдЧреНрд░рдВрдереЛрдВрд╢реЙрдЯреНрд╕ Qiosit рдореЗрдВ, 1024 рд╣реИред)


рдШред рдХреНрд╡рд╛рдВрдЯрдо рднрд╛рд╖рд╛


OpenQASM (рдУрдкрди рдХреНрд╡рд╛рдВрдЯрдо рдЕрд╕реЗрдВрдмрд▓рд░ рд▓реИрдВрдЧреНрд╡реЗрдЬ [25], рдЬрд┐рд╕реЗ рд╣рдо рдмрд╕ QASM рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ) рдПрдХ рдХреНрд╡рд╛рдВрдЯрдо рд▓реИрдВрдЧреНрд╡реЗрдЬ рд╣реИ, рдЬреЛ рдХреНрд▓рд╛рд╕рд┐рдХ рдХрдВрдкреНрдпреВрдЯрд░реЛрдВ рдкрд░ рдЕрд╕реЗрдВрдмрд▓рд░ рдХреЗ рд╕рдорд╛рди рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреНрд╡рд╛рдВрдЯрдо рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджреЗрд╢ рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИред QASM рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдЖрдзрд╛рд░ рд╣реИ  рдЧреНрд░рдВрдереЛрдВрдЧреЗрдЯрдХреНрд╡реЗрдЯ рдЬрд╣рд╛рдБ  textfрдЧреЗрдЯ рдХреНрд╡рд╛рдВрдЯрдо рдЧреЗрдЯ рдХрд╛ рд╕рдВрдЪрд╛рд▓рди рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ, рдФрд░  textfqubit - рдХрд╝реБрд░реНрдмрд╛рдиреАред QISKM рдХрд╛ рд╕реНрдХреАрдорд╛ рд╕реЗ QASM рдХреЛрдб рдЬрдирд░реЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдХрд╛рд░реНрдп рд╣реИред рдЙрдкрд░реЛрдХреНрдд рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдпреЛрдЬрдирд╛ рдореЗрдВ, рд╣рдо рдПрдХ рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред


 print(qcircuit.qasm()) 

рдиреАрдЪреЗ рджрд┐рдЦрд╛рдП рдЧрдП рд╕рд░реНрдХрд┐рдЯ рдХреЗ рд▓рд┐рдП QASM рдХреЛрдб рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдВрдд рдореЗрдВ:


 OPENQASM 2.0; include тАЭqelib1.incтАЭ; qreg q0[1]; creg c0[1]; h q0[0]; measure q0[0] тИТ> c0[0]; 

рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 5. рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдЬрдирд░реЗрдЯрд░ рдХреЗ рд▓рд┐рдП OpenQASM рдХреЛрдбред


рдкреНрд░рддреНрдпреЗрдХ QASM рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкрд╣рд▓реА рджреЛ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рд▓рд╛рдЗрди 3 (4) рдПрдХ рдХреНрд╡рд╛рдВрдЯрдо (рд╢рд╛рд╕реНрддреНрд░реАрдп) рд░рдЬрд┐рд╕реНрдЯрд░ рдмрдирд╛рддрд╛ рд╣реИ, рдФрд░ 5 рдФрд░ 6 рд▓рд╛рдЗрдиреЗрдВ рд╕рд░реНрдХрд┐рдЯ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджреЗрд╢ рджреЗрддреА рд╣реИрдВред OpenQASM рдореЗрдВ, рдЖрдк рдЗрди рдЬреИрд╕реЗ рдЫреЛрдЯреЗ рд╕рд░реНрдХрд┐рдЯ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдмрдбрд╝реЗ рд╕рд░реНрдХрд┐рдЯ рдХреЗ рд▓рд┐рдП, рдХреНрд╡рд╛рдВрдЯрдо рдХрдВрдкреНрдпреВрдЯрд░ рдХреА рдореБрдлреНрдд рдФрд░ рдХреБрд╢рд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рд▓рд┐рдП QISKit рдореЗрдВ рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред


рдИред рдХреНрд╡рд╛рдВрдЯрдо рд╣рд╛рд░реНрдбрд╡реЗрдпрд░


рдХреНрд╡рд╛рдЬрд╝рд┐рдЯ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдХреНрд╡рд╛рдВрдЯрдо рдмреИрдХреЗрдВрдбреНрд╕ рдХреЗ рд▓рд┐рдП рднрд╛рд░реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдкреНрд░рд▓реЗрдЦрди рд╣реИред рдЗрди рдЙрдкрдХрд░рдгреЛрдВ рдореЗрдВ IBMQX2 (5 qubits), IBMQX4 (5 qubits), IBMQX5 (16 qubits), рдФрд░ QS1_1 (20 qubits, рдХреЗрд╡рд▓ IBM Q рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд╕рджрд╕реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз) рд╢рд╛рдорд┐рд▓ рд╣реИрдВред GitHub рдкрд░ рд╕рднреА рдХреЗ рд▓рд┐рдП рдкреНрд░рд▓реЗрдЦрди рдЙрдкрд▓рдмреНрдз рд╣реИред рд╣рдо рдЦрдВрдб III рдмреА рдореЗрдВ IBMQX5 рдкрд░ рдХрд░реАрдм рд╕реЗ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВрдЧреЗ, рдЬрд┐рд╕рдХреА рдЯреЛрдкреЛрд▓реЙрдЬреА рдЪрд┐рддреНрд░ 3 рдореЗрдВ рджрд┐рдЦрд╛рдИ рдЧрдИ рд╣реИред


рдЪред


IBM , . , 12 , , 25 . , III D.



рдЪрд┐рддреНрд░рд╛ 3. IBMQX5 рдХреА рдпреЛрдЬрдирд╛рдмрджреНрдз рдЯреЛрдкреЛрд▓реЙрдЬреА, [30] рд╕реЗ рд▓реА рдЧрдИ рд╣реИред рджрд┐рд╢рд╛рддреНрдордХ рддреАрд░ рдЙрд▓рдЭрд╛рд╡ рдХреЗ рдЕрд╡рд╕рд░реЛрдВ рдХрд╛ рд╕рдВрдХреЗрдд рджреЗрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо рдПрдХ рдСрдкрд░реЗрд╢рди (QASM рдореЗрдВ) рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ cx Q1, Q2 , рд▓реЗрдХрд┐рди рдПрдХ рдСрдкрд░реЗрд╢рди рдирд╣реАрдВ cx Q2, Q1 ред рдЙрддреНрддрд░рд╛рд░реНрджреНрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХрдВрдкрд╛рдЗрд▓рд░ рдирд┐рд░реНрджреЗрд╢ рдХреЛ рд╕рдорддреБрд▓реНрдп рдлрд╛рдЯрдХреЛрдВ рдореЗрдВ рдмрджрд▓ рджреЗрддрд╛ рд╣реИ рдЬреЛ рдЯреЛрдкреЛрд▓реЙрдЬреА рдФрд░ рдлрд╛рдЯрдХреЛрдВ рдХреЗ рд╕реЗрдЯ рдореЗрдВ рдЪрд▓рддреЗ рд╣реИрдВред


ProjectQ

C. ProjectQ


ProjectQ тАФ IBM, . ProjectQ Thomas H├дner Damien S. Steiger Matthias Troyer ETH Zurich, .


рдПрдХред


ProjectQ Python (2.7 3.4+). . pip :


 python тИТm pip install тИТтИТuser projectq 

( ). :


 git clone https://github.com/ProjectQтИТFramework/ProjectQ cd projectq python тИТm pip install тИТтИТuser 

, , . ProjectQ GitHub.


рдЦред


ProjectQ . , . - ( , ). тАФ / , . [18, 19] , , - .


рд╕реАред


ProjectQ , . ProjectQ ( ProjectQ), тАФ / . , :


 # random number generator circuit in ProjectQ from projectq import MainEngine import projectq.ops as ops eng = MainEngine() qbits = eng.allocate_qureg(1) ops.H | qbits[0] ops.Measure | qbits[0] eng.flush() print(int(qbits[0])) 

6. ProjectQ .


2 , 3 . 5 (engine) MainEngine , 6 . 8 9 : 0, . ┬л ┬╗ . тАФ operation | qubit , H|0> , . , /. pyQuil QISKit, ProjectQ . , qbits[0] 9, , int , 12.


рдШред


, ProjectQ . ProjectQ IBM, OpenQASM: IBM.


e.


ProjectQ . , IBM ProjectQ.


f.


ProjectQ , C++, , , Python. , ProjectQ ClassicalSimulator (stabilizer circuits), . . , , , CNOT [26]. , , , , . , C++ Simulator ред


C++ Simulator ProjectQ . [23]() (, ), 26 5 , 28 20 тАФ . [III D]() 6.


h. ProjectQ


ProjectQ , , . , pyQuil ProjectQ [27], Microsoft QDK Thomas H├дner Damian Steiger ETH Zurich [28], . ( , , QDK ProjectQ C++, .)


рдХреНрд╡рд╛рдВрдЯрдо рд╡рд┐рдХрд╛рд╕ рдХрд┐рдЯ

D. Quantum Development Kit


Rigetti IBM, Microsoft . [29] , , , . , Microsoft , Quantum Development Kit (QDK), , . , QDK ┬л-┬╗ Q#, Visual Studio Visual Studio Code 30 . 2018 , -, MacOS, Windows Linux.


рдПрдХред


, Visual Studio Code , . ( VS Code, Visual Studio . - - , , VS Code.) , QDK , Bash:


 dotnet new тИТi "Microsoft.Quantum.ProjectTemplates::0.2 тИТ*" 

QDK GitHub ( , QDK), :


 git clone https://github.com/Microsoft/Quantum.git cd Quantum code 

рдЦред


тАФ Q#, - , , , Q# . ; , .


рд╕реАред


Q# . C#: , Python, , C#. , :


 // random number generator circuit in QDK operation random (count: Int, initial: Result) : (Int, Int) { body { mutable numOnes = 0; using ( qubits = Qubit[1]) { for (test in 1..count) { Set(initial, qubits[0]); H(qubits[0]); let res = M(qubits[0]); // count the number of ones if (res == One) { set numOnes = numOnes + 1; } } Set(Zero, qubits[0]); } // return statistics return (count тИТ numOnes, numOnes); } } 

7. Q# .


, , /, , . . , , , . тАФ .qs Q#, Driver.cs .qs , .csproj , . , 65 . -, , ┬лQuickstart┬╗ .


, QDK , . , тАФ (a+b) , . QDK , , ( C , , , , .


рдШред /


, QDK . Q# / .


e.


QDK , 30 . , QDK ProjectQ, , ProjectQ. ( III D.) Azure , 40 . QDK , .


, QDK (trace simulator), , , , . , . , . , , - , . . . - QDK.


рддреГрддреАрдпред рддреБрд▓рдирд╛


рдЗрд╕ рдЦрдВрдб рдореЗрдВ рдмрд╛рдж рдореЗрдВ, рдЬрдм рдкреНрд░рддреНрдпреЗрдХ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреА рдореВрд▓ рдмрд╛рддреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░реЗрдВрдЧреЗ, рдЬрд┐рд╕рдореЗрдВ рдкреБрд╕реНрддрдХрд╛рд▓рдп, рдХреНрд╡рд╛рдВрдЯрдо рдЙрдкрдХрд░рдг рдФрд░ рдХреНрд╡рд╛рдВрдЯрдо рд╕рдВрдХрд▓рдХ рд╕реНрддрд░ рдкрд░ рд╕рдорд░реНрдерди рд╢рд╛рдорд┐рд▓ рд╣реИред рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреА рдХреБрдЫ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рдФрд░ рдЙрдкрдпреЛрдЧреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рднреА рд╕реВрдЪреАрдмрджреНрдз рдХрд░реЗрдВрдЧреЗред


рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╕рдорд░реНрдерди


┬л ┬╗ ( ) (, language.DoQuantumFourierTransform (...) )ред . , , 4.


, , , . , , , .


, pyQuil, QISKit QDK . ProjectQ FermiLib, FermiLib, OpenFermion, . , , , ProjectQ. Microsoft QDK , , . , QDK , , QDK, . QISKit .


B.


pyQuil QISKit, . , тАФ тАФ ┬л ┬╗. ( ), , / . , , --. IBMQX5 Agave, . - .


рдПрдХред IBMQX5


IBMQX5 тАФ 16- ( 3). (T2) 31┬▒5 0- , тАФ 89┬▒17 15- . 80 10 . CNOT - , 170- cx q[6], q[7] 348 cx q[3], q[14] ред 99,5% ( = 1 тАФ ). - 94,9% . 12,4% 6%. [30].


, , IBM , , . Agave Rigetti, -, , . , .


рдЦред Agave


Agave 8 (transmon) , 2. (T2) 9,2 1- , 15,52 2- . Controlled- Z 118 195 . 96,2% ( , = 1 тАФ ) 93,2%. - 87% - . . - pyQuil.


AlgorithmpyQuilQISKitProjectQQDK
Random Number Generator(T)(T)(T)(T)
Teleportation(T)(T)(T)(T)
Swap Test(T)
Deutsch-Jozsa(T)(T)(T)
Grover's Algorithm(T)(T)(T)(B)
Quantum Fourier Transform(T)(T)(B)(B)
Shor's Algorithm(T)(D)
Bernstein Vazirani(T)(T)(T)
Phase Estimation(T)(T)(B)
Optimization/QAOA(T)(T)
Simon's Algorithm(T)(T)
Variational Quantum Eigensolver(T)(T)(P)
Amplitude Amplification(T)(B)
Quantum Walk(T)
Ising Solver(T)(T)
Quantum Gradient Descent(T)
Five Qubit Code(B)
Repetition Code(T)
Steane Code(B)
Draper Adder(T)(D)
Beauregard Adder(T)(D)
Arithmetic(B)(D)
Fermion Transforms(T)(T)(P)
Trotter Simulation(D)
Electronic Structure (FCI, MP2, HF, etc.)(P)
Process Tomography(T)(T)(D)
Meyer-Penny Game(D)
Vaidman Detection Test(T)
Battleships Game(T)
Emoji Game(T)
Counterfeit Coin Game(T)

4. , . ┬л ┬╗ (T), (D), (B) (P).

C.


, , , . / . тАФ , , . QISKit Rigetti, .


IBMQX5 u1 ред u2 ред u3 рдФрд░ CNOT рдЬрд╣рд╛рдБ



, u1 R z ( ╬╕ ) , u2 рдФрд░ u3 тАФ Rx(╧А/2)



, .



рдЬрд╣рд╛рдБ X рдФрд░ Z тАФ . IBM Rz(╬╕) ┬л ┬╗, , . , z , z () , .


IBMQX5 3. , CNOT , CNOT



, CNOT QISKit, , , QISKit CNOT, . QISKit , , .


8- Agave Rigetti Rx(k╧А/2) kтИИZ ред Rz(╬╕) Controlled- Z ред , , Controlled- Z ( CZ )



Agave 2. QISKit, pyQuil ( ).


, , 5. , pyQuil, Agave, QISKit тАФ IBMQX5. , QISKit (. . ), pyQuil. , - . , IBMQX5 , , pyQuil, . , ( ) - - (, , [32]), . [46], .



5. ( ), pyQuil 8- Agave Rigetti ( ) , QISKit IBM IBMQX5 16- . , Agave, 0, 1 2 ( 2), , IBMQX5, 0, 1 2. , H , Rx Rz . CNOT IBMQX5, Agave тАФ pyQuil CNOT Controlled- Z . ProjectQ.


D.


, . , , (. . ) . , , , , , . . QISKit , C++, ProjectQ , B . QVM pyQuil.


рдПрдХред pyQuil


Rigetti, Quantum Virtual Machine (QVM), , . , API. API 30- , . 16- 10 2,61 . 23 10 56,33 , , QVM API. - - , QVM , QVM , ProjectQ QISKit.


QVM . , . , , . Noise and Quantum Computation pyQuil.


рдЦред QISKit


QISKit , :local_qasm_simulator редlocal_state_vector_simulator редibmq_qasm_simulator редlocal_unitary_simulator рдФрд░local_clifford_simulator ред . () . , / . [33], [34-36] . ClassicalSimulator ProjectQ,local_clifford_simulator (stabilizer circuits), .


, 10 10 23,55 . тАФ 239,97 , 12 1000 ( 17 ). , рдП рдПрди 2 рдПрди ├Ч 2 рдПрди ред


C . 25 . 20 . 6 7.


рдПрдХред ProjectQ


ProjectQ C++, . , , 28 , (569,71 ) 20-. [18]. 6 7.



6. QISKit () ProjectQ C++ (), ( ) ( ). , ( ). **B**.



7. , ProjectQ C++ QISKit, . , тИЪрдПрдХреНрд╕ , CNOT, . , . ProjectQ.


E.


pyQuil Grove, GitHub, pyQuil. Rigetti , Slack Rigetti Forest. Quil ( ). , pyQuil OpenFermion [37], Python , .


QISKit JavaScript Swift. Python - . Grove, QISKit . , ACQUA QISKit . . IBM , . 3 , QISKit, 80000 , 60 , IBM [31]. QISKit Slack , , . , QISKit .


, ProjectQ . , TikZ рдЯреАрдПрдПрдХреНрд╕ ред ProjectQ. ProjectQ , . ProjectQ , IBM. , ProjectQ , OpenFermion, .


QDK Windows , 2018 macOS Linux. QDK, . , Q# , , . QDK , , , , , . .


IV.


, , , (-) (-) . тАФ , . / .


, , :


  • , , QISKit ( ProjectQ) pyQuil тАФ .
  • , , QISKit, pyQuil QDK тАФ .
  • , , Python тАФ .
  • , C/C#, QDK тАФ .
  • , , , ProjectQ тАФ .
  • , - , pyQuil тАФ .
  • , , Strawberry Fields .

, , . . , , .



  1. Bernhard ├Цmer, A procedural formalism for quantum computing , Master's thesis, Department of Theoretical Physics, Technical University of Vienna, 1998.
  2. S. Bettelli, L. SeraямБni, T. Calarco, Toward an architecture for quantum programming , Eur. Phys. J. D, Vol. 25, No. 2, pp. 181-200 (2003).
  3. Peter Selinger (2004), A brief survey of quantum programming languages , in: Kameyama Y., Stuckey PJ (eds) Functional and Logic Programming. FLOPS 2004. Lecture Notes in Computer Science, vol 2998. Springer, Berlin, Heidelberg.
  4. Benjamin P. Lanyon, James D. WhitямБeld, Geoff G. Gillet, Michael E. Goggin, Marcelo P. Almeida, Ivan Kassal, Jacob D. Biamonte, Masoud Mohseni, Ben J. Powell, Marco Barbieri, Ala╥Сn Aspuru-Guzik, Andrew G. White, Towards quantum chemistry on a quantum computer , Nature Chemistry 2 , pages 106-111 (2010), doi:10.1038/nchem.483.
  5. Jonathan Olson, Yudong Cao, Jonathan Romero, Peter Johnson, Pierre-Luc Dallaire-Demers, Nicolas Sawaya, Prineha Narang, Ian Kivlichan, Michael Wasielewski, Ala╥Сn Aspuru-Guzik, Quantum information and computation for chemistry , NSF Workshop Report, 2017.
  6. Jacob Biamonte, Peter Wittek, Nicola Pancotti, Patrick Rebentrost, Nathan Wiebe, Seth Lloyd, Quantum machine learning , Nature volume 549 , pages 195-202 (14 September 2017).
  7. Seth Lloyd, Masoud Mohseni, Patrick Rebentrost, Quantum principal component analysis , Nature Physics volume 10 , pages 631-633 (2014).
  8. Vadim N. Smelyanskiy, Davide Venturelli, Alejandro Perdomo-Ortiz, Sergey Knysh, and Mark I. Dykman, Quantum annealing via environment-mediated quantum diffusion , Phys. Rev. Lett. 118 , 066802, 2017.
  9. Patrick Rebentrost, Brajesh Gupt, Thomas R. Bromley, Quantum computational ямБnance: Monte Carlo pricing of financial derivatives , arXiv preprint (arXiv:1805.00109v1), 2018.
  10. IM Georgescu, S. Ashhab, Franco Nori, Quantum simulation , Rev. Mod. Phys. 86, 154 (2014), DOI: 10.1103/RevModPhys.86.153.
  11. EF Dumitrescu, AJ McCaskey, G. Hagen, GR Jansen, TD Morris, T. Papenbrock, RC Pooser, DJ Dean, P. Lougovski, Cloud quantum computing of an atomic nucleus , Phys. Rev. Lett. 120 , 210501 (2018), DOI: 10.1103/PhysRevLett.120.210501.
  12. Lukasz Cincio, Yigit Subasi, Andrew T. Sornborger, and Patrick J. Coles, Learning the quantum algorithm for state overlap , arXiv preprint (arXiv:1803.04114v1), 2018
  13. Patrick J. Coles, Stephan Eidenbenz, Scott Pakin, et al., Quantum algorithm implementations for beginners , arXiv preprint (arXiv:1804.03719v1), 2018.
  14. Mark Fingerhuth, Open-Source Quantum Software Projects , accessed May 12, 2018.
  15. Quantiki: List of QC Simulators , accessed May 12, 2018
  16. R. Smith, MJ Curtis and WJ Zeng, A practical quantum instruction set architecture , 2016.
  17. QISKit, originally authored by Luciano Bello, Jim Challenger, Andrew Cross, Ismael Faro, Jay Gambetta, Juan Gomez, Ali Javadi-Abhari, Paco Martin, Diego Moreda, Jesus Perez, Erick Winston, and Chris Wood, https://github.com/QISKit/qiskit-sdk-py .
  18. Damian S. Steiger, Thomas H├дner, and Matthias Troyer ProjectQ: An open source software framework for quantum computing , 2016.
  19. Thomas H├дner, Damian S. Steiger, Krysta M. Svore, and Matthias Troyer A software methodology for compiling quantum programs , 2016.
  20. The Quantum Development Kit by Microsoft, homepage: https://www.microsoft.com/en тАФ us/quantum/development-kit, github: https://github.com/Microsoft/Quantum .
  21. Michael A. Nielsen and Isaac L. Chuang, Quantum Computation and Quantum Information 10th Anniversary Edition, Cambridge University Press, 2011.
  22. Doug Finke, Education , Quantum Computing Report, https://quantumcomputingreport.com/resources/education/ , accessed May 26, 2018.
  23. All code in this paper was run and tested on a Dell XPS 13 Developer Edition laptop running 64 bit Ubuntu 16.04 LTS with 8 GB RAM and an Intel Core i7-8550U CPU at 1.80 GHz. Programs were run primarily from the command line but the Python developer environment Spyder was also used for Python programs and Visual Studio Code was used for C# (Q#) programs.
  24. Forest: An API for quantum computing in the cloud, https://www.rigetti.com/index.php/forest , accessed May 14, 2018.
  25. Andrew W. Cross, Lev S. Bishop, John A. Smolin, Jay M. Gambetta, Open quantum assembly language , 2017.
  26. Scott Aaronson, Daniel Gottesman, Improved Simulation of Stabilizer Circuits , Phys. Rev. A 70 , 052328, 2004.
  27. pyQuil Lisence, github.com/rigetticomputing/pyquil/blob/master/LICENSE#L204 , accessed June 7, 2018.
  28. Microsoft Quantum Development Kit License, marketplace.visualstudio.com/items/quantum.DevKit/license , accessed June 7, 2018.
  29. Hao Zhang, Chun-Xiao Liu, Sasa Gazibegovic, et al. Quantized Majorana conductance , Nature 556 , 74-79 (05 April 2018).
  30. 16-qubit backend: IBM QX team, тАЬibmqx5 backend speciямБcation V1.1.0,тАЭ (2018). Retrieved from https://ibm.biz/qiskit-ibmqx5 and https://quantumexperience.ng.bluemix.net/qx/devices on May 23, 2018.
  31. Talia Gershon, Celebrating the IBM Q Experience Community and Their Research , March 8, 2018.
  32. M. Reck, A. Zeilinger, HJ Bernstein, and P. Bertani, Experimental realization of any discrete unitary operator , Physical Review Letters, 73, p. 58, 1994.
  33. Ryan LaRose, Distributed memory techniques for classical simulation of quantum circuits , arXiv preprint (arXiv:1801.01037v1), 2018.
  34. Thomas Haner, Damian S. Steiger, 0.5 petabyte simulation of a 45-qubit quantum circuit , arXiv preprint (arXiv:1704.01127v2), September 18, 2017.
  35. Jianxin Chen, Fang Zhang, Cupjin Huang, Michael Newman, Yaoyun Shi, Classical simulation of intermediate-size quantum circuits , arXiv preprint (arXiv:1805.01450v2), 2018.
  36. Alwin Zulehner, Robert Wille, Advanced simulation of quantum computations , arXiv preprint ( arXiv:1707.00865v2 ), November 7, 2017.
  37. Jarrod R. McClean, Ian D. Kivlichan, Kevin J. Sung, et al., OpenFermion: The electronic structure package for quantum computers , arXiv:1710.07629, 2017.
  38. Nathan Killoran, Josh Izaac, Nicols Quesada, Ville Bergholm, Matthew Amy, Christian Weedbrook, Strawberry Fields: A Software Platform for Photonic Quantum Computing , arXiv preprint (arXiv:1804.03159v1), 2018.
  39. IonQ website, https://ionq.co/ , accessed June 15, 2018.
  40. D-Wave: The quantum computing company, https://www.dwavesys.com/home , accessed June 20, 2018.
  41. 4 2018 Rigetti 20- , . , 8- ┬л- ┬╗. , 20- (, , ).
  42. IBMQ Network , 2017 тАФ JP Morgan Chase , Daimler , Samsung , Honda , Oak Ridge National Lab , тАФ , 2018 тАФ Zapata Computing , Strangeworks , QxBranch , Quantum Benchmark , QC Ware , Q-CTRL , Cambridge Quantum Computing (CQC) , 1QBit . North Carolina State University , IBM Q Hub, University of Oxford University of Melbourne . https://www.research.ibm.com/ibmq/network/ .
  43. , - - . QISKit, ACQUA , pyQuil.
  44. pyQuil : , from pyquil.gates import H, MEASURE ред pyquil.gates , , , .
  45. , () . , () , , .
  46. IBM, 31 2018 , ┬л ┬╗ Python Cython, .

A

A.


, . Players Quantum Computing Report [22]. , , . / тАФ .


рдПрдХред Strawberry Fields


Xanadu , , Strawberry Fields Python , [38]. Xanadu ┬лqumodes┬╗ ( ), , , . Strawberry Fields Numpy TensorFlow, Blackbird. GitHub, , , , . , Xanadu https://www.xanadu.ai/ , .


рдЦред IonQ


IonQ тАФ -, College Park , . IonQ , . 171 Yb , IonQ T2 () 15- , T2 1 . , T1 ( ) 20 000 , 10тИТ4 . , -- - , ┬л┬╗ . , .


IonQ , IonQ . . , - [39].


рд╕реАред D-Wave Systems


D-Wave [40], , . D-Wave, 1999 , , , ,


H=тИСihi╧Гxi+тИСi,jJij╧Гzi╧Гzj.


D-Wave , тАФ 2048 , Matlab, C/C++ Python . /, D-Wave . D-Wave .


B

B.


ProjectQ C++. Dell XPS 13 Developer Edition 64- Ubuntu 16.04 LTS 8 Intel Core i7-8550U 1,80 .


 # ------------------------------------------------------------------------------ # imports # ------------------------------------------------------------------------------ from projectq import MainEngine import projectq.ops as ops from projectq.backends import Simulator import sys import time # ------------------------------------------------------------------------------ # number of qubits and depth # ------------------------------------------------------------------------------ if len(sys.argv) > 1: n = int(sys.argv[1]) else: n = 16 if len(sys.argv) > 1: depth = int(sys.argv[2]) else: depth = 10 # ------------------------------------------------------------------------------ # engine and qubit register # ------------------------------------------------------------------------------ eng = MainEngine(backend=Simulator(gate_fusion=True), engine_list=[]) qbits = eng.allocate_qureg(n) # ------------------------------------------------------------------------------ # circuit # ------------------------------------------------------------------------------ # timing -- get the start time start = time.time() # random circuit for level in range(depth): for q in qbits: ops.H | q ops.SqrtX | q if q != qbits[0]: ops.CNOT | (q, qbits[0]) # measure for q in qbits: ops.Measure | q # flush the engine eng.flush() # timing -- get the end time runtime = time.time() - start # print out the runtime print(n, depth, runtime) 

, , 7. , QISKit тАФ .


C

C. :


. , QDK , , . тАФ , тАФ тАФ . . , , , тАФ , .


, , . , QISKit.



8. , circuit_drawer , QISKit v0.5.4.


pyQuil


 #!/usr/bin/env python3 # -*- coding: utf-8 -*- # ============================================================================== # teleport.py # # Teleportation circuit in pyQuil. # ============================================================================== # ------------------------------------------------------------------------------ # imports # ------------------------------------------------------------------------------ from pyquil.quil import Program from pyquil import api import pyquil.gates as gate # ------------------------------------------------------------------------------ # program and simulator # ------------------------------------------------------------------------------ qprog = Program() qvm = api.QVMConnection() # ------------------------------------------------------------------------------ # teleportation circuit # ------------------------------------------------------------------------------ # teleport |1> to qubit three qprog += gates.X(0) # main circuit qprog += [gates.H(1), gates.CNOT(1, 2), gates.CNOT(0, 1), gates.H(0), gates.MEASURE(0, 0), gates.MEASURE(1, 1)] # conditional operations qprog.if_then(0, gates.Z(2)) qprog.if_then(1, gates.X(2)) # measure qubit three qprog.measure(2, 2) # ------------------------------------------------------------------------------ # run the circuit and print the results # ------------------------------------------------------------------------------ print(qvm.run(qprog)) # optionally print the quil code print(qprog) 

QISKit


 #!/usr/bin/env python3 # -*- coding: utf-8 -*- # ============================================================================== # teleport.py # # Teleportation circuit in QISKit. # ============================================================================== # ------------------------------------------------------------------------------ # imports # ------------------------------------------------------------------------------ from qiskit import QuantumRegister, ClassicalRegister, QuantumCircuit, execute # ------------------------------------------------------------------------------ # registers and quantum circuit # ------------------------------------------------------------------------------ qreg = QuantumRegister(3) creg = ClassicalRegister(3) qcircuit = QuantumCircuit(qreg, creg) # ------------------------------------------------------------------------------ # do the circuit # ------------------------------------------------------------------------------ # teleport |1> to qubit three qcircuit.x(qreg[0]) # main circuit qcircuit.h(qreg[0]) qcircuit.cx(qreg[1], qreg[2]) qcircuit.cx(qreg[0], qreg[1]) qcircuit.h(qreg[0]) qcircuit.measure(qreg[0], creg[0]) qcircuit.measure(qreg[1], creg[1]) # conditional operations qcircuit.z(qreg[2]).c_if(creg[0][0], 1) qcircuit.x(qreg[2]).c_if(creg[1][0], 1) # measure qubit three qcircuit.measure(qreg[2], creg[2]) # ------------------------------------------------------------------------------ # run the circuit and print the results # ------------------------------------------------------------------------------ result = execute(qcircuit, 'local_qasm_simulator').result() counts = result.get_counts() print(counts) # optionally print the qasm code print(qcircuit.qasm()) # optionally draw the circuit from qiskit.tools.visualization import circuit_drawer circuit_drawer(qcircuit) 

ProjectQ


 #!/usr/bin/env python3 # -*- coding: utf-8 -*- # ============================================================================== # teleport.py # # Teleportation circuit in ProjectQ. # ============================================================================== # ------------------------------------------------------------------------------ # imports # ------------------------------------------------------------------------------ from projectq import MainEngine from projectq.meta import Control import projectq.ops as ops # ------------------------------------------------------------------------------ # engine and qubit register # ------------------------------------------------------------------------------ # engine eng = MainEngine() # allocate qubit register qbits = eng.allocate_qureg(3) # ------------------------------------------------------------------------------ # teleportation circuit # ------------------------------------------------------------------------------ # teleport |1> to qubit three ops.X | qbits[0] # main circuit ops.H | qbits[1] ops.CNOT | (qbits[1], qbits[2]) ops.CNOT | (qbits[0], qbits[1]) ops.H | qbits[0] ops.Measure | (qbits[0], qbits[1]) # conditional operations with Control(eng, qbits[1]): ops.X | qbits[2] with Control(eng, qbits[1]): ops.Z | qbits[2] # measure qubit three ops.Measure | qbits[2] # ------------------------------------------------------------------------------ # run the circuit and print the results # ------------------------------------------------------------------------------ eng.flush() print("Measured:", int(qbits[2])) 

Quantum Developer Kit


 // ============================================================================= // teleport.qs // // Teleportation circuit in QDK. // ============================================================================= operation Teleport(msg : Qubit, there : Qubit) : () { body { using (register = Qubit[1]) { // get auxiliary qubit to prepare for teleportation let here = register[0]; // main circuit H(here); CNOT(here, there); CNOT(msg, here); H(msg); // conditional operations if (M(msg) == One) { Z(there); } if (M(here) == One) { X(there); } // reset the "here" qubit Reset(here); } } } operation TeleportClassicalMessage(message : Bool) : Bool { body { mutable measurement = false; using (register = Qubit[2]) { // two qubits let msg = register[0]; let there = register[1]; // encode message to send if (message) { X(msg); } // do the teleportation Teleport(msg, there); // check what message was sent if (M(there) == One) { set measurement = true; } // reset all qubits ResetAll(register); } return measurement; } } 

Source: https://habr.com/ru/post/hi418505/


All Articles