Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Кубит — квантовый разряд или наименьший элемент для хранения информации в квантовом компьютере.
- // Как и бит, кубит допускает два собственных состояния, обозначаемых ∣0〉 и ∣1〉 (обозначения Дирака)
- // Бра и кет (англ. bra-ket < bracket скобка)
- // Кубит может находиться и в их суперпозиции, то есть в состоянии A∣0〉 + B∣1〉
- // Где A и B - комплексные числа, удовлетворяющие условию |A|^2 + |B|^2 = 1
- //
- // Операции:
- //
- // U1: Однопараметрический переход с продолжительностью: 0 unit
- // Нужно задать lambda (угол поворота фазы в радианах)
- //
- // gate u1(lambda) q {
- // U(0,0,lambda) q;
- // }
- //
- // [
- // [1,0],
- // [0,exp(1i*lambda)]
- // ]
- // U2: Двухпараметрические ворота с продолжительностью: 1 unit
- // Нужно задать phi, lambda (угол поворота фазы в радианах)
- //
- // gate u2(phi,lambda) q {
- // U(pi/2,phi,lambda) q;
- // }
- //
- // [
- // [1/sqrt(2), -exp(1i*lambda) * 1/sqrt(2)],
- // [exp(1i*phi) * 1/sqrt(2), exp(1i*lambda + 1i*phi) * 1/sqrt(2)]
- // ]
- // U3: Трехпараметрические ворода с продолжительностью: 2 unit
- // Нужно задать theta, phi, lambda (угол поворота фазы в радианах)
- //
- // gate u3(theta,phi,lambda) q {
- // U(theta,phi,lambda) q;
- // }
- //
- // [
- // [cos(theta/2), -exp(1i*lambda) * sin(theta/2)],
- // [exp(1i*phi) * sin(theta/2), exp(1i*lambda + 1i*phi) * cos(theta/2)]
- // ]
- // ID: Выполняет операцию бездействия на кубите с продолжительностью: 1 unit
- // gate id a {
- // }
- //
- // [[1,0], [0,1]]
- // X ворота: вращение вокруг оси X на pi радиан
- // Свойства: X -> X, Z -> -Z
- // Так же называется бит-флип'ом
- //
- // gate x a {
- // u3(pi,0,pi) a;
- // }
- //
- // [[0,1], [1,0]]
- // Z ворота: вращение вокруг оси Z на pi радиан
- // Свойства: X -> -X, Z -> Z
- //
- // gate z a {
- // u1(pi) a;
- // }
- //
- // [[1,0], [0,-1]]
- // Y ворота: вращение вокруг оси Y на pi радиан
- // Свойства: X -> -X, Z -> -Z
- // Это одновременно X ворота и Z ворота (Y = XZ)
- //
- // gate y a {
- // u3(pi,pi/2,pi/2) a;
- // }
- //
- // [[0,-1i], [1i,0]]
- // H ворота: X -> Z, Z -> X
- // Эти ворота должны находиться в суперпозиции
- //
- // gate h a {
- // u2(0,pi) a;
- // }
- // S ворота: X -> Y, Z -> Z
- // St ворота: X -> -Y, Z -> Z
- // Не ворота:
Advertisement