Skip to content

Conversation

@Aerylia
Copy link
Contributor

@Aerylia Aerylia commented Sep 3, 2025

Incomplete because the library is still incomplete.

@Aerylia Aerylia changed the title Initial setup for a user guide Draft: Initial setup for a user guide Sep 3, 2025
Copy link
Collaborator

@aymannel aymannel left a comment

Choose a reason for hiding this comment

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

LGTM 🚀

Comment on lines +79 to +82
"tmp = QuantumCircuit(2)\n",
"tmp.h(0)\n",
"tmp.cx(0, 1)\n",
"cliff = Clifford(tmp)\n",
Copy link
Collaborator

Choose a reason for hiding this comment

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

I would prefer an example that is not trivial (i.e., that shows that the plugin does something at least).

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Lemme park this here to add later from qiskit docs

from qiskit import QuantumCircuit
from qiskit.quantum_info import Clifford, random_clifford
 
qc = QuantumCircuit(3)
cliff = random_clifford(2)
qc.append(cliff, [0, 1])
qc.ccx(0, 1, 2)
qc.draw('mpl')

Comment on lines +342 to +346
"Our next plans include, but are not limited to:\n",
"- Implement the PSGS algorithm for Pauli Polynomial synthesis (open PR)\n",
"- Improve Qiskit transpiler integration, e.g. add PauliExponentialSynthesis\n",
"- Circuit-to-PauliExponential parser for generic circuits\n",
"- Improve code structure, package structure, and code style."
Copy link
Collaborator

Choose a reason for hiding this comment

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

Might be better to put this in the README, where it's easier to update.

"metadata": {},
"source": [
"### Lexicon\n",
"Since there are some conflicting terminology in literature, we will define what we mean by some of these terms here in alphabetical order.\n",
Copy link
Collaborator

Choose a reason for hiding this comment

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

I would sort in a "top-down" order, explaining higher-level concepts first and then dependent concepts.
E.g.

  1. Pauli exponential
  2. Pauli polynomial
  3. Pauli string
  4. Pauli letter

},
"outputs": [],
"source": [
"use syn::data_structures::PropagateClifford; // Would be nice if this was not needed when importing CliffordTableau"
Copy link
Collaborator

Choose a reason for hiding this comment

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

Traits always have to be imported. Only alternative would be to re-export common types and traits as a "prelude" module such that users can do use syn::prelude::* and get everything. We can discuss this at some point.

Comment on lines +458 to +461
"- Implement the PSGS algorithm for Pauli Polynomial synthesis\n",
"- Improve Qiskit transpiler integration\n",
"- Circuit-to-PauliExponential parser for generic circuits\n",
"- Improve code structure, package structure, and code style"
Copy link
Collaborator

Choose a reason for hiding this comment

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

Again, better to have this in the README, especially as this is duplicated in both notebooks, making it easy to go out of sync.

"source": [
"type Angle = f64;\n",
"#[derive(Debug, Default)]\n",
"pub struct MockCircuit {\n",
Copy link
Collaborator

Choose a reason for hiding this comment

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

This is quite a bit of code. If we expect users want a Circuit struct like this, it might make sense to provide it as part of the library, even though it was originally omitted by design.

Copy link
Collaborator

Choose a reason for hiding this comment

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

The branch should be rebased, these changes are already on main.

@keefehuang keefehuang self-assigned this Nov 18, 2025
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.

5 participants