Ana içeriğe geç
Dil v0.2.0 · Ön izleme

N/M standart kütüphane referansı

Import, runtime expansion, dışa aktarım ve editör araçlarının kullandığı aynı registry'den üretilen yerleşik circuit ve observable modülleri.

std.bellcircuitv0.1

bell

Iki-qubit Bell pair hazirlayan circuit helper.

use std.bell; bell(q);

bell

circuit bell(q: QReg<2>) {  H(q[0]);  CNOT(q[0], q[1]);}

en az 2 qubit · bell
std.ghzcircuitv0.1

ghz

Uc-qubit GHZ state hazirlayan circuit helper.

use std.ghz; ghz(q);

ghz

circuit ghz(q: QReg<3>) {  H(q[0]);  CNOT(q[0], q[1]);  CNOT(q[1], q[2]);}

en az 3 qubit · ghz
std.hadamard_statecircuitv0.1

hadamard_state

Süperpozisyon deneyleri için tek-qubit |+> durumu hazırlayan circuit helper.

use std.hadamard_state; hadamard_state(q);

hadamard_state

circuit hadamard_state(q: QReg<1>) {  H(q[0]);}

en az 1 qubit · hadamard_state
std.qft2circuitv0.1

qft2

Iki-qubit quantum Fourier transform yardimcisi.

use std.qft2; qft2(q);

qft2

circuit qft2(q: QReg<2>) {  H(q[0]);  CP(q[0], q[1], PI / 2);  H(q[1]);  SWAP(q[0], q[1]);}

en az 2 qubit · qft2
algorithms.grover2circuitv0.1

grover2

|11> oracle ve diffusion adımı içeren iki-qubit Grover circuit'i.

use algorithms.grover2; grover2(q);

grover2

circuit grover2(q: QReg<2>) {  H(q[0]);  H(q[1]);  CZ(q[0], q[1]);  H(q[0]);  H(q[1]);  X(q[0]);  X(q[1]);  CZ(q[0], q[1]);  X(q[0]);  X(q[1]);  H(q[0]);  H(q[1]);}

en az 2 qubit · grover2
algorithms.phase_kickbackcircuitv0.1

phase_kickback

Kontrollü gate üzerinden phase kickback gösteren iki-qubit circuit.

use algorithms.phase_kickback; phase_kickback(q);

phase_kickback

circuit phase_kickback(q: QReg<2>) {  H(q[0]);  X(q[1]);  H(q[1]);  CNOT(q[0], q[1]);}

en az 2 qubit · phase_kickback
algorithms.deutsch_jozsa2circuitv0.2

deutsch_jozsa2

Sabit dengeli f(x)=x oracle'ını sınıflandıran iki-qubit Deutsch–Jozsa circuit'i.

use algorithms.deutsch_jozsa2@0.2; deutsch_jozsa2(q);

deutsch_jozsa2

circuit deutsch_jozsa2(q: QReg<2>) {  X(q[1]);  H(q[0]);  H(q[1]);  CNOT(q[0], q[1]);  H(q[0]);}

en az 2 qubit · deutsch_jozsa2
algorithms.bernstein_vazirani3circuitv0.2

bernstein_vazirani3

Sabit 101 gizli bit dizisini geri kazanan dört-qubit Bernstein–Vazirani circuit'i.

use algorithms.bernstein_vazirani3@0.2; bernstein_vazirani3(q);

bernstein_vazirani3

circuit bernstein_vazirani3(q: QReg<4>) {  X(q[3]);  H(q[0]);  H(q[1]);  H(q[2]);  H(q[3]);  CNOT(q[0], q[3]);  CNOT(q[2], q[3]);  H(q[0]);  H(q[1]);  H(q[2]);}

en az 4 qubit · bernstein_vazirani3
algorithms.swap_testcircuitv0.2

swap_test

İki saf durumun örtüşmesini ancilla-controlled SWAP ile karşılaştıran circuit.

use algorithms.swap_test@0.2; swap_test(q);

swap_test

circuit swap_test(q: QReg<3>) {  H(q[0]);  CSWAP(q[0], q[1], q[2]);  H(q[0]);}

en az 3 qubit · swap_test
algorithms.hadamard_testcircuitv0.2

hadamard_test

Sabit controlled-Z deneyi için reel expectation işaretini çıkaran circuit.

use algorithms.hadamard_test@0.2; hadamard_test(q);

hadamard_test

circuit hadamard_test(q: QReg<2>) {  H(q[0]);  CZ(q[0], q[1]);  H(q[0]);}

en az 2 qubit · hadamard_test
algorithms.phase_estimation2circuitv0.2

phase_estimation2

P(PI/2) özfazı için iki sayım qubit'lik sabit phase-estimation circuit'i.

use algorithms.phase_estimation2@0.2; phase_estimation2(q);

phase_estimation2

circuit phase_estimation2(q: QReg<3>) {  X(q[2]);  H(q[0]);  H(q[1]);  CP(q[0], q[2], PI);  CP(q[1], q[2], PI / 2);  SWAP(q[0], q[1]);  H(q[1]);  CP(q[0], q[1], -PI / 2);  H(q[0]);}

en az 3 qubit · phase_estimation2
algorithms.simon2circuitv0.3

simon2

Sabit 11 gizli XOR maskesi için dik denklem örnekleyen sınırlı Simon circuit'i.

use algorithms.simon2@0.3; simon2(q);

simon2

circuit simon2(q: QReg<3>) {  H(q[0]);  H(q[1]);  CNOT(q[0], q[2]);  CNOT(q[1], q[2]);  H(q[0]);  H(q[1]);}

en az 3 qubit · simon2
algorithms.superdense11circuitv0.3

superdense11

Sabit 11 mesajını Bell çiftinin tek yarısına kodlayıp geri çözen superdense coding circuit'i.

use algorithms.superdense11@0.3; superdense11(q);

superdense11

circuit superdense11(q: QReg<2>) {  H(q[0]);  CNOT(q[0], q[1]);  X(q[0]);  Z(q[0]);  CNOT(q[0], q[1]);  H(q[0]);}

en az 2 qubit · superdense11
algorithms.chsh_paircircuitv0.3

chsh_pair

CHSH expectation tanığı için Bell çifti ve yerel Y rotasyonları hazırlayan parametreli circuit.

use algorithms.chsh_pair@0.3; chsh_pair(q, aliceAngle, bobAngle);

chsh_pair

circuit chsh_pair(q: QReg<2>, aliceAngle: Angle, bobAngle: Angle) {  H(q[0]);  CNOT(q[0], q[1]);  Ry(q[0], aliceAngle);  Ry(q[1], bobAngle);}

en az 2 qubit · chsh_pair
algorithms.coined_walk_step3circuitv0.3

coined_walk_step3

Coin qubit'ini iki one-hot yön qubit'iyle dolaştıran tek adımlı quantum walk circuit'i.

use algorithms.coined_walk_step3@0.3; coined_walk_step3(q);

coined_walk_step3

circuit coined_walk_step3(q: QReg<3>) {  H(q[0]);  CNOT(q[0], q[1]);  X(q[0]);  CNOT(q[0], q[2]);  X(q[0]);}

en az 3 qubit · coined_walk_step3
algorithms.teleportation3circuitv0.4

teleportation3

Üç kübitlik teleportasyonun üniter hazırlık kısmı; son iki ölçümü ve doğrulanmış X/Z ileri besleme düzeltmelerini çağıran uygular.

