Skip to content

Gate Optimization in DiagCoulombEvolutionJW#671

Open
jamie-k-kim wants to merge 1 commit into
qiskit-community:mainfrom
jamie-k-kim:main
Open

Gate Optimization in DiagCoulombEvolutionJW#671
jamie-k-kim wants to merge 1 commit into
qiskit-community:mainfrom
jamie-k-kim:main

Conversation

@jamie-k-kim

Copy link
Copy Markdown

Changed the gate decomposition in the number operator representation (_diag_coulomb_evo_num_rep_jw). Right now it yields PhaseGates and CPhaseGates for every diagonal Coulomb term. This new approach accumulates all single-qubit Z-rotations into a coefficient array (z_coeffs), applies them all at the start using a single PhaseGate per qubit, and then uses RZZGates for the two-qubit interaction terms.

By the Jordan-Wigner mapping for number operators, $n_p = \frac{I-Z_p}{2}$ and the interaction term $n_p n_q$ expands to $\frac{I - Z_p - Z_q + Z_p Z_q}{4}$. So for single-qubit Z terms, each term $Z_{pq} n_p n_q$ contributes a factor of $\frac{t Z_{pq}}{4}$ to the $Z_p$ and $Z_q$ phases. These are accumulated via coef = time * this_mat[i, j] / 4.0. And for two-qubit ZZ terms, each term contributes $\exp\left(-i \frac{t Z_{pq}}{4} Z_p Z_q\right)$, which is equivalent to RZZGate(0.5 * time * Z_pq).

For a 50-orbital system with 100 trials:

Avg. CX count Avg. RZ count Avg. depth
Current 4883.04 4883.04 1541.07
New 4842.04 4842.04 1414.03

Transpilation speedup: 24.9% (MacBook Pro M1)

@CLAassistant

CLAassistant commented Jul 13, 2026

Copy link
Copy Markdown

CLA assistant check
All committers have signed the CLA.

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.

2 participants