qbraid_algorithms.evolution

Quantum Hamiltonian Evolution

Quantum Hamiltonian Evolution

This module provides implementations of quantum Hamiltonian evolution algorithms for simulating quantum systems and computing matrix functions. These techniques are fundamental for quantum simulation, quantum chemistry, quantum optimization, and quantum machine learning applications. The module implements Trotter decomposition methods for time evolution and Generalized Quantum Signal Processing (GQSP) for polynomial approximations of Hamiltonian functions, along with test Hamiltonians for benchmarking.

FORMULATION

Time Evolution Problem: Given a Hamiltonian \(H\) and time \(t\), compute the unitary time evolution operator:

\(U(t) = e^{-iHt}\)

Trotter-Suzuki Decomposition: For \(H = H_1 + H_2 + \ldots + H_k\), approximate the evolution using product formulas:

  1. First-order Trotter:

    \(e^{-iHt} \approx \left(\prod_{j=1}^k e^{-iH_j t/n}\right)^n\)

  2. Suzuki Higher-order: Recursive symmetric decomposition with coefficients \(p_k\) and \(q_k\):

    \(S_{2k}(t) = \prod_{j=1}^{5^{k-1}} S_2(p_k t) S_2(q_k t) S_2(p_k t)\)

Generalized Quantum Signal Processing: For polynomial \(P(x)\), construct a quantum circuit that implements: \(\langle 0| U_{\text{GQSP}} |0\rangle = P(H)\) using controlled rotations with optimized phase angles \(\{\phi_k\}\):

\(U_{\text{GQSP}} = \prod_{k=0}^d R_Y(\phi_{2k}) R_Z(\phi_{2k-1}) (|1\rangle\langle 1| \otimes H + |0\rangle\langle 0| \otimes I)\)

Test Hamiltonians: Standard quantum many-body systems for benchmarking:

  • Transverse Field Ising: \(H = -J\sum_{i} Z_i Z_{i+1} - h\sum_i X_i\)

  • Heisenberg XYZ: \(H = \sum_{i} (J_x X_i X_{i+1} + J_y Y_i Y_{i+1} + J_z Z_i Z_{i+1})\)

  • Fermionic Hubbard: \(H = -t\sum_{\langle i,j\rangle,\sigma} (c^\dagger_{i\sigma} c_{j\sigma} + \text{h.c.}) + U\sum_i n_{i\uparrow} n_{i\downarrow}\)

Classes

GQSP(*args, **kwargs)

Generalized Quantum Signal Processing gate library.

Trotter(*args, **kwargs)

Trotter decomposition gate library for Hamiltonian evolution.

TransverseFieldIsing([reg, j, h])

Transverse Field Ising Model Hamiltonian: H = -J∑ZZ + h∑X

HeisenbergXYZ([reg, j_x, j_y, j_z])

Heisenberg XYZ Model: H = Jx[XX + Jy[YY + Jz[ZZ

FermionicHubbard([reg, t, U])

Simplified Fermionic Hubbard Model for testing.

RandomizedHamiltonian([reg, seed, density])

Randomized Non-Commuting Hamiltonian for stress testing.

Functions

create_test_hamiltonians([reg_size])

Factory function to create a suite of test Hamiltonians.