use algorithms.teleportation3@0.4; teleportation3(q);

teleportation3

circuit teleportation3(q: QReg<3>) {  H(q[1]);  CNOT(q[1], q[2]);  CNOT(q[0], q[1]);  H(q[0]);}

en az 3 qubit · teleportation3
algorithms.entanglement_swap4circuitv0.4

entanglement_swap4

Dış kübitleri q[0..1], ölçülen iç kübitleri q[2..3] olan dört kübitlik dolanıklık değişiminin üniter hazırlık kısmı.

use algorithms.entanglement_swap4@0.4; entanglement_swap4(q);

entanglement_swap4

circuit entanglement_swap4(q: QReg<4>) {  H(q[0]);  CNOT(q[0], q[2]);  H(q[3]);  CNOT(q[3], q[1]);  CNOT(q[2], q[3]);  H(q[2]);}

en az 4 qubit · entanglement_swap4
qec.perfect5_codecircuitv0.4

perfect5_code

Beş veri kübitinde [[5,1,3]] kodunun mantıksal |0> durumunu hazırlar; çağıran için dört sendrom kübiti ayırır.

use qec.perfect5_code@0.4; perfect5_code(q);

perfect5_code

circuit perfect5_code(q: QReg<9>) {  H(q[0]);  H(q[1]);  H(q[2]);  H(q[3]);  H(q[4]);  CZ(q[0], q[1]);  CZ(q[0], q[2]);  CZ(q[0], q[3]);  CZ(q[0], q[4]);  CZ(q[1], q[3]);  CZ(q[2], q[3]);  CZ(q[2], q[4]);  H(q[0]);  X(q[1]);  X(q[2]);  X(q[3]);  X(q[4]);}

en az 9 qubit · perfect5_code
qec.steane7_codecircuitv0.4

steane7_code

Yedi veri kübitinde [[7,1,3]] Steane kodunun mantıksal |0> durumunu hazırlar; çağıran için altı sendrom kübiti ayırır.

use qec.steane7_code@0.4; steane7_code(q);

steane7_code

circuit steane7_code(q: QReg<13>) {  H(q[0]);  H(q[1]);  H(q[2]);  H(q[3]);  H(q[4]);  H(q[5]);  H(q[6]);  CZ(q[0], q[3]);  CZ(q[0], q[5]);  CZ(q[0], q[6]);  CZ(q[1], q[3]);  CZ(q[1], q[5]);  CZ(q[2], q[3]);  CZ(q[2], q[6]);  CZ(q[4], q[5]);  CZ(q[4], q[6]);  H(q[0]);  H(q[1]);  H(q[2]);  H(q[4]);}

en az 13 qubit · steane7_code
qec.surface_d3_patchcircuitv0.4

surface_d3_patch

Sabit [[9,1,3]] döndürülmüş yüzey kodunun mantıksal |0> durumunu hazırlar; sekiz sendrom kübiti ayırır.

use qec.surface_d3_patch@0.4; surface_d3_patch(q);

surface_d3_patch

circuit surface_d3_patch(q: QReg<17>) {  H(q[0]);  H(q[1]);  H(q[2]);  H(q[3]);  H(q[4]);  H(q[5]);  H(q[6]);  H(q[7]);  H(q[8]);  CZ(q[0], q[3]);  CZ(q[0], q[7]);  CZ(q[1], q[5]);  CZ(q[1], q[8]);  CZ(q[2], q[5]);  CZ(q[2], q[8]);  CZ(q[4], q[5]);  CZ(q[4], q[7]);  CZ(q[4], q[8]);  CZ(q[6], q[7]);  H(q[0]);  H(q[1]);  H(q[2]);  H(q[4]);  H(q[6]);}

en az 17 qubit · surface_d3_patch
qec.repetition_code25circuitv0.4

repetition_code25

Sabit 13 veri kübitli tekrar kodunun mantıksal |0> durumunu hazırlar; on iki sendrom kübiti ayırır.

use qec.repetition_code25@0.4; repetition_code25(q);

repetition_code25

circuit repetition_code25(q: QReg<25>) {  Z(q[0]);  Z(q[0]);}

en az 25 qubit · repetition_code25
states.ghz100circuitv0.4

ghz100

Bir Hadamard ve 99 CNOT kapısından oluşan zincirle sabit 100 kübitlik GHZ stabilizer durumunu hazırlar.

use states.ghz100@0.4; ghz100(q);

ghz100

circuit ghz100(q: QReg<100>) {  H(q[0]);  CNOT(q[0], q[1]);  CNOT(q[1], q[2]);  CNOT(q[2], q[3]);  CNOT(q[3], q[4]);  CNOT(q[4], q[5]);  CNOT(q[5], q[6]);  CNOT(q[6], q[7]);  CNOT(q[7], q[8]);  CNOT(q[8], q[9]);  CNOT(q[9], q[10]);  CNOT(q[10], q[11]);  CNOT(q[11], q[12]);  CNOT(q[12], q[13]);  CNOT(q[13], q[14]);  CNOT(q[14], q[15]);  CNOT(q[15], q[16]);  CNOT(q[16], q[17]);  CNOT(q[17], q[18]);  CNOT(q[18], q[19]);  CNOT(q[19], q[20]);  CNOT(q[20], q[21]);  CNOT(q[21], q[22]);  CNOT(q[22], q[23]);  CNOT(q[23], q[24]);  CNOT(q[24], q[25]);  CNOT(q[25], q[26]);  CNOT(q[26], q[27]);  CNOT(q[27], q[28]);  CNOT(q[28], q[29]);  CNOT(q[29], q[30]);  CNOT(q[30], q[31]);  CNOT(q[31], q[32]);  CNOT(q[32], q[33]);  CNOT(q[33], q[34]);  CNOT(q[34], q[35]);  CNOT(q[35], q[36]);  CNOT(q[36], q[37]);  CNOT(q[37], q[38]);  CNOT(q[38], q[39]);  CNOT(q[39], q[40]);  CNOT(q[40], q[41]);  CNOT(q[41], q[42]);  CNOT(q[42], q[43]);  CNOT(q[43], q[44]);  CNOT(q[44], q[45]);  CNOT(q[45], q[46]);  CNOT(q[46], q[47]);  CNOT(q[47], q[48]);  CNOT(q[48], q[49]);  CNOT(q[49], q[50]);  CNOT(q[50], q[51]);  CNOT(q[51], q[52]);  CNOT(q[52], q[53]);  CNOT(q[53], q[54]);  CNOT(q[54], q[55]);  CNOT(q[55], q[56]);  CNOT(q[56], q[57]);  CNOT(q[57], q[58]);  CNOT(q[58], q[59]);  CNOT(q[59], q[60]);  CNOT(q[60], q[61]);  CNOT(q[61], q[62]);  CNOT(q[62], q[63]);  CNOT(q[63], q[64]);  CNOT(q[64], q[65]);  CNOT(q[65], q[66]);  CNOT(q[66], q[67]);  CNOT(q[67], q[68]);  CNOT(q[68], q[69]);  CNOT(q[69], q[70]);  CNOT(q[70], q[71]);  CNOT(q[71], q[72]);  CNOT(q[72], q[73]);  CNOT(q[73], q[74]);  CNOT(q[74], q[75]);  CNOT(q[75], q[76]);  CNOT(q[76], q[77]);  CNOT(q[77], q[78]);  CNOT(q[78], q[79]);  CNOT(q[79], q[80]);  CNOT(q[80], q[81]);  CNOT(q[81], q[82]);  CNOT(q[82], q[83]);  CNOT(q[83], q[84]);  CNOT(q[84], q[85]);  CNOT(q[85], q[86]);  CNOT(q[86], q[87]);  CNOT(q[87], q[88]);  CNOT(q[88], q[89]);  CNOT(q[89], q[90]);  CNOT(q[90], q[91]);  CNOT(q[91], q[92]);  CNOT(q[92], q[93]);  CNOT(q[93], q[94]);  CNOT(q[94], q[95]);  CNOT(q[95], q[96]);  CNOT(q[96], q[97]);  CNOT(q[97], q[98]);  CNOT(q[98], q[99]);}

