API Reference - VQE
Detailed API reference for Variational Quantum Eigensolver.
quantumpytho.modules.vqe_h2_cli
Functions
run_vqe_h2_cli
from quantumpytho.modules.vqe_h2_cli import run_vqe_h2_cli
run_vqe_h2_cli(
config: QuantumConfig | None = None,
max_iters: int = 50
) -> None
Runs VQE simulation for H2 molecule.
Parameters:
config(QuantumConfig, optional) - Configuration object. Default: Nonemax_iters(int, optional) - Maximum optimization iterations. Default: 50
Returns:
None (prints to stdout)
Example:
from quantumpytho.modules.vqe_h2_cli import run_vqe_h2_cli
from quantumpytho.config import QuantumConfig, ExecutionMode
# Run with noisy simulation
config = QuantumConfig(
mode=ExecutionMode.NOISY_SIMULATOR,
noise_profile="ibm_brisbane"
)
run_vqe_h2_cli(config=config, max_iters=50)
quantumpytho.modules.vqe_molecules
Classes
MoleculeConfig
from quantumpytho.modules.vqe_molecules import MoleculeConfig
config = MoleculeConfig(
name: str,
formula: str,
geometry: list[tuple[float, float, float]],
charge: int,
multiplicity: int,
basis: str
)
Configuration for a molecule.
Parameters:
name(str) - Molecule nameformula(str) - Chemical formulageometry(list) - Atomic coordinates [(x, y, z), ...]charge(int) - Total chargemultiplicity(int) - Spin multiplicitybasis(str) - Basis set (e.g., "sto3g")
Functions
get_molecule
from quantumpytho.modules.vqe_molecules import get_molecule
config = get_molecule(name: str) -> MoleculeConfig
Get configuration for a predefined molecule.
Parameters:
name(str) - Molecule name (H2, LiH, HeH+, BeH2, H2O)
Returns:
MoleculeConfig object
Example:
from quantumpytho.modules.vqe_molecules import get_molecule
# Get H2 configuration
h2_config = get_molecule("H2")
print(f"Formula: {h2_config.formula}")
print(f"Geometry: {h2_config.geometry}")
list_molecules
from quantumpytho.modules.vqe_molecules import list_molecules
molecules = list_molecules() -> list[str]
List all available predefined molecules.
Returns:
List of molecule names
Example:
from quantumpytho.modules.vqe_molecules import list_molecules
molecules = list_molecules()
for mol in molecules:
print(mol)
get_reference_energy
from quantumpytho.modules.vqe_molecules import get_reference_energy
energy = get_reference_energy(name: str) -> float
Get reference energy for a molecule.
Parameters:
name(str) - Molecule name
Returns:
Reference energy in Hartree
Example:
from quantumpytho.modules.vqe_molecules import get_reference_energy
# Get H2 reference energy
ref_energy = get_reference_energy("H2")
print(f"Reference energy: {ref_energy} Hartree")
scan_bond_distance
from quantumpytho.modules.vqe_molecules import scan_bond_distance
result = scan_bond_distance(
name: str,
distances: list[float],
max_iters: int = 50
) -> dict
Scan bond distances to find equilibrium geometry.
Parameters:
name(str) - Molecule namedistances(list) - Bond distances to scan (in Å)max_iters(int, optional) - Maximum iterations per point. Default: 50
Returns:
Dictionary containing:
- energies (list) - Energies at each distance
- distances (list) - Bond distances
- equilibrium_distance (float) - Equilibrium bond distance
- min_energy (float) - Minimum energy
Example:
from quantumpytho.modules.vqe_molecules import scan_bond_distance
# Scan H2 bond distances
result = scan_bond_distance(
name="H2",
distances=[0.5, 0.6, 0.735, 0.8, 0.9, 1.0],
max_iters=50
)
print(f"Equilibrium distance: {result['equilibrium_distance']} Å")
print(f"Minimum energy: {result['min_energy']} Hartree")
quantumpytho.modules.vqe_utils
Functions
scan_h2_bond_distances
from quantumpytho.modules.vqe_utils import scan_h2_bond_distances
result = scan_h2_bond_distances(
distances: list[float] | None = None,
max_iters: int = 50
) -> dict
Scan H2 bond distances (convenience function).
Parameters:
distances(list, optional) - Bond distances. Default: [0.5, 0.6, 0.735, 0.8, 0.9, 1.0]max_iters(int, optional) - Maximum iterations. Default: 50
Returns:
Dictionary with scan results
compare_optimizers
from quantumpytho.modules.vqe_utils import compare_optimizers
result = compare_optimizers(
optimizers: list[str] | None = None,
max_iters: int = 50
) -> dict
Compare different classical optimizers for VQE.
Parameters:
optimizers(list, optional) - Optimizer names. Default: ["SPSA", "COBYLA", "SLSQP"]max_iters(int, optional) - Maximum iterations. Default: 50
Returns:
Dictionary comparing optimizer performance
quantumpytho.modules.vqe_core
Functions
run_vqe_h2
from quantumpytho.modules.vqe_core import run_vqe_h2
result = run_vqe_h2(
config: QuantumConfig | None = None,
max_iters: int = 50,
use_physical: bool = False
) -> dict
Run VQE for H2 molecule (core function).
Parameters:
config(QuantumConfig, optional) - Configuration objectmax_iters(int, optional) - Maximum iterations. Default: 50use_physical(bool, optional) - Use physical energies. Default: False
Returns:
Dictionary containing:
- energies (list) - Energy convergence history
- final_energy (float) - Final energy
- iterations (int) - Number of iterations
- converged (bool) - Whether converged
- molecule (str) - Molecule name
- basis (str) - Basis set
run_vqe_molecule
from quantumpytho.modules.vqe_core import run_vqe_molecule
result = run_vqe_molecule(
molecule: str,
config: QuantumConfig | None = None,
max_iters: int = 50
) -> dict
Run VQE for any supported molecule.
Parameters:
molecule(str) - Molecule nameconfig(QuantumConfig, optional) - Configuration objectmax_iters(int, optional) - Maximum iterations. Default: 50
Returns:
Dictionary with VQE results
See Also
- Modules API - Complete module reference
- VQE Guide - VQE usage guide
- Noisy Simulation - Noise modeling for VQE