uniqc.algorithms.core.training.vqe_torch module

Variational Quantum Eigensolver (VQE) with TorchQuantum backend.

Provides VQESolver for finding ground state energies using TorchQuantum’s native PyTorch autograd. Includes built-in H2 molecule Hamiltonian.

class uniqc.algorithms.core.training.vqe_torch.VQESolver(hamiltonian, nuclear_repulsion=0.0, n_qubits=4, ansatz_fn=<function build_hea_circuit>, n_params=16, lr=0.05, device='cpu')[source]

Bases: object

Variational Quantum Eigensolver with PyTorch optimization.

Parameters:
  • hamiltonian – List of (pauli_string, coefficient).

  • nuclear_repulsion – Constant energy offset.

  • n_qubits – Number of qubits.

  • ansatz_fn – Callable(params, n_qubits) -> (opcodes, n_qubits, overrides).

  • n_params – Number of variational parameters.

  • lr – Learning rate.

  • device – “cpu” or “cuda”.

solve(n_iters=100, verbose=True)[source]

Run VQE optimization.

Returns:

(final_energy, optimal_params)

step()[source]

Single optimization step. Returns energy value.

uniqc.algorithms.core.training.vqe_torch.build_h2_hamiltonian(bond_length=0.735)[source]

H2 molecule Hamiltonian in STO-3G basis (4 qubits, Bravyi-Kitaev).

Returns:

(pauli_terms, nuclear_repulsion) where pauli_terms is a list of (pauli_string, coefficient) tuples.

uniqc.algorithms.core.training.vqe_torch.build_hea_circuit(params, n_qubits, depth=2)[source]

Build HEA circuit with torch.Tensor parameters.

Returns (opcode_list, n_qubits, param_overrides) for TorchQuantumSimulator.