Skip to main content

SymQNet Molecular Optimization via Hamiltonian Estimation

Project description

SymQNet-MolOpt: Hamiltonian Parameter Estimation

SymQNet-MolOpt provides efficient, uncertainty-aware estimation of Hamiltonian parameters for 1D and 2D molecular models and ultimately much more efficient molecular optimization.

It is designed to use a SMC Bayesian estimator, guided by a reinforcement-learning (RL) agent that acts as a scientist, to estimate Hamiltonians optimally for methods such as VQE-based molecular optimization and to deliver larger, downstream optimization gains.


Installation

pip install SymQNet-MolOpt

Usage

Core Command

SymQNet-MolOpt --hamiltonian input.json --output results.json

Arguments:

  • --hamiltonian: Path to a JSON Hamiltonian (OpenFermion-like format).
  • --output: File to save results (JSON).
  • --shots: Number of measurement shots (default auto-scales).
  • --n-rollouts: Number of independent rollouts (default: 5).
  • --max-steps: Max optimization steps per rollout (default: 50).

Examples

Water Molecule (H₂O, 10 qubits)

SymQNet-MolOpt --hamiltonian examples/H2O_10q.json --output h2o_results.json --shots 1024 --n-rollouts 5 --max-steps 50

Ising Chain (12 qubits)

SymQNet-MolOpt --hamiltonian examples/ising_12q.json --output ising_results.json --shots 1024

(You need to create your own JSON Hamiltonian.)


Input Format

Hamiltonians are specified in JSON:

{
  "format": "openfermion",
  "system": "H2O",
  "n_qubits": 10,
  "pauli_terms": [
    {"coefficient": -74.943, "pauli_string": "IIIIIIIIII"},
    {"coefficient": 0.342, "pauli_string": "IIIIIIIIIZ"}
  ]
}

Output Format

Results include estimated parameters with uncertainties plus experiment/config metadata:

{
  "symqnet_results": {
    "coupling_parameters": [
      {
        "index": 0,
        "mean": 0.2134,
        "confidence_interval": [0.2089, 0.2179],
        "uncertainty": 0.0045
      }
    ],
    "field_parameters": [...],
    "total_uncertainty": 0.0856,
    "avg_measurements_used": 512.0,
    "confidence_level": 0.95,
    "n_rollouts": 5
  },
  "hamiltonian_info": {
    "molecule": "H2O",
    "n_qubits": 10,
    "n_pauli_terms": 512,
    "format": "openfermion",
    "optimal_qubits": 10,
    "performance_optimal": true
  },
  "experimental_config": {
    "shots": 1024,
    "max_steps": 50,
    "n_rollouts": 5,
    "confidence": 0.95,
    "device": "cpu",
    "seed": 42
  },
  "metadata": {
    "generated_by": "Universal SymQNet Molecular Optimization CLI",
    "version": "2.0.12",
    "model_constraint": "Trained optimally for 10 qubits, supports any qubit count",
    "timestamp": "2024-01-01T00:00:00",
    "parameter_count": {
      "coupling": 9,
      "field": 10,
      "total": 19
    },
    "parameter_extraction_fixed": true
  },
  "performance_analysis": {
    "expected_performance": 1.0,
    "performance_level": "optimal",
    "optimal_qubits": 10,
    "universal_symqnet_version": "2.0.0"
  },
  "universal_wrapper": {
    "original_qubits": 12,
    "normalized_to": 10,
    "expected_performance": 0.85,
    "normalization_applied": true,
    "optimal_at": 10,
    "fixed_parameter_extraction": true
  },
  "validation": {
    "has_ground_truth": false
  }
}

Requirements

  • Python 3.8+
  • PyTorch 1.12+
  • NumPy, SciPy, Click

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

symqnet_molopt-4.1.3.tar.gz (2.5 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

symqnet_molopt-4.1.3-py3-none-any.whl (2.5 MB view details)

Uploaded Python 3

File details

Details for the file symqnet_molopt-4.1.3.tar.gz.

File metadata

  • Download URL: symqnet_molopt-4.1.3.tar.gz
  • Upload date:
  • Size: 2.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for symqnet_molopt-4.1.3.tar.gz
Algorithm Hash digest
SHA256 565f0858677e17c66196b315c338f1a765e7dbad459156eecdcc29de6d6ea244
MD5 2de204f729372bad0dab734f632e055b
BLAKE2b-256 fe7b0a7ee5e506d5ef768b041d22718d2750dec3aba2a7247d32eeee104e8fa2

See more details on using hashes here.

File details

Details for the file symqnet_molopt-4.1.3-py3-none-any.whl.

File metadata

  • Download URL: symqnet_molopt-4.1.3-py3-none-any.whl
  • Upload date:
  • Size: 2.5 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for symqnet_molopt-4.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 505116e639bbd31e6192af5c789d74893756b7d1f44c82b85e2e63f89ee947be
MD5 e8d528017818faddb20ce46222418991
BLAKE2b-256 4451c3757ea89372f7912343cb8d611b448ef618262f5ee59e9e773addf04fdd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page