Skip to content

Commit 57ad1ab

Browse files
committedDec 3, 2024
planted noisy kXOR algorithm
update signatures move arithmetic primitives
1 parent cb0d3c8 commit 57ad1ab

Some content is hidden

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

43 files changed

+14378
-17
lines changed
 

‎dev_tools/qualtran_dev_tools/notebook_specs.py

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
import qualtran.bloqs.arithmetic.controlled_add_or_subtract
3838
import qualtran.bloqs.arithmetic.controlled_addition
3939
import qualtran.bloqs.arithmetic.conversions
40+
import qualtran.bloqs.arithmetic.lists
4041
import qualtran.bloqs.arithmetic.multiplication
4142
import qualtran.bloqs.arithmetic.negate
4243
import qualtran.bloqs.arithmetic.permutation
@@ -91,6 +92,8 @@
9192
import qualtran.bloqs.gf_arithmetic.gf2_multiplication
9293
import qualtran.bloqs.gf_arithmetic.gf2_square
9394
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
9497
import qualtran.bloqs.mcmt.and_bloq
9598
import qualtran.bloqs.mcmt.controlled_via_and
9699
import qualtran.bloqs.mcmt.ctrl_spec_and
@@ -488,6 +491,15 @@
488491
module=qualtran.bloqs.arithmetic.trigonometric,
489492
bloq_specs=[qualtran.bloqs.arithmetic.trigonometric.arcsin._ARCSIN_DOC],
490493
),
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+
),
491503
]
492504

493505
MOD_ARITHMETIC = [
@@ -878,6 +890,49 @@
878890
),
879891
]
880892

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+
881936
NB_BY_SECTION = [
882937
('Basic Gates', BASIC_GATES),
883938
('Chemistry', CHEMISTRY),
@@ -886,5 +941,6 @@
886941
('GF Arithmetic', GF_ARITHMETIC),
887942
('Rotations', ROT_QFT_PE),
888943
('Block Encoding', BLOCK_ENCODING),
944+
('Paper: Quartic Quantum Speedups for Planted Inference', ALGO_QUARTIC_SPEEDUPS),
889945
('Other', OTHER),
890946
]

‎docs/bloqs/index.rst

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,17 @@ Bloqs Library
134134
block_encoding/chebyshev_polynomial.ipynb
135135
block_encoding/lcu_block_encoding.ipynb
136136

137+
.. toctree::
138+
:maxdepth: 2
139+
:caption: Paper: Quartic Quantum Speedups for Planted Inference:
140+
141+
max_k_xor_sat/guided_hamiltonian/guided_hamiltonian.ipynb
142+
max_k_xor_sat/arithmetic/arithmetic.ipynb
143+
max_k_xor_sat/load_kxor_instance.ipynb
144+
max_k_xor_sat/guiding_state.ipynb
145+
max_k_xor_sat/kikuchi_block_encoding.ipynb
146+
max_k_xor_sat/planted_noisy_kxor.ipynb
147+
137148
.. toctree::
138149
:maxdepth: 2
139150
:caption: Other:

0 commit comments

Comments
 (0)