Skip to content

Commit

Permalink
planted noisy kXOR algorithm
Browse files Browse the repository at this point in the history
  • Loading branch information
anurudhp committed Jan 22, 2025
1 parent 5a1b03a commit d3e5f8a
Show file tree
Hide file tree
Showing 29 changed files with 9,099 additions and 12 deletions.
35 changes: 34 additions & 1 deletion dev_tools/qualtran_dev_tools/notebook_specs.py
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,8 @@
import qualtran.bloqs.multiplexers.black_box_select
import qualtran.bloqs.multiplexers.select_base
import qualtran.bloqs.multiplexers.select_pauli_lcu
import qualtran.bloqs.optimization.k_xor_sat
import qualtran.bloqs.optimization.k_xor_sat.guided_hamiltonian
import qualtran.bloqs.optimization.k_xor_sat.kikuchi_guiding_state
import qualtran.bloqs.phase_estimation.lp_resource_state
import qualtran.bloqs.phase_estimation.qubitization_qpe
Expand Down Expand Up @@ -801,14 +803,45 @@
# ----- Optimization ---------------------------------------------------
# --------------------------------------------------------------------------
OPTIMIZATION: List[NotebookSpecV2] = [
# ----- Preliminaries ------------------------------------------
NotebookSpecV2(
title='Guided (sparse) Hamiltonian Problem',
module=qualtran.bloqs.optimization.k_xor_sat.guided_hamiltonian.guided_hamiltonian,
bloq_specs=[
qualtran.bloqs.optimization.k_xor_sat.guided_hamiltonian.guided_hamiltonian._GUIDED_HAMILTONIAN_DOC,
qualtran.bloqs.optimization.k_xor_sat.guided_hamiltonian.guided_hamiltonian._GUIDED_HAMILTONIAN_PHASE_ESTIMATION_DOC,
],
),
# ----- Algorithm ------------------------------------------
NotebookSpecV2(
title='kXOR: Instance load Oracles',
module=qualtran.bloqs.optimization.k_xor_sat.load_kxor_instance,
bloq_specs=[qualtran.bloqs.optimization.k_xor_sat.load_kxor_instance._LOAD_INSTANCE_DOC],
),
NotebookSpecV2(
title='Planted Noisy kXOR - Kikuchi Guiding State',
module=qualtran.bloqs.optimization.k_xor_sat.kikuchi_guiding_state,
bloq_specs=[
qualtran.bloqs.optimization.k_xor_sat.kikuchi_guiding_state._SIMPLE_GUIDING_STATE_DOC,
qualtran.bloqs.optimization.k_xor_sat.kikuchi_guiding_state._GUIDING_STATE_DOC,
],
)
),
NotebookSpecV2(
title='Noisy kXOR: Block-encoding the Kikuchi Matrix',
module=qualtran.bloqs.optimization.k_xor_sat.kikuchi_block_encoding,
bloq_specs=[
qualtran.bloqs.optimization.k_xor_sat.kikuchi_adjacency_matrix._KIKUCHI_MATRIX_ENTRY_DOC,
qualtran.bloqs.optimization.k_xor_sat.kikuchi_adjacency_list._KIKUCHI_NONZERO_INDEX_DOC,
qualtran.bloqs.optimization.k_xor_sat.kikuchi_block_encoding._KIKUCHI_HAMILTONIAN_DOC,
],
),
NotebookSpecV2(
title='Algorithm: Planted Noise kXOR',
module=qualtran.bloqs.optimization.k_xor_sat.planted_noisy_kxor,
bloq_specs=[
qualtran.bloqs.optimization.k_xor_sat.planted_noisy_kxor._PLANTED_NOISY_KXOR_DOC
],
),
]

# --------------------------------------------------------------------------
Expand Down
4 changes: 4 additions & 0 deletions docs/bloqs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,11 @@ Bloqs Library
:maxdepth: 2
:caption: Optimization:

optimization/k_xor_sat/guided_hamiltonian/guided_hamiltonian.ipynb
optimization/k_xor_sat/load_kxor_instance.ipynb
optimization/k_xor_sat/kikuchi_guiding_state.ipynb
optimization/k_xor_sat/kikuchi_block_encoding.ipynb
optimization/k_xor_sat/planted_noisy_kxor.ipynb

.. toctree::
:maxdepth: 2
Expand Down
4 changes: 4 additions & 0 deletions qualtran/bloqs/optimization/k_xor_sat/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,9 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
from .kikuchi_adjacency_list import KikuchiNonZeroIndex
from .kikuchi_adjacency_matrix import KikuchiMatrixEntry
from .kikuchi_block_encoding import KikuchiHamiltonian, KikuchiMatrixEntry, KikuchiNonZeroIndex
from .kikuchi_guiding_state import GuidingState, SimpleGuidingState
from .kxor_instance import Constraint, KXorInstance
from .planted_noisy_kxor import AliceTheorem, PlantedNoisyKXOR
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Copyright 2024 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
from .guided_hamiltonian import GuidedHamiltonian, GuidedHamiltonianPhaseEstimation
from .walk_operator import QubitizedWalkOperator
Loading

0 comments on commit d3e5f8a

Please sign in to comment.