Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 2c3153c

Browse files
committedSep 1, 2024
Planted Noisy kXOR
1 parent 64acb52 commit 2c3153c

File tree

61 files changed

+14204
-28
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

61 files changed

+14204
-28
lines changed
 

‎dev_tools/autogenerate-bloqs-notebooks-v2.py

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@
7272
import qualtran.bloqs.block_encoding.phase
7373
import qualtran.bloqs.block_encoding.product
7474
import qualtran.bloqs.block_encoding.sparse_matrix
75+
import qualtran.bloqs.block_encoding.sparse_matrix_hermitian
7576
import qualtran.bloqs.block_encoding.tensor_product
7677
import qualtran.bloqs.block_encoding.unitary
7778
import qualtran.bloqs.bookkeeping
@@ -106,6 +107,18 @@
106107
import qualtran.bloqs.factoring.ecc
107108
import qualtran.bloqs.factoring.mod_exp
108109
import qualtran.bloqs.hamiltonian_simulation.hamiltonian_simulation_by_gqsp
110+
import qualtran.bloqs.max_k_xor_sat
111+
import qualtran.bloqs.max_k_xor_sat.arithmetic
112+
import qualtran.bloqs.max_k_xor_sat.arithmetic.has_duplicates
113+
import qualtran.bloqs.max_k_xor_sat.arithmetic.sort_in_place
114+
import qualtran.bloqs.max_k_xor_sat.arithmetic.symmetric_difference
115+
import qualtran.bloqs.max_k_xor_sat.guided_hamiltonian
116+
import qualtran.bloqs.max_k_xor_sat.guided_hamiltonian.guided_hamiltonian
117+
import qualtran.bloqs.max_k_xor_sat.guided_hamiltonian.walk_operator
118+
import qualtran.bloqs.max_k_xor_sat.guiding_state
119+
import qualtran.bloqs.max_k_xor_sat.kikuchi_block_encoding
120+
import qualtran.bloqs.max_k_xor_sat.load_kxor_instance
121+
import qualtran.bloqs.max_k_xor_sat.planted_noisy_kxor
109122
import qualtran.bloqs.mcmt.and_bloq
110123
import qualtran.bloqs.mcmt.controlled_via_and
111124
import qualtran.bloqs.mcmt.ctrl_spec_and
@@ -699,6 +712,13 @@
699712
module=qualtran.bloqs.block_encoding.sparse_matrix,
700713
bloq_specs=[qualtran.bloqs.block_encoding.sparse_matrix._SPARSE_MATRIX_DOC],
701714
),
715+
NotebookSpecV2(
716+
title='Sparse Matrix (Hermitian)',
717+
module=qualtran.bloqs.block_encoding.sparse_matrix_hermitian,
718+
bloq_specs=[
719+
qualtran.bloqs.block_encoding.sparse_matrix_hermitian._SPARSE_MATRIX_HERMITIAN_DOC
720+
],
721+
),
702722
NotebookSpecV2(
703723
title='Chebyshev Polynomial',
704724
module=qualtran.bloqs.block_encoding.chebyshev_polynomial,
@@ -828,6 +848,57 @@
828848
],
829849
),
830850
]
851+
# --------------------------------------------------------------------------
852+
# ----- Quartic Speedups paper ------------------------------------------
853+
# --------------------------------------------------------------------------
854+
ALGO_QUARTIC_SPEEDUPS = [
855+
# ----- Preliminaries ------------------------------------------
856+
NotebookSpecV2(
857+
title='Guided (sparse) Hamiltonian Problem',
858+
module=qualtran.bloqs.max_k_xor_sat.guided_hamiltonian.guided_hamiltonian,
859+
bloq_specs=[
860+
qualtran.bloqs.max_k_xor_sat.guided_hamiltonian.guided_hamiltonian._GUIDED_HAMILTONIAN_DOC,
861+
qualtran.bloqs.max_k_xor_sat.guided_hamiltonian.guided_hamiltonian._GUIDED_HAMILTONIAN_PHASE_ESTIMATION_DOC,
862+
],
863+
),
864+
NotebookSpecV2(
865+
title='Arithmetic Primitives',
866+
module=qualtran.bloqs.max_k_xor_sat.arithmetic,
867+
bloq_specs=[
868+
qualtran.bloqs.max_k_xor_sat.arithmetic.sort_in_place._SORT_IN_PLACE_DOC,
869+
qualtran.bloqs.max_k_xor_sat.arithmetic.symmetric_difference._SYMMETRIC_DIFFERENCE_DOC,
870+
qualtran.bloqs.max_k_xor_sat.arithmetic.has_duplicates._HAS_DUPLICATES_DOC,
871+
],
872+
),
873+
# ----- Algorithm ------------------------------------------
874+
NotebookSpecV2(
875+
title='kXOR: Instance load Oracles',
876+
module=qualtran.bloqs.max_k_xor_sat.load_kxor_instance,
877+
bloq_specs=[qualtran.bloqs.max_k_xor_sat.load_kxor_instance._LOAD_INSTANCE_DOC],
878+
),
879+
NotebookSpecV2(
880+
title='Noisy kXOR: Guiding State',
881+
module=qualtran.bloqs.max_k_xor_sat.guiding_state,
882+
bloq_specs=[
883+
qualtran.bloqs.max_k_xor_sat.guiding_state._SIMPLE_GUIDING_STATE_DOC,
884+
qualtran.bloqs.max_k_xor_sat.guiding_state._GUIDING_STATE_DOC,
885+
],
886+
),
887+
NotebookSpecV2(
888+
title='Noisy kXOR: Block-encoding the Kikuchi Matrix',
889+
module=qualtran.bloqs.max_k_xor_sat.kikuchi_block_encoding,
890+
bloq_specs=[
891+
qualtran.bloqs.max_k_xor_sat.kikuchi_adjacency_matrix._KIKUCHI_MATRIX_ENTRY_DOC,
892+
qualtran.bloqs.max_k_xor_sat.kikuchi_adjacency_list._KIKUCHI_NONZERO_INDEX_DOC,
893+
qualtran.bloqs.max_k_xor_sat.kikuchi_block_encoding._KIKUCHI_HAMILTONIAN_DOC,
894+
],
895+
),
896+
NotebookSpecV2(
897+
title='Algorithm: Planted Noise kXOR',
898+
module=qualtran.bloqs.max_k_xor_sat.planted_noisy_kxor,
899+
bloq_specs=[qualtran.bloqs.max_k_xor_sat.planted_noisy_kxor._PLANTED_NOISY_KXOR_DOC],
900+
),
901+
]
831902

