Skip to content

Conversation

anurudhp
Copy link
Contributor

@anurudhp anurudhp commented Feb 14, 2025

part of #1348

Implements the Kikuchi graph adjacency matrix and adjacency list oracles, along with ones to load and index the constraints. And uses the oracles to build a sparse matrix block-encoding of the Kikuchi matrix.

@anurudhp
Copy link
Contributor Author

@tanujkhattar ptal!

Copy link
Collaborator

@tanujkhattar tanujkhattar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM % nits

For a given row $S$ and column $T$, the entry $\mathcal{K}_{k}_{S, T}$
is potentially non-zero if $S \Delta T = U_j$ for some $j$, which is
equivalent to $T = S \Delta U_j$.
Here, $U_j$ is the $j$-th unique scope in the instance $\mathcal{I}$.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's also not clear what you mean by "unique scope in the instance". Adding more details would be helpful!



@frozen
class KikuchiNonZeroIndex(Bloq):
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I understand that the context to understand what's happening in this Bloq becomes clearer if the user also reads some of the other bloq docstrings (eg: ones for kxor_instance and other kikuchi matrix bloqs). It'd be helpeful (here and elsewhere) if we (a) either include a brief overview of the problem setup and define the necessary terms OR (b) add a sentence the refers the reader to docstrings of other bloqs to understand the background so the explanation in the docstring is easier to follow. I've highlighted two examples below of things that are not immediately clear without additional context.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes sense! I added a reference to KXorInstance for all the bloqs, which explains the problem and notation.

Copy link

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

@anurudhp anurudhp requested a review from tanujkhattar August 18, 2025 20:50
@tanujkhattar tanujkhattar merged commit 90ffa0a into quantumlib:main Aug 18, 2025
8 checks passed
@anurudhp anurudhp deleted the 2025/02/13-quartic-kikuchi-oracles branch August 18, 2025 23:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants