Subspace-Search VQE (SSVQE)
Overview
SSVQE finds multiple eigenstates simultaneously in a single optimization, unlike VQD which finds them sequentially. It optimizes a weighted sum of energies while enforcing orthogonality between states.
| Property | Value |
|---|---|
| Category | Chemistry |
| Difficulty | Advanced |
| Framework | Qiskit |
| Qubits | 4 |
| Depth | Variable |
| Gates | RY, RZ, CX |
The Algorithm
Cost Function
CODEL(θ) = Σₖ wₖ ⟨ψₖ(θₖ)|H|ψₖ(θₖ)⟩ + λ Σᵢ<ⱼ |⟨ψᵢ|ψⱼ⟩|²
Where:
- wₖ: Weights (larger for ground state)
- λ: Orthogonality penalty strength
Weight Assignment
To ensure proper ordering:
- w₀ > w₁ > w₂ > ...
- Example: w = [3, 2, 1] for 3 states
Circuit Structure
Each state k has its own parameters θₖ:
CODEState 0: |ψ₀(θ₀)⟩ ┌────────┐ ┌────────┐┌────────┐ q_0: ┤ RY(θ₀₀)├──■──┤ RY(θ₀₄)├┤ RZ(θ₀₅)├ └────────┘ │ └────────┘└────────┘ ... State 1: |ψ₁(θ₁)⟩ ┌────────┐ ┌────────┐┌────────┐ q_0: ┤ RY(θ₁₀)├──■──┤ RY(θ₁₄)├┤ RZ(θ₁₅)├ └────────┘ │ └────────┘└────────┘ ...
Running the Circuit
PYTHONfrom circuit import run_circuit # Find 3 lowest eigenstates result = run_circuit(n_qubits=4, n_states=3) for state in result['states']: print(f"E_{state['rank']}: {state['energy']:.4f}") print(f"Max overlap: {result['max_overlap']:.4f}") print(f"Orthogonality: {result['orthogonality_achieved']}")
Expected Output
| State | SSVQE | Exact | Error |
|---|---|---|---|
| E₀ | ~-4.50 | -4.50 | <1% |
| E₁ | ~-3.50 | -3.50 | <2% |
| E₂ | ~-2.50 | -2.50 | <3% |
Comparison: SSVQE vs VQD
| Aspect | SSVQE | VQD |
|---|---|---|
| Optimization | Simultaneous | Sequential |
| Parameters | O(K × P) | O(K × P) |
| Measurements | K times more | Standard |
| Parallelism | High | Low |
| Overlap control | Explicit penalty | Deflation |
Key Concepts
Weight Selection
- Weights encode target ordering
- Larger weight → tends to lower energy
- Common: wₖ = K - k (linear)
Orthogonality Penalty
- Essential for state separation
- λ should be > largest gap expected
- Too large: optimization difficult
Applications
- Full spectrum: Find all low-lying states at once
- Degenerate systems: Handle near-degenerate states
- Quantum dynamics: Construct propagators