en az 100 qubit · ghz100
states.graph_state100circuitv0.4

graph_state100

Stabilizer ölçek görünümünde kesin komşuluk metni sunulan sabit 100 düğümlü çizgi grafı durumunu hazırlar.

use states.graph_state100@0.4; graph_state100(q);

graph_state100

circuit graph_state100(q: QReg<100>) {  H(q[0]);  H(q[1]);  H(q[2]);  H(q[3]);  H(q[4]);  H(q[5]);  H(q[6]);  H(q[7]);  H(q[8]);  H(q[9]);  H(q[10]);  H(q[11]);  H(q[12]);  H(q[13]);  H(q[14]);  H(q[15]);  H(q[16]);  H(q[17]);  H(q[18]);  H(q[19]);  H(q[20]);  H(q[21]);  H(q[22]);  H(q[23]);  H(q[24]);  H(q[25]);  H(q[26]);  H(q[27]);  H(q[28]);  H(q[29]);  H(q[30]);  H(q[31]);  H(q[32]);  H(q[33]);  H(q[34]);  H(q[35]);  H(q[36]);  H(q[37]);  H(q[38]);  H(q[39]);  H(q[40]);  H(q[41]);  H(q[42]);  H(q[43]);  H(q[44]);  H(q[45]);  H(q[46]);  H(q[47]);  H(q[48]);  H(q[49]);  H(q[50]);  H(q[51]);  H(q[52]);  H(q[53]);  H(q[54]);  H(q[55]);  H(q[56]);  H(q[57]);  H(q[58]);  H(q[59]);  H(q[60]);  H(q[61]);  H(q[62]);  H(q[63]);  H(q[64]);  H(q[65]);  H(q[66]);  H(q[67]);  H(q[68]);  H(q[69]);  H(q[70]);  H(q[71]);  H(q[72]);  H(q[73]);  H(q[74]);  H(q[75]);  H(q[76]);  H(q[77]);  H(q[78]);  H(q[79]);  H(q[80]);  H(q[81]);  H(q[82]);  H(q[83]);  H(q[84]);  H(q[85]);  H(q[86]);  H(q[87]);  H(q[88]);  H(q[89]);  H(q[90]);  H(q[91]);  H(q[92]);  H(q[93]);  H(q[94]);  H(q[95]);  H(q[96]);  H(q[97]);  H(q[98]);  H(q[99]);  CZ(q[0], q[1]);  CZ(q[1], q[2]);  CZ(q[2], q[3]);  CZ(q[3], q[4]);  CZ(q[4], q[5]);  CZ(q[5], q[6]);  CZ(q[6], q[7]);  CZ(q[7], q[8]);  CZ(q[8], q[9]);  CZ(q[9], q[10]);  CZ(q[10], q[11]);  CZ(q[11], q[12]);  CZ(q[12], q[13]);  CZ(q[13], q[14]);  CZ(q[14], q[15]);  CZ(q[15], q[16]);  CZ(q[16], q[17]);  CZ(q[17], q[18]);  CZ(q[18], q[19]);  CZ(q[19], q[20]);  CZ(q[20], q[21]);  CZ(q[21], q[22]);  CZ(q[22], q[23]);  CZ(q[23], q[24]);  CZ(q[24], q[25]);  CZ(q[25], q[26]);  CZ(q[26], q[27]);  CZ(q[27], q[28]);  CZ(q[28], q[29]);  CZ(q[29], q[30]);  CZ(q[30], q[31]);  CZ(q[31], q[32]);  CZ(q[32], q[33]);  CZ(q[33], q[34]);  CZ(q[34], q[35]);  CZ(q[35], q[36]);  CZ(q[36], q[37]);  CZ(q[37], q[38]);  CZ(q[38], q[39]);  CZ(q[39], q[40]);  CZ(q[40], q[41]);  CZ(q[41], q[42]);  CZ(q[42], q[43]);  CZ(q[43], q[44]);  CZ(q[44], q[45]);  CZ(q[45], q[46]);  CZ(q[46], q[47]);  CZ(q[47], q[48]);  CZ(q[48], q[49]);  CZ(q[49], q[50]);  CZ(q[50], q[51]);  CZ(q[51], q[52]);  CZ(q[52], q[53]);  CZ(q[53], q[54]);  CZ(q[54], q[55]);  CZ(q[55], q[56]);  CZ(q[56], q[57]);  CZ(q[57], q[58]);  CZ(q[58], q[59]);  CZ(q[59], q[60]);  CZ(q[60], q[61]);  CZ(q[61], q[62]);  CZ(q[62], q[63]);  CZ(q[63], q[64]);  CZ(q[64], q[65]);  CZ(q[65], q[66]);  CZ(q[66], q[67]);  CZ(q[67], q[68]);  CZ(q[68], q[69]);  CZ(q[69], q[70]);  CZ(q[70], q[71]);  CZ(q[71], q[72]);  CZ(q[72], q[73]);  CZ(q[73], q[74]);  CZ(q[74], q[75]);  CZ(q[75], q[76]);  CZ(q[76], q[77]);  CZ(q[77], q[78]);  CZ(q[78], q[79]);  CZ(q[79], q[80]);  CZ(q[80], q[81]);  CZ(q[81], q[82]);  CZ(q[82], q[83]);  CZ(q[83], q[84]);  CZ(q[84], q[85]);  CZ(q[85], q[86]);  CZ(q[86], q[87]);  CZ(q[87], q[88]);  CZ(q[88], q[89]);  CZ(q[89], q[90]);  CZ(q[90], q[91]);  CZ(q[91], q[92]);  CZ(q[92], q[93]);  CZ(q[93], q[94]);  CZ(q[94], q[95]);  CZ(q[95], q[96]);  CZ(q[96], q[97]);  CZ(q[97], q[98]);  CZ(q[98], q[99]);}

en az 100 qubit · graph_state100
nonlocality.mermin_ghz3circuitv0.4

mermin_ghz3

Kesin yerel XXX/XYY/YXY/YYX Mermin tanığı için üç kübitlik GHZ durumunu hazırlar.

use nonlocality.mermin_ghz3@0.4; mermin_ghz3(q);

mermin_ghz3

circuit mermin_ghz3(q: QReg<3>) {  H(q[0]);  CNOT(q[0], q[1]);  CNOT(q[1], q[2]);}

en az 3 qubit · mermin_ghz3
benchmark.stabilizer_rb100circuitv0.4

stabilizer_rb100

Simülatör regresyon iş yükü olarak 100 kübitte deterministik 398 kapılık Clifford gidiş dönüşü uygular; donanım RB doğruluk tahmini değildir.

use benchmark.stabilizer_rb100@0.4; stabilizer_rb100(q);

stabilizer_rb100

circuit stabilizer_rb100(q: QReg<100>) {  H(q[0]);  H(q[1]);  H(q[2]);  H(q[3]);  H(q[4]);  H(q[5]);  H(q[6]);  H(q[7]);  H(q[8]);  H(q[9]);  H(q[10]);  H(q[11]);  H(q[12]);  H(q[13]);  H(q[14]);  H(q[15]);  H(q[16]);  H(q[17]);  H(q[18]);  H(q[19]);  H(q[20]);  H(q[21]);  H(q[22]);  H(q[23]);  H(q[24]);  H(q[25]);  H(q[26]);  H(q[27]);  H(q[28]);  H(q[29]);  H(q[30]);  H(q[31]);  H(q[32]);  H(q[33]);  H(q[34]);  H(q[35]);  H(q[36]);  H(q[37]);  H(q[38]);  H(q[39]);  H(q[40]);  H(q[41]);  H(q[42]);  H(q[43]);  H(q[44]);  H(q[45]);  H(q[46]);  H(q[47]);  H(q[48]);  H(q[49]);  H(q[50]);  H(q[51]);  H(q[52]);  H(q[53]);  H(q[54]);  H(q[55]);  H(q[56]);  H(q[57]);  H(q[58]);  H(q[59]);  H(q[60]);  H(q[61]);  H(q[62]);  H(q[63]);  H(q[64]);  H(q[65]);  H(q[66]);  H(q[67]);  H(q[68]);  H(q[69]);  H(q[70]);  H(q[71]);  H(q[72]);  H(q[73]);  H(q[74]);  H(q[75]);  H(q[76]);  H(q[77]);  H(q[78]);  H(q[79]);  H(q[80]);  H(q[81]);  H(q[82]);  H(q[83]);  H(q[84]);  H(q[85]);  H(q[86]);  H(q[87]);  H(q[88]);  H(q[89]);  H(q[90]);  H(q[91]);  H(q[92]);  H(q[93]);  H(q[94]);  H(q[95]);  H(q[96]);  H(q[97]);  H(q[98]);  H(q[99]);  H(q[0]);  H(q[1]);  H(q[2]);  H(q[3]);  H(q[4]);  H(q[5]);  H(q[6]);  H(q[7]);  H(q[8]);  H(q[9]);  H(q[10]);  H(q[11]);  H(q[12]);  H(q[13]);  H(q[14]);  H(q[15]);  H(q[16]);  H(q[17]);  H(q[18]);  H(q[19]);  H(q[20]);  H(q[21]);  H(q[22]);  H(q[23]);  H(q[24]);  H(q[25]);  H(q[26]);  H(q[27]);  H(q[28]);  H(q[29]);  H(q[30]);  H(q[31]);  H(q[32]);  H(q[33]);  H(q[34]);  H(q[35]);  H(q[36]);  H(q[37]);  H(q[38]);  H(q[39]);  H(q[40]);  H(q[41]);  H(q[42]);  H(q[43]);  H(q[44]);  H(q[45]);  H(q[46]);  H(q[47]);  H(q[48]);  H(q[49]);  H(q[50]);  H(q[51]);  H(q[52]);  H(q[53]);  H(q[54]);  H(q[55]);  H(q[56]);  H(q[57]);  H(q[58]);  H(q[59]);  H(q[60]);  H(q[61]);  H(q[62]);  H(q[63]);  H(q[64]);  H(q[65]);  H(q[66]);  H(q[67]);  H(q[68]);  H(q[69]);  H(q[70]);  H(q[71]);  H(q[72]);  H(q[73]);  H(q[74]);  H(q[75]);  H(q[76]);  H(q[77]);  H(q[78]);  H(q[79]);  H(q[80]);  H(q[81]);  H(q[82]);  H(q[83]);  H(q[84]);  H(q[85]);  H(q[86]);  H(q[87]);  H(q[88]);  H(q[89]);  H(q[90]);  H(q[91]);  H(q[92]);  H(q[93]);  H(q[94]);  H(q[95]);  H(q[96]);  H(q[97]);  H(q[98]);  H(q[99]);  CZ(q[0], q[1]);  CZ(q[1], q[2]);  CZ(q[2], q[3]);  CZ(q[3], q[4]);  CZ(q[4], q[5]);  CZ(q[5], q[6]);  CZ(q[6], q[7]);  CZ(q[7], q[8]);  CZ(q[8], q[9]);  CZ(q[9], q[10]);  CZ(q[10], q[11]);  CZ(q[11], q[12]);  CZ(q[12], q[13]);  CZ(q[13], q[14]);  CZ(q[14], q[15]);  CZ(q[15], q[16]);  CZ(q[16], q[17]);  CZ(q[17], q[18]);  CZ(q[18], q[19]);  CZ(q[19], q[20]);  CZ(q[20], q[21]);  CZ(q[21], q[22]);  CZ(q[22], q[23]);  CZ(q[23], q[24]);  CZ(q[24], q[25]);  CZ(q[25], q[26]);  CZ(q[26], q[27]);  CZ(q[27], q[28]);  CZ(q[28], q[29]);  CZ(q[29], q[30]);  CZ(q[30], q[31]);  CZ(q[31], q[32]);  CZ(q[32], q[33]);  CZ(q[33], q[34]);  CZ(q[34], q[35]);  CZ(q[35], q[36]);  CZ(q[36], q[37]);  CZ(q[37], q[38]);  CZ(q[38], q[39]);  CZ(q[39], q[40]);  CZ(q[40], q[41]);  CZ(q[41], q[42]);  CZ(q[42], q[43]);  CZ(q[43], q[44]);  CZ(q[44], q[45]);  CZ(q[45], q[46]);  CZ(q[46], q[47]);  CZ(q[47], q[48]);  CZ(q[48], q[49]);  CZ(q[49], q[50]);  CZ(q[50], q[51]);  CZ(q[51], q[52]);  CZ(q[52], q[53]);  CZ(q[53], q[54]);  CZ(q[54], q[55]);  CZ(q[55], q[56]);  CZ(q[56], q[57]);  CZ(q[57], q[58]);  CZ(q[58], q[59]);  CZ(q[59], q[60]);  CZ(q[60], q[61]);  CZ(q[61], q[62]);  CZ(q[62], q[63]);  CZ(q[63], q[64]);  CZ(q[64], q[65]);  CZ(q[65], q[66]);  CZ(q[66], q[67]);  CZ(q[67], q[68]);  CZ(q[68], q[69]);  CZ(q[69], q[70]);  CZ(q[70], q[71]);  CZ(q[71], q[72]);  CZ(q[72], q[73]);  CZ(q[73], q[74]);  CZ(q[74], q[75]);  CZ(q[75], q[76]);  CZ(q[76], q[77]);  CZ(q[77], q[78]);  CZ(q[78], q[79]);  CZ(q[79], q[80]);  CZ(q[80], q[81]);  CZ(q[81], q[82]);  CZ(q[82], q[83]);  CZ(q[83], q[84]);  CZ(q[84], q[85]);  CZ(q[85], q[86]);  CZ(q[86], q[87]);  CZ(q[87], q[88]);  CZ(q[88], q[89]);  CZ(q[89], q[90]);  CZ(q[90], q[91]);  CZ(q[91], q[92]);  CZ(q[92], q[93]);  CZ(q[93], q[94]);  CZ(q[94], q[95]);  CZ(q[95], q[96]);  CZ(q[96], q[97]);  CZ(q[97], q[98]);  CZ(q[98], q[99]);  CZ(q[0], q[1]);  CZ(q[1], q[2]);  CZ(q[2], q[3]);  CZ(q[3], q[4]);  CZ(q[4], q[5]);  CZ(q[5], q[6]);  CZ(q[6], q[7]);  CZ(q[7], q[8]);  CZ(q[8], q[9]);  CZ(q[9], q[10]);  CZ(q[10], q[11]);  CZ(q[11], q[12]);  CZ(q[12], q[13]);  CZ(q[13], q[14]);  CZ(q[14], q[15]);  CZ(q[15], q[16]);  CZ(q[16], q[17]);  CZ(q[17], q[18]);  CZ(q[18], q[19]);  CZ(q[19], q[20]);  CZ(q[20], q[21]);  CZ(q[21], q[22]);  CZ(q[22], q[23]);  CZ(q[23], q[24]);  CZ(q[24], q[25]);  CZ(q[25], q[26]);  CZ(q[26], q[27]);  CZ(q[27], q[28]);  CZ(q[28], q[29]);  CZ(q[29], q[30]);  CZ(q[30], q[31]);  CZ(q[31], q[32]);  CZ(q[32], q[33]);  CZ(q[33], q[34]);  CZ(q[34], q[35]);  CZ(q[35], q[36]);  CZ(q[36], q[37]);  CZ(q[37], q[38]);  CZ(q[38], q[39]);  CZ(q[39], q[40]);  CZ(q[40], q[41]);  CZ(q[41], q[42]);  CZ(q[42], q[43]);  CZ(q[43], q[44]);  CZ(q[44], q[45]);  CZ(q[45], q[46]);  CZ(q[46], q[47]);  CZ(q[47], q[48]);  CZ(q[48], q[49]);  CZ(q[49], q[50]);  CZ(q[50], q[51]);  CZ(q[51], q[52]);  CZ(q[52], q[53]);  CZ(q[53], q[54]);  CZ(q[54], q[55]);  CZ(q[55], q[56]);  CZ(q[56], q[57]);  CZ(q[57], q[58]);  CZ(q[58], q[59]);  CZ(q[59], q[60]);  CZ(q[60], q[61]);  CZ(q[61], q[62]);  CZ(q[62], q[63]);  CZ(q[63], q[64]);  CZ(q[64], q[65]);  CZ(q[65], q[66]);  CZ(q[66], q[67]);  CZ(q[67], q[68]);  CZ(q[68], q[69]);  CZ(q[69], q[70]);  CZ(q[70], q[71]);  CZ(q[71], q[72]);  CZ(q[72], q[73]);  CZ(q[73], q[74]);  CZ(q[74], q[75]);  CZ(q[75], q[76]);  CZ(q[76], q[77]);  CZ(q[77], q[78]);  CZ(q[78], q[79]);  CZ(q[79], q[80]);  CZ(q[80], q[81]);  CZ(q[81], q[82]);  CZ(q[82], q[83]);  CZ(q[83], q[84]);  CZ(q[84], q[85]);  CZ(q[85], q[86]);  CZ(q[86], q[87]);  CZ(q[87], q[88]);  CZ(q[88], q[89]);  CZ(q[89], q[90]);  CZ(q[90], q[91]);  CZ(q[91], q[92]);  CZ(q[92], q[93]);  CZ(q[93], q[94]);  CZ(q[94], q[95]);  CZ(q[95], q[96]);  CZ(q[96], q[97]);  CZ(q[97], q[98]);  CZ(q[98], q[99]);}

