|
37 | 37 | import qualtran.bloqs.arithmetic.controlled_add_or_subtract
|
38 | 38 | import qualtran.bloqs.arithmetic.controlled_addition
|
39 | 39 | import qualtran.bloqs.arithmetic.conversions
|
| 40 | +import qualtran.bloqs.arithmetic.lists |
40 | 41 | import qualtran.bloqs.arithmetic.multiplication
|
41 | 42 | import qualtran.bloqs.arithmetic.negate
|
42 | 43 | import qualtran.bloqs.arithmetic.permutation
|
|
91 | 92 | import qualtran.bloqs.gf_arithmetic.gf2_multiplication
|
92 | 93 | import qualtran.bloqs.gf_arithmetic.gf2_square
|
93 | 94 | import qualtran.bloqs.hamiltonian_simulation.hamiltonian_simulation_by_gqsp
|
| 95 | +import qualtran.bloqs.max_k_xor_sat |
| 96 | +import qualtran.bloqs.max_k_xor_sat.guided_hamiltonian |
94 | 97 | import qualtran.bloqs.mcmt.and_bloq
|
95 | 98 | import qualtran.bloqs.mcmt.controlled_via_and
|
96 | 99 | import qualtran.bloqs.mcmt.ctrl_spec_and
|
|
488 | 491 | module=qualtran.bloqs.arithmetic.trigonometric,
|
489 | 492 | bloq_specs=[qualtran.bloqs.arithmetic.trigonometric.arcsin._ARCSIN_DOC],
|
490 | 493 | ),
|
| 494 | + NotebookSpecV2( |
| 495 | + title='List Functions', |
| 496 | + module=qualtran.bloqs.arithmetic.lists, |
| 497 | + bloq_specs=[ |
| 498 | + qualtran.bloqs.arithmetic.lists.sort_in_place._SORT_IN_PLACE_DOC, |
| 499 | + qualtran.bloqs.arithmetic.lists.symmetric_difference._SYMMETRIC_DIFFERENCE_DOC, |
| 500 | + qualtran.bloqs.arithmetic.lists.has_duplicates._HAS_DUPLICATES_DOC, |
| 501 | + ], |
| 502 | + ), |
491 | 503 | ]
|
492 | 504 |
|
493 | 505 | MOD_ARITHMETIC = [
|
|
878 | 890 | ),
|
879 | 891 | ]
|
880 | 892 |
|
| 893 | +# -------------------------------------------------------------------------- |
| 894 | +# ----- Quartic Speedups paper ------------------------------------------ |
| 895 | +# -------------------------------------------------------------------------- |
| 896 | +ALGO_QUARTIC_SPEEDUPS = [ |
| 897 | + # ----- Preliminaries ------------------------------------------ |
| 898 | + NotebookSpecV2( |
| 899 | + title='Guided (sparse) Hamiltonian Problem', |
| 900 | + module=qualtran.bloqs.max_k_xor_sat.guided_hamiltonian.guided_hamiltonian, |
| 901 | + bloq_specs=[ |
| 902 | + qualtran.bloqs.max_k_xor_sat.guided_hamiltonian.guided_hamiltonian._GUIDED_HAMILTONIAN_DOC, |
| 903 | + qualtran.bloqs.max_k_xor_sat.guided_hamiltonian.guided_hamiltonian._GUIDED_HAMILTONIAN_PHASE_ESTIMATION_DOC, |
| 904 | + ], |
| 905 | + ), |
| 906 | + # ----- Algorithm ------------------------------------------ |
| 907 | + NotebookSpecV2( |
| 908 | + title='kXOR: Instance load Oracles', |
| 909 | + module=qualtran.bloqs.max_k_xor_sat.load_kxor_instance, |
| 910 | + bloq_specs=[qualtran.bloqs.max_k_xor_sat.load_kxor_instance._LOAD_INSTANCE_DOC], |
| 911 | + ), |
| 912 | + NotebookSpecV2( |
| 913 | + title='Noisy kXOR: Guiding State', |
| 914 | + module=qualtran.bloqs.max_k_xor_sat.guiding_state, |
| 915 | + bloq_specs=[ |
| 916 | + qualtran.bloqs.max_k_xor_sat.guiding_state._SIMPLE_GUIDING_STATE_DOC, |
| 917 | + qualtran.bloqs.max_k_xor_sat.guiding_state._GUIDING_STATE_DOC, |
| 918 | + ], |
| 919 | + ), |
| 920 | + NotebookSpecV2( |
| 921 | + title='Noisy kXOR: Block-encoding the Kikuchi Matrix', |
| 922 | + module=qualtran.bloqs.max_k_xor_sat.kikuchi_block_encoding, |
| 923 | + bloq_specs=[ |
| 924 | + qualtran.bloqs.max_k_xor_sat.kikuchi_adjacency_matrix._KIKUCHI_MATRIX_ENTRY_DOC, |
| 925 | + qualtran.bloqs.max_k_xor_sat.kikuchi_adjacency_list._KIKUCHI_NONZERO_INDEX_DOC, |
| 926 | + qualtran.bloqs.max_k_xor_sat.kikuchi_block_encoding._KIKUCHI_HAMILTONIAN_DOC, |
| 927 | + ], |
| 928 | + ), |
| 929 | + NotebookSpecV2( |
| 930 | + title='Algorithm: Planted Noise kXOR', |
| 931 | + module=qualtran.bloqs.max_k_xor_sat.planted_noisy_kxor, |
| 932 | + bloq_specs=[qualtran.bloqs.max_k_xor_sat.planted_noisy_kxor._PLANTED_NOISY_KXOR_DOC], |
| 933 | + ), |
| 934 | +] |
| 935 | + |
881 | 936 | NB_BY_SECTION = [
|
882 | 937 | ('Basic Gates', BASIC_GATES),
|
883 | 938 | ('Chemistry', CHEMISTRY),
|
|
886 | 941 | ('GF Arithmetic', GF_ARITHMETIC),
|
887 | 942 | ('Rotations', ROT_QFT_PE),
|
888 | 943 | ('Block Encoding', BLOCK_ENCODING),
|
| 944 | + ('Paper: Quartic Quantum Speedups for Planted Inference', ALGO_QUARTIC_SPEEDUPS), |
889 | 945 | ('Other', OTHER),
|
890 | 946 | ]
|
0 commit comments