Skip to content

Commit 5a1b03a

Browse files
Implement Kikuchi guiding state preparation (#1504)
* Add list primitives from Quartic speedups paper * notebook * fix tests * Implement Kikuchi guiding state preparation * rename folder * rename `kikuchi_guiding_state.py` * add notebook spec --------- Co-authored-by: Tanuj Khattar <tanujkhattar@google.com>
1 parent 5aee458 commit 5a1b03a

File tree

9 files changed

+1510
-0
lines changed

9 files changed

+1510
-0
lines changed

dev_tools/qualtran_dev_tools/notebook_specs.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@
104104
import qualtran.bloqs.multiplexers.black_box_select
105105
import qualtran.bloqs.multiplexers.select_base
106106
import qualtran.bloqs.multiplexers.select_pauli_lcu
107+
import qualtran.bloqs.optimization.k_xor_sat.kikuchi_guiding_state
107108
import qualtran.bloqs.phase_estimation.lp_resource_state
108109
import qualtran.bloqs.phase_estimation.qubitization_qpe
109110
import qualtran.bloqs.phase_estimation.text_book_qpe
@@ -796,6 +797,20 @@
796797
),
797798
]
798799

800+
# --------------------------------------------------------------------------
801+
# ----- Optimization ---------------------------------------------------
802+
# --------------------------------------------------------------------------
803+
OPTIMIZATION: List[NotebookSpecV2] = [
804+
NotebookSpecV2(
805+
title='Planted Noisy kXOR - Kikuchi Guiding State',
806+
module=qualtran.bloqs.optimization.k_xor_sat.kikuchi_guiding_state,
807+
bloq_specs=[
808+
qualtran.bloqs.optimization.k_xor_sat.kikuchi_guiding_state._SIMPLE_GUIDING_STATE_DOC,
809+
qualtran.bloqs.optimization.k_xor_sat.kikuchi_guiding_state._GUIDING_STATE_DOC,
810+
],
811+
)
812+
]
813+
799814
# --------------------------------------------------------------------------
800815
# ----- Other ----------------------------------------------------------
801816
# --------------------------------------------------------------------------
@@ -912,5 +927,6 @@
912927
('GF Arithmetic', GF_ARITHMETIC),
913928
('Rotations', ROT_QFT_PE),
914929
('Block Encoding', BLOCK_ENCODING),
930+
('Optimization', OPTIMIZATION),
915931
('Other', OTHER),
916932
]

docs/bloqs/index.rst

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,12 @@ Bloqs Library
137137
block_encoding/chebyshev_polynomial.ipynb
138138
block_encoding/lcu_block_encoding.ipynb
139139

140+
.. toctree::
141+
:maxdepth: 2
142+
:caption: Optimization:
143+
144+
optimization/k_xor_sat/kikuchi_guiding_state.ipynb
145+
140146
.. toctree::
141147
:maxdepth: 2
142148
:caption: Other:
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# Copyright 2024 Google LLC
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# https://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
from .kikuchi_guiding_state import GuidingState, SimpleGuidingState
15+
from .kxor_instance import Constraint, KXorInstance

0 commit comments

Comments
 (0)