en az 100 qubit · stabilizer_rb100
qec.repetition3circuitv0.1

repetition3

Tek bit-flip hatasına karşı üç-qubit repetition encoder.

use qec.repetition3; repetition3(q);

repetition3

circuit repetition3(q: QReg<3>) {  CNOT(q[0], q[1]);  CNOT(q[0], q[2]);}

en az 3 qubit · repetition3
qec.phase_flip3circuitv0.2

phase_flip3

Tek Z hatasına karşı X bazında üç-qubit phase-flip encoding circuit'i.

use qec.phase_flip3@0.2; phase_flip3(q);

phase_flip3

circuit phase_flip3(q: QReg<3>) {  CNOT(q[0], q[1]);  CNOT(q[0], q[2]);  H(q[0]);  H(q[1]);  H(q[2]);}

en az 3 qubit · phase_flip3
qec.shor9_codecircuitv0.2

shor9_code

Bir mantıksal qubit için dokuz-qubit Shor QEC encoding circuit'i; faktörleme algoritması değildir.

use qec.shor9_code@0.2; shor9_code(q);

shor9_code

circuit shor9_code(q: QReg<9>) {  CNOT(q[0], q[3]);  CNOT(q[0], q[6]);  H(q[0]);  H(q[3]);  H(q[6]);  CNOT(q[0], q[1]);  CNOT(q[0], q[2]);  CNOT(q[3], q[4]);  CNOT(q[3], q[5]);  CNOT(q[6], q[7]);  CNOT(q[6], q[8]);}

en az 9 qubit · shor9_code
algorithms.grover_primitivescircuitv0.2

mcz2

İki ile beş kübit genişlikleri arasında genel Grover için dondurulmuş, yardımcı kübit gerektirmeyen faz bileşenleri.

use package.algorithms.grover_primitives@0.2; mcz2(q); diffusion2(q);

mcz2