832903
# --------------------------------------------------------------------------
833904
# ----- Concepts -------------------------------------------------------
@@ -854,6 +925,7 @@
854925
('Modular Arithmetic', MOD_ARITHMETIC),
855926
('Rotations', ROT_QFT_PE),
856927
('Block Encoding', BLOCK_ENCODING),
928+
('Paper: Quartic Quantum Speedups for Planted Inference', ALGO_QUARTIC_SPEEDUPS),
857929
('Other', OTHER),
858930
]
859931

‎docs/bloqs/index.rst

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,9 +118,21 @@ Bloqs Library
118118
block_encoding/phase.ipynb
119119
block_encoding/linear_combination.ipynb
120120
block_encoding/sparse_matrix.ipynb
121+
block_encoding/sparse_matrix_hermitian.ipynb
121122
block_encoding/chebyshev_polynomial.ipynb
122123
block_encoding/lcu_block_encoding.ipynb
123124

125+
.. toctree::
126+
:maxdepth: 2
127+
:caption: Paper: Quartic Quantum Speedups for Planted Inference:
128+
129+
max_k_xor_sat/guided_hamiltonian/guided_hamiltonian.ipynb
130+
max_k_xor_sat/arithmetic/arithmetic.ipynb
131+
max_k_xor_sat/load_kxor_instance.ipynb
132+
max_k_xor_sat/guiding_state.ipynb
133+
max_k_xor_sat/kikuchi_block_encoding.ipynb
134+
max_k_xor_sat/planted_noisy_kxor.ipynb
135+
124136
.. toctree::
125137
:maxdepth: 2
126138
:caption: Other:

0 commit comments

Comments
 (0)