Multistate Contracted VQE (MC-VQE)
Overview
MC-VQE is a multi-reference approach for strongly correlated systems. Instead of optimizing a single wavefunction, it builds a contracted Hamiltonian in a subspace of reference states, then diagonalizes to get all eigenstates simultaneously.
| Property | Value |
|---|---|
| Category | Chemistry |
| Difficulty | Advanced |
| Framework | Qiskit |
| Qubits | 4 |
| Depth | Variable |
| Gates | RY, RZ, CX, H |
The Algorithm
1. Choose Reference States
Select initial configurations: |Φ₁⟩, |Φ₂⟩, ..., |Φₙ⟩
2. Apply Orbital Rotation
Transform references: |Ψᵢ⟩ = U(θ)|Φᵢ⟩
3. Build Contracted Matrices
CODEH_IJ = ⟨Ψ_I|H|Ψ_J⟩ S_IJ = ⟨Ψ_I|Ψ_J⟩
4. Solve Generalized Eigenvalue
CODEH·C = S·C·E
5. Optimize θ
Minimize E₀ (ground state) or weighted sum.
Reference States
CODE|Φ₁⟩ = |1100⟩ (HF reference) |Φ₂⟩ = |1010⟩ (single excitation) |Φ₃⟩ = |0110⟩ (single excitation) |Φ₄⟩ = superposition (multi-reference)
Orbital Rotation Circuit
Givens rotations between orbital pairs:
CODE┌────────┐ ┌──────────┐ q_i: ┤ RY(θ) ├──■──┤ RY(-θ/2) ├ └────────┘┌─┴─┐└──────────┘ q_j: ──────────┤ X ├──────────── └───┘
Running the Circuit
PYTHONfrom circuit import run_circuit result = run_circuit(n_qubits=4) print(f"References: {result['n_references']}") for state in result['states']: print(f"E_{state['index']}: {state['energy']:.4f}") print(f" Coefficients: {state['coefficients']}")
Expected Output
| State | MC-VQE | Exact | Error |
|---|---|---|---|
| E₀ | ~-4.50 | -4.50 | <1% |
| E₁ | ~-3.50 | -3.50 | <1% |
| E₂ | ~-2.50 | -2.50 | <2% |
| E₃ | ~-1.50 | -1.50 | <2% |
Advantages Over Single-Reference
| Aspect | Single-Ref VQE | MC-VQE |
|---|---|---|
| Strong correlation | Poor | Good |
| Excited states | Sequential | Simultaneous |
| State character | Single config | Mixed |
| Near-degeneracy | Unstable | Stable |
Applications
- Bond breaking: H₂ dissociation, transition states
- Transition metals: d-orbital degeneracy
- Excited states: Conical intersections
- Photochemistry: Multi-state dynamics