circuit mcz2(q: QReg<2>) {  CP(q[0], q[1], PI);} circuit diffusion2(q: QReg<2>) {  H(q[0]);  H(q[1]);  X(q[0]);  X(q[1]);  CP(q[0], q[1], PI);  X(q[0]);  X(q[1]);  H(q[0]);  H(q[1]);} circuit mcz3(q: QReg<3>) {  P(q[0], PI / 4);  P(q[1], PI / 4);  CNOT(q[0], q[1]);  P(q[1], -PI / 4);  CNOT(q[0], q[1]);  P(q[2], PI / 4);  CNOT(q[0], q[2]);  P(q[2], -PI / 4);  CNOT(q[0], q[2]);  CNOT(q[1], q[2]);  P(q[2], -PI / 4);  CNOT(q[1], q[2]);  CNOT(q[0], q[2]);  CNOT(q[1], q[2]);  P(q[2], PI / 4);  CNOT(q[1], q[2]);  CNOT(q[0], q[2]);} circuit diffusion3(q: QReg<3>) {  H(q[0]);  H(q[1]);  H(q[2]);  X(q[0]);  X(q[1]);  X(q[2]);  P(q[0], PI / 4);  P(q[1], PI / 4);  CNOT(q[0], q[1]);  P(q[1], -PI / 4);  CNOT(q[0], q[1]);  P(q[2], PI / 4);  CNOT(q[0], q[2]);  P(q[2], -PI / 4);  CNOT(q[0], q[2]);  CNOT(q[1], q[2]);  P(q[2], -PI / 4);  CNOT(q[1], q[2]);  CNOT(q[0], q[2]);  CNOT(q[1], q[2]);  P(q[2], PI / 4);  CNOT(q[1], q[2]);  CNOT(q[0], q[2]);  X(q[0]);  X(q[1]);  X(q[2]);  H(q[0]);  H(q[1]);  H(q[2]);} circuit mcz4(q: QReg<4>) {  P(q[0], PI / 8);  P(q[1], PI / 8);  CNOT(q[0], q[1]);  P(q[1], -PI / 8);  CNOT(q[0], q[1]);  P(q[2], PI / 8);  CNOT(q[0], q[2]);  P(q[2], -PI / 8);  CNOT(q[0], q[2]);  CNOT(q[1], q[2]);  P(q[2], -PI / 8);  CNOT(q[1], q[2]);  CNOT(q[0], q[2]);  CNOT(q[1], q[2]);  P(q[2], PI / 8);  CNOT(q[1], q[2]);  CNOT(q[0], q[2]);  P(q[3], PI / 8);  CNOT(q[0], q[3]);  P(q[3], -PI / 8);  CNOT(q[0], q[3]);  CNOT(q[1], q[3]);  P(q[3], -PI / 8);  CNOT(q[1], q[3]);  CNOT(q[0], q[3]);  CNOT(q[1], q[3]);  P(q[3], PI / 8);  CNOT(q[1], q[3]);  CNOT(q[0], q[3]);  CNOT(q[2], q[3]);  P(q[3], -PI / 8);  CNOT(q[2], q[3]);  CNOT(q[0], q[3]);  CNOT(q[2], q[3]);  P(q[3], PI / 8);  CNOT(q[2], q[3]);  CNOT(q[0], q[3]);  CNOT(q[1], q[3]);  CNOT(q[2], q[3]);  P(q[3], PI / 8);  CNOT(q[2], q[3]);  CNOT(q[1], q[3]);  CNOT(q[0], q[3]);  CNOT(q[1], q[3]);  CNOT(q[2], q[3]);  P(q[3], -PI / 8);  CNOT(q[2], q[3]);  CNOT(q[1], q[3]);  CNOT(q[0], q[3]);} circuit diffusion4(q: QReg<4>) {  H(q[0]);  H(q[1]);  H(q[2]);  H(q[3]);  X(q[0]);  X(q[1]);  X(q[2]);  X(q[3]);  P(q[0], PI / 8);  P(q[1], PI / 8);  CNOT(q[0], q[1]);  P(q[1], -PI / 8);  CNOT(q[0], q[1]);  P(q[2], PI / 8);  CNOT(q[0], q[2]);  P(q[2], -PI / 8);  CNOT(q[0], q[2]);  CNOT(q[1], q[2]);  P(q[2], -PI / 8);  CNOT(q[1], q[2]);  CNOT(q[0], q[2]);  CNOT(q[1], q[2]);  P(q[2], PI / 8);  CNOT(q[1], q[2]);  CNOT(q[0], q[2]);  P(q[3], PI / 8);  CNOT(q[0], q[3]);  P(q[3], -PI / 8);  CNOT(q[0], q[3]);  CNOT(q[1], q[3]);  P(q[3], -PI / 8);  CNOT(q[1], q[3]);  CNOT(q[0], q[3]);  CNOT(q[1], q[3]);  P(q[3], PI / 8);  CNOT(q[1], q[3]);  CNOT(q[0], q[3]);  CNOT(q[2], q[3]);  P(q[3], -PI / 8);  CNOT(q[2], q[3]);  CNOT(q[0], q[3]);  CNOT(q[2], q[3]);  P(q[3], PI / 8);  CNOT(q[2], q[3]);  CNOT(q[0], q[3]);  CNOT(q[1], q[3]);  CNOT(q[2], q[3]);  P(q[3], PI / 8);  CNOT(q[2], q[3]);  CNOT(q[1], q[3]);  CNOT(q[0], q[3]);  CNOT(q[1], q[3]);  CNOT(q[2], q[3]);  P(q[3], -PI / 8);  CNOT(q[2], q[3]);  CNOT(q[1], q[3]);  CNOT(q[0], q[3]);  X(q[0]);  X(q[1]);  X(q[2]);  X(q[3]);  H(q[0]);  H(q[1]);  H(q[2]);  H(q[3]);} circuit mcz5(q: QReg<5>) {  P(q[0], PI / 16);  P(q[1], PI / 16);  CNOT(q[0], q[1]);  P(q[1], -PI / 16);  CNOT(q[0], q[1]);  P(q[2], PI / 16);  CNOT(q[0], q[2]);  P(q[2], -PI / 16);  CNOT(q[0], q[2]);  CNOT(q[1], q[2]);  P(q[2], -PI / 16);  CNOT(q[1], q[2]);  CNOT(q[0], q[2]);  CNOT(q[1], q[2]);  P(q[2], PI / 16);  CNOT(q[1], q[2]);  CNOT(q[0], q[2]);  P(q[3], PI / 16);  CNOT(q[0], q[3]);  P(q[3], -PI / 16);  CNOT(q[0], q[3]);  CNOT(q[1], q[3]);  P(q[3], -PI / 16);  CNOT(q[1], q[3]);  CNOT(q[0], q[3]);  CNOT(q[1], q[3]);  P(q[3], PI / 16);  CNOT(q[1], q[3]);  CNOT(q[0], q[3]);  CNOT(q[2], q[3]);  P(q[3], -PI / 16);  CNOT(q[2], q[3]);  CNOT(q[0], q[3]);  CNOT(q[2], q[3]);  P(q[3], PI / 16);  CNOT(q[2], q[3]);  CNOT(q[0], q[3]);  CNOT(q[1], q[3]);  CNOT(q[2], q[3]);  P(q[3], PI / 16);  CNOT(q[2], q[3]);  CNOT(q[1], q[3]);  CNOT(q[0], q[3]);  CNOT(q[1], q[3]);  CNOT(q[2], q[3]);  P(q[3], -PI / 16);  CNOT(q[2], q[3]);  CNOT(q[1], q[3]);  CNOT(q[0], q[3]);  P(q[4], PI / 16);  CNOT(q[0], q[4]);  P(q[4], -PI / 16);  CNOT(q[0], q[4]);  CNOT(q[1], q[4]);  P(q[4], -PI / 16);  CNOT(q[1], q[4]);  CNOT(q[0], q[4]);  CNOT(q[1], q[4]);  P(q[4], PI / 16);  CNOT(q[1], q[4]);  CNOT(q[0], q[4]);  CNOT(q[2], q[4]);  P(q[4], -PI / 16);  CNOT(q[2], q[4]);  CNOT(q[0], q[4]);  CNOT(q[2], q[4]);  P(q[4], PI / 16);  CNOT(q[2], q[4]);  CNOT(q[0], q[4]);  CNOT(q[1], q[4]);  CNOT(q[2], q[4]);  P(q[4], PI / 16);  CNOT(q[2], q[4]);  CNOT(q[1], q[4]);  CNOT(q[0], q[4]);  CNOT(q[1], q[4]);  CNOT(q[2], q[4]);  P(q[4], -PI / 16);  CNOT(q[2], q[4]);  CNOT(q[1], q[4]);  CNOT(q[0], q[4]);  CNOT(q[3], q[4]);  P(q[4], -PI / 16);  CNOT(q[3], q[4]);  CNOT(q[0], q[4]);  CNOT(q[3], q[4]);  P(q[4], PI / 16);  CNOT(q[3], q[4]);  CNOT(q[0], q[4]);  CNOT(q[1], q[4]);  CNOT(q[3], q[4]);  P(q[4], PI / 16);  CNOT(q[3], q[4]);  CNOT(q[1], q[4]);  CNOT(q[0], q[4]);  CNOT(q[1], q[4]);  CNOT(q[3], q[4]);  P(q[4], -PI / 16);  CNOT(q[3], q[4]);  CNOT(q[1], q[4]);  CNOT(q[0], q[4]);  CNOT(q[2], q[4]);  CNOT(q[3], q[4]);  P(q[4], PI / 16);  CNOT(q[3], q[4]);  CNOT(q[2], q[4]);  CNOT(q[0], q[4]);  CNOT(q[2], q[4]);  CNOT(q[3], q[4]);  P(q[4], -PI / 16);  CNOT(q[3], q[4]);  CNOT(q[2], q[4]);  CNOT(q[0], q[4]);  CNOT(q[1], q[4]);  CNOT(q[2], q[4]);  CNOT(q[3], q[4]);  P(q[4], -PI / 16);  CNOT(q[3], q[4]);  CNOT(q[2], q[4]);  CNOT(q[1], q[4]);  CNOT(q[0], q[4]);  CNOT(q[1], q[4]);  CNOT(q[2], q[4]);  CNOT(q[3], q[4]);  P(q[4], PI / 16);  CNOT(q[3], q[4]);  CNOT(q[2], q[4]);  CNOT(q[1], q[4]);  CNOT(q[0], q[4]);} circuit diffusion5(q: QReg<5>) {  H(q[0]);  H(q[1]);  H(q[2]);  H(q[3]);  H(q[4]);  X(q[0]);  X(q[1]);  X(q[2]);  X(q[3]);  X(q[4]);  P(q[0], PI / 16);  P(q[1], PI / 16);  CNOT(q[0], q[1]);  P(q[1], -PI / 16);  CNOT(q[0], q[1]);  P(q[2], PI / 16);  CNOT(q[0], q[2]);  P(q[2], -PI / 16);  CNOT(q[0], q[2]);  CNOT(q[1], q[2]);  P(q[2], -PI / 16);  CNOT(q[1], q[2]);  CNOT(q[0], q[2]);  CNOT(q[1], q[2]);  P(q[2], PI / 16);  CNOT(q[1], q[2]);  CNOT(q[0], q[2]);  P(q[3], PI / 16);  CNOT(q[0], q[3]);  P(q[3], -PI / 16);  CNOT(q[0], q[3]);  CNOT(q[1], q[3]);  P(q[3], -PI / 16);  CNOT(q[1], q[3]);  CNOT(q[0], q[3]);  CNOT(q[1], q[3]);  P(q[3], PI / 16);  CNOT(q[1], q[3]);  CNOT(q[0], q[3]);  CNOT(q[2], q[3]);  P(q[3], -PI / 16);  CNOT(q[2], q[3]);  CNOT(q[0], q[3]);  CNOT(q[2], q[3]);  P(q[3], PI / 16);  CNOT(q[2], q[3]);  CNOT(q[0], q[3]);  CNOT(q[1], q[3]);  CNOT(q[2], q[3]);  P(q[3], PI / 16);  CNOT(q[2], q[3]);  CNOT(q[1], q[3]);  CNOT(q[0], q[3]);  CNOT(q[1], q[3]);  CNOT(q[2], q[3]);  P(q[3], -PI / 16);  CNOT(q[2], q[3]);  CNOT(q[1], q[3]);  CNOT(q[0], q[3]);  P(q[4], PI / 16);  CNOT(q[0], q[4]);  P(q[4], -PI / 16);  CNOT(q[0], q[4]);  CNOT(q[1], q[4]);  P(q[4], -PI / 16);  CNOT(q[1], q[4]);  CNOT(q[0], q[4]);  CNOT(q[1], q[4]);  P(q[4], PI / 16);  CNOT(q[1], q[4]);  CNOT(q[0], q[4]);  CNOT(q[2], q[4]);  P(q[4], -PI / 16);  CNOT(q[2], q[4]);  CNOT(q[0], q[4]);  CNOT(q[2], q[4]);  P(q[4], PI / 16);  CNOT(q[2], q[4]);  CNOT(q[0], q[4]);  CNOT(q[1], q[4]);  CNOT(q[2], q[4]);  P(q[4], PI / 16);  CNOT(q[2], q[4]);  CNOT(q[1], q[4]);  CNOT(q[0], q[4]);  CNOT(q[1], q[4]);  CNOT(q[2], q[4]);  P(q[4], -PI / 16);  CNOT(q[2], q[4]);  CNOT(q[1], q[4]);  CNOT(q[0], q[4]);  CNOT(q[3], q[4]);  P(q[4], -PI / 16);  CNOT(q[3], q[4]);  CNOT(q[0], q[4]);  CNOT(q[3], q[4]);  P(q[4], PI / 16);  CNOT(q[3], q[4]);  CNOT(q[0], q[4]);  CNOT(q[1], q[4]);  CNOT(q[3], q[4]);  P(q[4], PI / 16);  CNOT(q[3], q[4]);  CNOT(q[1], q[4]);  CNOT(q[0], q[4]);  CNOT(q[1], q[4]);  CNOT(q[3], q[4]);  P(q[4], -PI / 16);  CNOT(q[3], q[4]);  CNOT(q[1], q[4]);  CNOT(q[0], q[4]);  CNOT(q[2], q[4]);  CNOT(q[3], q[4]);  P(q[4], PI / 16);  CNOT(q[3], q[4]);  CNOT(q[2], q[4]);  CNOT(q[0], q[4]);  CNOT(q[2], q[4]);  CNOT(q[3], q[4]);  P(q[4], -PI / 16);  CNOT(q[3], q[4]);  CNOT(q[2], q[4]);  CNOT(q[0], q[4]);  CNOT(q[1], q[4]);  CNOT(q[2], q[4]);  CNOT(q[3], q[4]);  P(q[4], -PI / 16);  CNOT(q[3], q[4]);  CNOT(q[2], q[4]);  CNOT(q[1], q[4]);  CNOT(q[0], q[4]);  CNOT(q[1], q[4]);  CNOT(q[2], q[4]);  CNOT(q[3], q[4]);  P(q[4], PI / 16);  CNOT(q[3], q[4]);  CNOT(q[2], q[4]);  CNOT(q[1], q[4]);  CNOT(q[0], q[4]);  X(q[0]);  X(q[1]);  X(q[2]);  X(q[3]);  X(q[4]);  H(q[0]);  H(q[1]);  H(q[2]);  H(q[3]);  H(q[4]);}

en az 2 qubit · mcz2, mcz3, mcz4, mcz5, diffusion2, diffusion3, diffusion4, diffusion5
algorithms.fouriercircuitv0.5

qft1

Bir ile beş kübit statevector genişlikleri için dondurulmuş QFT ve ters QFT özelleştirmeleri.

use package.algorithms.fourier@0.5; qft<N>(q); iqft<N>(q);

qft1

circuit qft1(q: QReg<1>) {  H(q[0]);} circuit iqft1(q: QReg<1>) {  H(q[0]);} circuit qft2(q: QReg<2>) {  H(q[0]);  CP(q[0], q[1], PI / 2);  H(q[1]);  SWAP(q[0], q[1]);} circuit iqft2(q: QReg<2>) {  SWAP(q[0], q[1]);  H(q[1]);  CP(q[0], q[1], -(PI / 2));  H(q[0]);} circuit qft3(q: QReg<3>) {  H(q[0]);  CP(q[0], q[1], PI / 2);  CP(q[0], q[2], PI / 4);  H(q[1]);  CP(q[1], q[2], PI / 2);  H(q[2]);  SWAP(q[0], q[2]);} circuit iqft3(q: QReg<3>) {  SWAP(q[0], q[2]);  H(q[2]);  CP(q[1], q[2], -(PI / 2));  H(q[1]);  CP(q[0], q[2], -(PI / 4));  CP(q[0], q[1], -(PI / 2));  H(q[0]);} circuit qft4(q: QReg<4>) {  H(q[0]);  CP(q[0], q[1], PI / 2);  CP(q[0], q[2], PI / 4);  CP(q[0], q[3], PI / 8);  H(q[1]);  CP(q[1], q[2], PI / 2);  CP(q[1], q[3], PI / 4);  H(q[2]);  CP(q[2], q[3], PI / 2);  H(q[3]);  SWAP(q[0], q[3]);  SWAP(q[1], q[2]);} circuit iqft4(q: QReg<4>) {  SWAP(q[1], q[2]);  SWAP(q[0], q[3]);  H(q[3]);  CP(q[2], q[3], -(PI / 2));  H(q[2]);  CP(q[1], q[3], -(PI / 4));  CP(q[1], q[2], -(PI / 2));  H(q[1]);  CP(q[0], q[3], -(PI / 8));  CP(q[0], q[2], -(PI / 4));  CP(q[0], q[1], -(PI / 2));  H(q[0]);} circuit qft5(q: QReg<5>) {  H(q[0]);  CP(q[0], q[1], PI / 2);  CP(q[0], q[2], PI / 4);  CP(q[0], q[3], PI / 8);  CP(q[0], q[4], PI / 16);  H(q[1]);  CP(q[1], q[2], PI / 2);  CP(q[1], q[3], PI / 4);  CP(q[1], q[4], PI / 8);  H(q[2]);  CP(q[2], q[3], PI / 2);  CP(q[2], q[4], PI / 4);  H(q[3]);  CP(q[3], q[4], PI / 2);  H(q[4]);  SWAP(q[0], q[4]);  SWAP(q[1], q[3]);} circuit iqft5(q: QReg<5>) {  SWAP(q[1], q[3]);  SWAP(q[0], q[4]);  H(q[4]);  CP(q[3], q[4], -(PI / 2));  H(q[3]);  CP(q[2], q[4], -(PI / 4));  CP(q[2], q[3], -(PI / 2));  H(q[2]);  CP(q[1], q[4], -(PI / 8));  CP(q[1], q[3], -(PI / 4));  CP(q[1], q[2], -(PI / 2));  H(q[1]);  CP(q[0], q[4], -(PI / 16));  CP(q[0], q[3], -(PI / 8));  CP(q[0], q[2], -(PI / 4));  CP(q[0], q[1], -(PI / 2));  H(q[0]);}

