Variational Generative Optimization Network (VGON).
Project description
VGON Environment Setup
VGON scripts here require Python version 3.11 and above.
This guide provides instructions for setting up the VGON (Variational Generative Optimization Network) environment using either uv or pip.
Prerequisites
- Python 3.11 or higher
- Git
Method 1: Using uv (Recommended)
uv is a fast Python package manager and project manager, whose installation is simple as guide
Setup with uv
-
Clone the repository to local disk.
git clone https://github.com/zhangjianjianzz/VGON.git && cd VGON
-
Create virtual environment if it wasn't contained
uv venv .venv
The python virtual environment will be located at
.venvfold under root path in default. Linux/macOS users could activate it in shell by typingsource .venv/bin/activate
-
Install dependecies in
.venvfor VGON scriptsuv sync --extra full
plotandnotebookgroups are optional for VGON itself. -
Running experiments with uv
# Run specific experiments uv run python BP/HXXZ/vgon_xxz.py uv run python Gap/Mix.py uv run python Degeneracy/H232/H232.py # Or activate environment first source .venv/bin/activate python BP/HXXZ/plot.py
Method 2: Using pip
Setup with pip
# Clone the repository
git clone <your-repo-url>
cd VGON
# Create virtual environment
python -m venv venv
# Activate virtual environment
source venv/bin/activate # On Linux/macOS
# or
venv\Scripts\activate # On Windows
# Upgrade pip
pip install --upgrade pip
# Install PyTorch (CPU version)
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
# For GPU support (CUDA 12.1), use instead:
# pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
# Install the package with dependencies
pip install -e .
# Install optional dependencies
pip install -e ".[plot]" # For plotting
pip install -e ".[dev]" # For development
pip install -e ".[gpu]" # For GPU acceleration
pip install -e ".[all]" # Install everything
# Manual installation of ptitprince (if needed)
pip install git+https://github.com/pog87/PtitPrince.git
Verify Installation
Test your installation by running a simple example:
import torch
import pennylane as qml
import numpy as np
# Test basic functionality
print(f"PyTorch version: {torch.__version__}")
print(f"PennyLane version: {qml.__version__}")
print(f"CUDA available: {torch.cuda.is_available()}")
# Test quantum device
dev = qml.device("default.qubit", wires=2)
print("✓ PennyLane quantum device created successfully")
Project Structure
VGON/
├── BP/ # Barren Plateau experiments
│ ├── HXXZ/ # Heisenberg XXZ model
│ └── Z1Z2/ # Z1Z2 model
├── Degeneracy/ # Degeneracy detection experiments
│ ├── H232/ # H232 Hamiltonian
│ └── MG/ # Graph states
├── Gap/ # Nonlocality gap experiments
└── results/ # Experimental results
Running Experiments
Barren Plateau Experiments
# HXXZ model
python BP/HXXZ/vgon_xxz.py # Run VGON training
python BP/HXXZ/vqe_xxz.py # Run VQE baseline
python BP/HXXZ/plot.py # Generate plots
# Z1Z2 model
python BP/Z1Z2/vgon_z1z2.py
python BP/Z1Z2/vqe_z1z2.py
python BP/Z1Z2/plot.py
Degeneracy Detection
# H232 Hamiltonian
python Degeneracy/H232/H232.py
python Degeneracy/H232/plot.py
# Graph states
python Degeneracy/MG/MG.py
python Degeneracy/MG/plot.py
Nonlocality Gap
python Gap/Mix.py # Train gap model
matlab -batch "run('Gap/plotGap.m')" # Generate MATLAB plots
Troubleshooting
Common Issues
- CUDA not found: If you have a GPU but CUDA is not detected, reinstall PyTorch with CUDA support
- PennyLane device errors: Ensure you have the correct PennyLane plugins installed
- Memory issues: Reduce batch sizes in the configuration files
- Import errors: Make sure all dependencies are installed correctly
GPU Setup
For GPU acceleration:
Development Setup
For contributors:
Support
- Paper: Commun Phys 8, 334 (2025)
- Issues: Create an issue on the GitHub repository
- Documentation: See individual module docstrings and comments
Development Containers
DevContainers' configuration in vscode/GitHub Codespace.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file vgon-0.0.5-py3-none-any.whl.
File metadata
- Download URL: vgon-0.0.5-py3-none-any.whl
- Upload date:
- Size: 8.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3b646cbc00d2d8d1e0df96f3e1c32150f43e80af7ed69d126c5878bab5482ebb
|
|
| MD5 |
a3cc33c3574baabef1bc963f6bc146bf
|
|
| BLAKE2b-256 |
24679b52d91750b90912f730c99fab0228c09498f61e8c8a1f232cedd2eab4b8
|
Provenance
The following attestation bundles were made for vgon-0.0.5-py3-none-any.whl:
Publisher:
publish.yml on zhangjianjianzz/VGON
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vgon-0.0.5-py3-none-any.whl -
Subject digest:
3b646cbc00d2d8d1e0df96f3e1c32150f43e80af7ed69d126c5878bab5482ebb - Sigstore transparency entry: 1095939491
- Sigstore integration time:
-
Permalink:
zhangjianjianzz/VGON@a1e7070e8509dfcd1d969bc36ce2616f24ce0abd -
Branch / Tag:
refs/tags/v0.0.5 - Owner: https://github.com/zhangjianjianzz
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@a1e7070e8509dfcd1d969bc36ce2616f24ce0abd -
Trigger Event:
push
-
Statement type: