diff --git a/scripts/add.q b/scripts/add.q new file mode 100644 index 0000000..71fd6ac --- /dev/null +++ b/scripts/add.q @@ -0,0 +1,7 @@ +QREG 4 +# ADD A B Ci/O Co +CCX {0} {1} {3} +CX {0} {1} +CCX {1} {2} {3} +CX {1} {2} +CX {0} {1} \ No newline at end of file diff --git a/scripts/add2.q b/scripts/add2.q new file mode 100644 index 0000000..c304926 --- /dev/null +++ b/scripts/add2.q @@ -0,0 +1,4 @@ +QREG 7 +# ADD2 A A B B O O C +ADD {0} {2} {4} {5} +ADD {1} {3} {5} {6} \ No newline at end of file diff --git a/scripts/add3.q b/scripts/add3.q new file mode 100644 index 0000000..0e113dd --- /dev/null +++ b/scripts/add3.q @@ -0,0 +1,5 @@ +QREG 10 +# ADD3 A A A B B B O O O C +ADD {0} {3} {6} {7} +ADD {1} {4} {7} {8} +ADD {2} {5} {8} {9} \ No newline at end of file diff --git a/scripts/add4.q b/scripts/add4.q new file mode 100644 index 0000000..8c5cef8 --- /dev/null +++ b/scripts/add4.q @@ -0,0 +1,6 @@ +QREG 13 +# ADD4 A A A A B B B B O O O O C +ADD {0} {4} {8} {9} +ADD {1} {5} {9} {10} +ADD {2} {6} {10} {11} +ADD {3} {7} {11} {12} \ No newline at end of file diff --git a/scripts/cmh_speed_test.q b/scripts/cmh_speed_test.q new file mode 100644 index 0000000..7d31e5d --- /dev/null +++ b/scripts/cmh_speed_test.q @@ -0,0 +1,51 @@ +QREG 16 +# CMH_SPEED_TEST + +CONSOLE + +PRINT Begin CMH Speed Test +TIME + +PRINT Testing H1: +H 0 +H 0 +H 0 +H 0 +H 0 +H 0 +H 0 +H 0 +H 0 +H 0 +H 0 +H 0 +H 0 +H 0 +H 0 +H 0 +TIME + +PRINT Testing H2: +H2 0 1 +H2 0 1 +H2 0 1 +H2 0 1 +H2 0 1 +H2 0 1 +H2 0 1 +H2 0 1 +TIME + +PRINT Testing H4: +H4 0 1 2 3 +H4 0 1 2 3 +H4 0 1 2 3 +H4 0 1 2 3 +TIME + +PRINT Testing H8: +H8 0 1 2 3 4 5 6 7 +H8 0 1 2 3 4 5 6 7 +TIME + +CONSOLE \ No newline at end of file diff --git a/scripts/dec4.q b/scripts/dec4.q new file mode 100644 index 0000000..fe0835a --- /dev/null +++ b/scripts/dec4.q @@ -0,0 +1,7 @@ +QREG 4 +# DEC4 T T T T + +X {0} +CX {0} {1} +C2X {0} {1} {2} +C3X {0} {1} {2} {3} \ No newline at end of file diff --git a/scripts/dec5.q b/scripts/dec5.q new file mode 100644 index 0000000..1fa3086 --- /dev/null +++ b/scripts/dec5.q @@ -0,0 +1,8 @@ +QREG 5 +# DEC5 T T T T T + +X {0} +CX {0} {1} +C2X {0} {1} {2} +C3X {0} {1} {2} {3} +C4X {0} {1} {2} {3} {4} \ No newline at end of file diff --git a/scripts/g16_test.q b/scripts/g16_test.q new file mode 100644 index 0000000..eba9622 --- /dev/null +++ b/scripts/g16_test.q @@ -0,0 +1,6 @@ +QREG 16 +# G16_TEST + +TIME +GROVER16_TEST 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 +TIME \ No newline at end of file diff --git a/scripts/g8_test.q b/scripts/g8_test.q new file mode 100644 index 0000000..754bc1a --- /dev/null +++ b/scripts/g8_test.q @@ -0,0 +1,6 @@ +QREG 8 +# G8_TEST + +TIME +GROVER8_TEST 0 1 2 3 4 5 6 7 +TIME \ No newline at end of file diff --git a/scripts/grover16.q b/scripts/grover16.q new file mode 100644 index 0000000..b1a240a --- /dev/null +++ b/scripts/grover16.q @@ -0,0 +1,24 @@ +QREG 16 +# GROVER16 T T T T T T T T T T T T T T T T + +#H16 {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12} {13} {14} {15} +H2 {0} {1} +H2 {2} {3} +H2 {4} {5} +H2 {6} {7} +H2 {8} {9} +H2 {10} {11} +H2 {12} {13} +H2 {14} {15} +X16 {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12} {13} {14} {15} +C15Z {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12} {13} {14} {15} +X16 {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12} {13} {14} {15} +#H16 {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12} {13} {14} {15} +H2 {0} {1} +H2 {2} {3} +H2 {4} {5} +H2 {6} {7} +H2 {8} {9} +H2 {10} {11} +H2 {12} {13} +H2 {14} {15} \ No newline at end of file diff --git a/scripts/grover16_test.q b/scripts/grover16_test.q new file mode 100644 index 0000000..5f0a4c2 --- /dev/null +++ b/scripts/grover16_test.q @@ -0,0 +1,113 @@ +QREG 16 +# GROVER16_TEST T T T T T T T T T T T T T T T T + +GROVER16init {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12} {13} {14} {15} +TIME + +PRINT +PRINT *** 10 *** +GROVER16x10 {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12} {13} {14} {15} +TIME + +PRINT +PRINT *** 20 *** +GROVER16x10 {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12} {13} {14} {15} +TIME + +PRINT +PRINT *** 30 *** +GROVER16x10 {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12} {13} {14} {15} +TIME + +PRINT +PRINT *** 40 *** +GROVER16x10 {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12} {13} {14} {15} +TIME + +PRINT +PRINT *** 50 *** +GROVER16x10 {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12} {13} {14} {15} +TIME + +PRINT +PRINT *** 60 *** +GROVER16x10 {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12} {13} {14} {15} +TIME + +PRINT +PRINT *** 70 *** +GROVER16x10 {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12} {13} {14} {15} +TIME + +PRINT +PRINT *** 80 *** +GROVER16x10 {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12} {13} {14} {15} +TIME + +PRINT +PRINT *** 90 *** +GROVER16x10 {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12} {13} {14} {15} +TIME + +PRINT +PRINT *** 100 *** +GROVER16x10 {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12} {13} {14} {15} +TIME + +PRINT +PRINT *** 110 *** +GROVER16x10 {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12} {13} {14} {15} +TIME + +PRINT +PRINT *** 120 *** +GROVER16x10 {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12} {13} {14} {15} +TIME + +PRINT +PRINT *** 130 *** +GROVER16x10 {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12} {13} {14} {15} +TIME + +PRINT +PRINT *** 140 *** +GROVER16x10 {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12} {13} {14} {15} +TIME + +PRINT +PRINT *** 150 *** +GROVER16x10 {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12} {13} {14} {15} +TIME + +PRINT +PRINT *** 160 *** +GROVER16x10 {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12} {13} {14} {15} +TIME + +PRINT +PRINT *** 170 *** +GROVER16x10 {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12} {13} {14} {15} +TIME + +PRINT +PRINT *** 180 *** +GROVER16x10 {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12} {13} {14} {15} +TIME + +PRINT +PRINT *** 190 *** +GROVER16x10 {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12} {13} {14} {15} +TIME + +PRINT +PRINT *** 200 *** +GROVER16x10 {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12} {13} {14} {15} +TIME + +PRINT +PRINT ***!201!*** +GROVER16x1 {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12} {13} {14} {15} +TIME + +#H {15} +#X {15} \ No newline at end of file diff --git a/scripts/grover16init.q b/scripts/grover16init.q new file mode 100644 index 0000000..b64c728 --- /dev/null +++ b/scripts/grover16init.q @@ -0,0 +1,15 @@ +QREG 16 +# GROVER16init + +PRINT INIT +#H16 {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12} {13} {14} {15} +H2 {0} {1} +H2 {2} {3} +H2 {4} {5} +H2 {6} {7} +H2 {8} {9} +H2 {10} {11} +H2 {12} {13} +H2 {14} {15} +#X {15} +#H {15} \ No newline at end of file diff --git a/scripts/grover16x1.q b/scripts/grover16x1.q new file mode 100644 index 0000000..e08ea9d --- /dev/null +++ b/scripts/grover16x1.q @@ -0,0 +1,10 @@ +QREG 16 +# GROVER16x1 + +#TIME + +PRINT +PRINT ROUND 1 +ORACLE16 {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12} {13} {14} {15} +GROVER16 {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12} {13} {14} {15} +#TIME \ No newline at end of file diff --git a/scripts/grover16x10.q b/scripts/grover16x10.q new file mode 100644 index 0000000..7e1908d --- /dev/null +++ b/scripts/grover16x10.q @@ -0,0 +1,55 @@ +QREG 16 +# GROVER16x10 + +#TIME + +PRINT +PRINT ROUND 1 +ORACLE16 {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12} {13} {14} {15} +GROVER16 {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12} {13} {14} {15} +#TIME +PRINT +PRINT ROUND 2 +ORACLE16 {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12} {13} {14} {15} +GROVER16 {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12} {13} {14} {15} +#TIME +PRINT +PRINT ROUND 3 +ORACLE16 {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12} {13} {14} {15} +GROVER16 {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12} {13} {14} {15} +#TIME +PRINT +PRINT ROUND 4 +ORACLE16 {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12} {13} {14} {15} +GROVER16 {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12} {13} {14} {15} +#TIME +PRINT +PRINT ROUND 5 +ORACLE16 {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12} {13} {14} {15} +GROVER16 {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12} {13} {14} {15} +#TIME +PRINT +PRINT ROUND 6 +ORACLE16 {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12} {13} {14} {15} +GROVER16 {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12} {13} {14} {15} +#TIME +PRINT +PRINT ROUND 7 +ORACLE16 {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12} {13} {14} {15} +GROVER16 {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12} {13} {14} {15} +#TIME +PRINT +PRINT ROUND 8 +ORACLE16 {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12} {13} {14} {15} +GROVER16 {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12} {13} {14} {15} +#TIME +PRINT +PRINT ROUND 9 +ORACLE16 {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12} {13} {14} {15} +GROVER16 {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12} {13} {14} {15} +#TIME +PRINT +PRINT ROUND 10 +ORACLE16 {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12} {13} {14} {15} +GROVER16 {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12} {13} {14} {15} +#TIME diff --git a/scripts/grover2.q b/scripts/grover2.q new file mode 100644 index 0000000..beb2210 --- /dev/null +++ b/scripts/grover2.q @@ -0,0 +1,15 @@ +QREG 3 +# GROVER2 T T Q + +H {0} +H {1} +X {0} +X {1} +H {1} +CX {0} {1} +H {1} +#C3Z {0} {1} +X {0} +X {1} +H {0} +H {1} \ No newline at end of file diff --git a/scripts/grover4.q b/scripts/grover4.q new file mode 100644 index 0000000..5ee5696 --- /dev/null +++ b/scripts/grover4.q @@ -0,0 +1,8 @@ +QREG 5 +# GROVER4 T T T T + +H4 {0} {1} {2} {3} +X4 {0} {1} {2} {3} +C3Z {0} {1} {2} {3} +X4 {0} {1} {2} {3} +H4 {0} {1} {2} {3} \ No newline at end of file diff --git a/scripts/grover8.q b/scripts/grover8.q new file mode 100644 index 0000000..f62c49c --- /dev/null +++ b/scripts/grover8.q @@ -0,0 +1,14 @@ +QREG 8 +# GROVER8 T T T T T T T T + +H2 {0} {1} +H2 {2} {3} +H2 {4} {5} +H2 {6} {7} +X8 {0} {1} {2} {3} {4} {5} {6} {7} +C7Z {0} {1} {2} {3} {4} {5} {6} {7} +X8 {0} {1} {2} {3} {4} {5} {6} {7} +H2 {0} {1} +H2 {2} {3} +H2 {4} {5} +H2 {6} {7} \ No newline at end of file diff --git a/scripts/grover8_test.q b/scripts/grover8_test.q new file mode 100644 index 0000000..3e3eb18 --- /dev/null +++ b/scripts/grover8_test.q @@ -0,0 +1,77 @@ +QREG 8 +# GROVER8_TEST T T T T T T T T + +PRINT INIT +H2 {0} {1} +H2 {2} {3} +H2 {4} {5} +H2 {6} {7} +#X {7} +#H {7} +#TIME + +PRINT +PRINT ROUND 1 +ORACLE8 {0} {1} {2} {3} {4} {5} {6} {7} +GROVER8 {0} {1} {2} {3} {4} {5} {6} {7} +#TIME +PRINT +PRINT ROUND 2 +ORACLE8 {0} {1} {2} {3} {4} {5} {6} {7} +GROVER8 {0} {1} {2} {3} {4} {5} {6} {7} +#TIME +PRINT +PRINT ROUND 3 +ORACLE8 {0} {1} {2} {3} {4} {5} {6} {7} +GROVER8 {0} {1} {2} {3} {4} {5} {6} {7} +#TIME +PRINT +PRINT ROUND 4 +ORACLE8 {0} {1} {2} {3} {4} {5} {6} {7} +GROVER8 {0} {1} {2} {3} {4} {5} {6} {7} +#TIME +PRINT +PRINT ROUND 5 +ORACLE8 {0} {1} {2} {3} {4} {5} {6} {7} +GROVER8 {0} {1} {2} {3} {4} {5} {6} {7} +#TIME +PRINT +PRINT ROUND 6 +ORACLE8 {0} {1} {2} {3} {4} {5} {6} {7} +GROVER8 {0} {1} {2} {3} {4} {5} {6} {7} +#TIME +PRINT +PRINT ROUND 7 +ORACLE8 {0} {1} {2} {3} {4} {5} {6} {7} +GROVER8 {0} {1} {2} {3} {4} {5} {6} {7} +#TIME +PRINT +PRINT ROUND 8 +ORACLE8 {0} {1} {2} {3} {4} {5} {6} {7} +GROVER8 {0} {1} {2} {3} {4} {5} {6} {7} +#TIME +PRINT +PRINT ROUND 9 +ORACLE8 {0} {1} {2} {3} {4} {5} {6} {7} +GROVER8 {0} {1} {2} {3} {4} {5} {6} {7} +#TIME +PRINT +PRINT ROUND 10 +ORACLE8 {0} {1} {2} {3} {4} {5} {6} {7} +GROVER8 {0} {1} {2} {3} {4} {5} {6} {7} +#TIME + +PRINT +PRINT ROUND 11 +ORACLE8 {0} {1} {2} {3} {4} {5} {6} {7} +GROVER8 {0} {1} {2} {3} {4} {5} {6} {7} +#TIME +PRINT +PRINT ROUND 12 +ORACLE8 {0} {1} {2} {3} {4} {5} {6} {7} +GROVER8 {0} {1} {2} {3} {4} {5} {6} {7} +#TIME +PRINT + +#H {7} +#X {7} \ No newline at end of file diff --git a/scripts/hadamard20.q b/scripts/hadamard20.q new file mode 100644 index 0000000..38fc7ab --- /dev/null +++ b/scripts/hadamard20.q @@ -0,0 +1,13 @@ +QREG 20 +# + +H2 0 1 +H2 2 3 +H2 4 5 +H2 6 7 +H2 8 9 +H2 10 11 +H2 12 13 +H2 14 15 +H2 16 17 +H2 18 19 \ No newline at end of file diff --git a/scripts/hadd.q b/scripts/hadd.q new file mode 100644 index 0000000..58644c4 --- /dev/null +++ b/scripts/hadd.q @@ -0,0 +1,5 @@ +QREG 4 +# HADD A B O Co +CX {0} {2} +CX {1} {2} +CCX {0} {1} {3} \ No newline at end of file diff --git a/scripts/inc4.q b/scripts/inc4.q new file mode 100644 index 0000000..888cd78 --- /dev/null +++ b/scripts/inc4.q @@ -0,0 +1,7 @@ +QREG 4 +# INC4 T T T T + +C3X {0} {1} {2} {3} +C2X {0} {1} {2} +CX {0} {1} +X {0} \ No newline at end of file diff --git a/scripts/inc5.q b/scripts/inc5.q new file mode 100644 index 0000000..8db1044 --- /dev/null +++ b/scripts/inc5.q @@ -0,0 +1,8 @@ +QREG 5 +# INC5 T T T T T + +C4X {0} {1} {2} {3} {4} +C3X {0} {1} {2} {3} +C2X {0} {1} {2} +CX {0} {1} +X {0} \ No newline at end of file diff --git a/scripts/iqft2.q b/scripts/iqft2.q new file mode 100644 index 0000000..cca3533 --- /dev/null +++ b/scripts/iqft2.q @@ -0,0 +1,7 @@ +QREG 2 +# IQFT2 T T + +SWAP {0} {1} +H {0} +CSD {0} {1} +H {1} diff --git a/scripts/iqft3.q b/scripts/iqft3.q new file mode 100644 index 0000000..3ce5cc6 --- /dev/null +++ b/scripts/iqft3.q @@ -0,0 +1,10 @@ +QREG 3 +# IQFT3 T T T + +#SWAP {0} {2} +H {0} +CSDG {0} {1} +H {1} +CTDG {0} {2} +CSDG {1} {2} +H {2} diff --git a/scripts/oracle16.q b/scripts/oracle16.q new file mode 100644 index 0000000..8cdd1c3 --- /dev/null +++ b/scripts/oracle16.q @@ -0,0 +1,19 @@ +QREG 16 +# ORACLE16 C C C C C C C C C C C C C C C C +#X {0} +#X {1} +#X {2} +#X {3} +#X {4} +#X {5} +#X {6} +#X {7} +C15Z {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12} {13} {14} {15} +#X {0} +#X {1} +#X {2} +#X {3} +#X {4} +#X {5} +#X {6} +#X {7} \ No newline at end of file diff --git a/scripts/oracle4.q b/scripts/oracle4.q new file mode 100644 index 0000000..da6fdd4 --- /dev/null +++ b/scripts/oracle4.q @@ -0,0 +1,12 @@ +QREG 5 +# ORACLE4 C C C C T + +#X 0 +#X 1 +#X 2 +#X 3 +C4X {0} {1} {2} {3} {4} +#X 0 +#X 1 +#X 2 +#X 3 \ No newline at end of file diff --git a/scripts/oracle8.q b/scripts/oracle8.q new file mode 100644 index 0000000..457a16a --- /dev/null +++ b/scripts/oracle8.q @@ -0,0 +1,19 @@ +QREG 8 +# ORACLE8 C C C C C C C C +#X {0} +#X {1} +#X {2} +#X {3} +#X {4} +#X {5} +#X {6} +#X {7} +C7Z {0} {1} {2} {3} {4} {5} {6} {7} +#X {0} +#X {1} +#X {2} +#X {3} +#X {4} +#X {5} +#X {6} +#X {7} \ No newline at end of file diff --git a/scripts/qadd2.q b/scripts/qadd2.q new file mode 100644 index 0000000..a712552 --- /dev/null +++ b/scripts/qadd2.q @@ -0,0 +1,13 @@ +QREG 4 +# QADD2 A A B B + +# qft +QFT2 2 3 + +# add +CZ 1 2 +CS 0 2 +CZ 0 3 + +# qft dg +IQFT2 2 3 \ No newline at end of file diff --git a/scripts/qadd3.q b/scripts/qadd3.q new file mode 100644 index 0000000..15bbc8d --- /dev/null +++ b/scripts/qadd3.q @@ -0,0 +1,16 @@ +QREG 6 +# QADD3 A A A B B B + +# qft +QFT3 3 4 5 + +# add +CZ 2 5 +CS 1 5 +CT 0 5 +CZ 1 4 +CS 1 4 +CZ 9 3 + +# qft dg +IQFT3 3 4 5 \ No newline at end of file diff --git a/scripts/qcode.q b/scripts/qcode.q new file mode 100644 index 0000000..c311b96 --- /dev/null +++ b/scripts/qcode.q @@ -0,0 +1,5 @@ +QREG 8 + +CONSOLE + +MEASURE diff --git a/scripts/qfadd2.q b/scripts/qfadd2.q new file mode 100644 index 0000000..7a53672 --- /dev/null +++ b/scripts/qfadd2.q @@ -0,0 +1,10 @@ +QREG 5 +# QFADD2 A A B B C + +QFT3 2 3 4 +CZ 0 2 +CS 0 3 +CZ 1 3 +CS 1 4 +CT 0 4 +IQFT3 2 3 4 diff --git a/scripts/qft2.q b/scripts/qft2.q new file mode 100644 index 0000000..e76ebc1 --- /dev/null +++ b/scripts/qft2.q @@ -0,0 +1,7 @@ +QREG 2 +# QFT2 T T + +H {1} +CS {0} {1} +H {0} +SWAP {0} {1} diff --git a/scripts/qft3.q b/scripts/qft3.q new file mode 100644 index 0000000..92b5c1c --- /dev/null +++ b/scripts/qft3.q @@ -0,0 +1,10 @@ +QREG 3 +# QFT3 T T T + +H {2} +CS {1} {2} +CT {0} {2} +H {1} +CS {0} {1} +H {0} +#SWAP {0} {2} diff --git a/scripts/swap.q b/scripts/swap.q new file mode 100644 index 0000000..972c013 --- /dev/null +++ b/scripts/swap.q @@ -0,0 +1,6 @@ +QREG 2 +# SWAP T T + +CX {0} {1} +CX {1} {0} +CX {0} {1} \ No newline at end of file diff --git a/scripts/teleport.q b/scripts/teleport.q new file mode 100644 index 0000000..fb282ad --- /dev/null +++ b/scripts/teleport.q @@ -0,0 +1,27 @@ +QREG 3 +# TELEPORT S A B + +# create entangled pair +H {1} +CX {1} {2} + +# prepare data qubit +#H {0} +#T {0} +#H {0} + +# prepare calassical bits +CX {0} {1} +H {0} +#MEASURE_Q 0 +#MEASURE_Q 1 + +# teleport data +CX {1} {2} +CZ {0} {2} + +# verify data +#H {2} +#TD {2} +#H {2} +#MEASURE_Q 2 \ No newline at end of file