en az 1 qubit · qft1, qft2, qft3, qft4, qft5, iqft1, iqft2, iqft3, iqft4, iqft5
chemistry.h2_minimalobservablev0.1

H2Minimal

VQE ve expectation demolarinda kullanilan minimal iki-qubit H2 Hamiltonian.

use chemistry.h2_minimal; expect H2Minimal

H2Minimal

observable H2Minimal = {  -1.0 * I,  0.4 * Z(q[0]),  -0.4 * Z(q[1]),  -0.1 * Z(q[0]) Z(q[1]),  0.18 * X(q[0]) X(q[1]),};

en az 2 qubit · H2Minimal
chemistry.heisenberg2observablev0.1

Heisenberg2

XX, YY ve ZZ terimli iki-spin Heisenberg Hamiltonian'ı.

use chemistry.heisenberg2; expect Heisenberg2

Heisenberg2

observable Heisenberg2 = {  1.0 * X(q[0]) X(q[1]),  1.0 * Y(q[0]) Y(q[1]),  1.0 * Z(q[0]) Z(q[1]),};

en az 2 qubit · Heisenberg2
chemistry.ising_trotter2circuitv0.2

ising_trotter2

ZZ etkileşimi ve transverse-X mixing içeren birinci derece iki-qubit Ising Trotter katmanı.

use chemistry.ising_trotter2@0.2; ising_trotter2(q, gamma, beta);

ising_trotter2

circuit ising_trotter2(q: QReg<2>, gamma: Angle, beta: Angle) {  RZZ(q[0], q[1], gamma);  Rx(q[0], beta);  Rx(q[1], beta);}

en az 2 qubit · ising_trotter2
optimization.maxcut2observablev0.1

MaxCut2

İki-node MaxCut problemi için QAOA maliyet Hamiltonian'ı.

use optimization.maxcut2; expect MaxCut2

MaxCut2

observable MaxCut2 = {  0.5 * I,  -0.5 * Z(q[0]) Z(q[1]),};

en az 2 qubit · MaxCut2
ml.vqc_layercircuitv0.1

vqc_layer

İki kübit için donanım açısından verimli varyasyonel katman.

use ml.vqc_layer; vqc_layer(q, t1, t2);

vqc_layer

circuit vqc_layer(q: QReg<2>, t1: Angle, t2: Angle) {  Ry(q[0], t1);  Ry(q[1], t2);  CNOT(q[0], q[1]);}

en az 2 qubit · vqc_layer
ml.vqc_layer3circuitv0.1

vqc_layer3

Üç kübit için donanım açısından verimli varyasyonel katman.

use ml.vqc_layer3; vqc_layer3(q, t1, t2, t3);

vqc_layer3

circuit vqc_layer3(q: QReg<3>, t1: Angle, t2: Angle, t3: Angle) {  Ry(q[0], t1);  Ry(q[1], t2);  Ry(q[2], t3);  CNOT(q[0], q[1]);  CNOT(q[1], q[2]);}

en az 3 qubit · vqc_layer3
ml.reupload_blockcircuitv0.1

reupload_block

Tek kübit üzerinde veri yeniden yükleme bloğu.

use ml.reupload_block; reupload_block(q, x, w);

reupload_block

circuit reupload_block(q: QReg<1>, x: Angle, w: Angle) {  Ry(q[0], x);  Ry(q[0], w);}

en az 1 qubit · reupload_block
ml.entangle_linear2circuitv0.1

entangle_linear2

İki kübit için doğrusal dolanıklık katmanı.

use ml.entangle_linear2; entangle_linear2(q);

entangle_linear2

circuit entangle_linear2(q: QReg<2>) {  CNOT(q[0], q[1]);}

en az 2 qubit · entangle_linear2
ml.entangle_linear3circuitv0.1

entangle_linear3

Üç kübit için doğrusal dolanıklık katmanı.

use ml.entangle_linear3; entangle_linear3(q);

entangle_linear3

circuit entangle_linear3(q: QReg<3>) {  CNOT(q[0], q[1]);  CNOT(q[1], q[2]);}

en az 3 qubit · entangle_linear3
ml.iqp_map2circuitv0.1

iqp_map2

İki kübit için derinliği bir olan IQP özellik haritası.

use ml.iqp_map2; iqp_map2(q, x1, x2);

iqp_map2

circuit iqp_map2(q: QReg<2>, x1: Angle, x2: Angle) {  H(q[0]);  H(q[1]);  Rz(q[0], x1);  Rz(q[1], x2);  RZZ(q[0], q[1], x1 * x2);}

en az 2 qubit · iqp_map2
ml.zz_observableobservablev0.1

ZZObservable

İki kübitlik ZZ korelasyon gözlemlenebiliri.

use ml.zz_observable; expect ZZObservable

ZZObservable

observable ZZObservable = {  1.0 * Z(q[0]) Z(q[1]),};

en az 2 qubit · ZZObservable