Windows-GPU-UNLOCK
RTX3090 UEFI 포트, 한국어 무리셋 윈도우 부팅 가이드, 검증된 소스와 벤치마크 제공
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Bridge from classical materials databases to first-quantized Hamiltonians for fault-tolerant quantum simulation.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗A Python library for bridging classical materials databases to first-quantized Hamiltonians for fault-tolerant quantum simulation.
Status: early-stage, active development — schema is stabilizing, adapters are stubs, exporters are planned. The core NIR and I/O layer are functional. Breaking changes to
QMatEntrybefore v1.0 will be announced in CHANGELOG.md and accompanied by migration notes.
Research groups developing fault-tolerant Hamiltonian-simulation algorithms — block-encodings, qubitization variants, truncated Dyson series methods — need realistic electronic-structure Hamiltonians to test and benchmark their primitives. The standard path is to write one-off scripts that pull DFT data from the Materials Project or similar databases, reformat it, and feed it into a quantum compiler.
These scripts are rarely shared, almost never interoperable with more than one quantum framework, and often omit the provenance information needed to reproduce or compare results. When two groups report T-gate counts for "silicon", there is no standard way to verify they used the same Hamiltonian.
QMatBridge addresses this by providing a neutral intermediate representation (NIR) that any upstream database adapter can write to and any downstream quantum compiler or resource estimator can read from, with full provenance baked in.
Materials Project ──┐
OQMD ──┤ adapters ──▶ QMatEntry (NIR) ──▶ exporters ──▶ OpenFermion
OPTIMADE sources ──┤ ──▶ qualtran
Alexandria ──┘ ──▶ pyLIQTR
──▶ Qiskit
A QMatEntry records:
SourceProvenance — database, functional,
pseudopotential, code version, retrieval timestamp)StructureMetadata — formula, lattice, spacegroup)BasisMetadata — plane-wave cutoff,
basis size)OracleMetadata — LCU 1-norm λ, term breakdown,
SELECT/PREPARE circuit parameters, complexity annotations)ExportMetadata — framework, format, status,
artifact path)Every entry carries a deterministic canonical_hash() over eleven setup fields
(source record, functional, electrons, basis cutoff and a few more), plus the lattice and
atomic positions when the entry records them, so that benchmark results can be traced to a
specific recorded calculation. See
what the hash covers.
QMatBridge is written for:
If you are looking for a general materials informatics library, use pymatgen or ASE. QMatBridge is intentionally narrow: it is a bridge, not a database.
In scope (v0.1):
InteractionOperator and Pauli-LCU exporters (a small point-ion plane-wave model); cross-database deduplicationOut of scope (for now):
Provenance-first. Every QMatEntry records the exact upstream source,
DFT functional, pseudopotential family, and retrieval timestamp. The
canonical_hash() method produces a stable SHA-256 digest over the physically
meaningful fields so that published results can be precisely reproduced.
Open and interoperable. The core schema has zero required dependencies. Adapters for upstream databases and exporters for downstream frameworks are optional extras — install only what you need. The NIR is designed to be targeted by any adapter or consumed by any exporter without coupling the two.
Benchmark-oriented. Field names, norm conventions, and oracle metadata types are chosen to align with the quantities reported in fault-tolerant resource-estimation literature (LCU 1-norm λ, plane-wave count N, rotation-precision bits b_r). The library should make it easy to reproduce or extend a published benchmark, not just run a new one.
Representation-aware. OracleMetadata distinguishes between LCU,
qubitization, sparse-access, and tensor-hypercontraction decompositions.
TermMetadata stores per-physical-term norms so that methods that weight
T, U, and V differently can extract exactly the quantities they need.
Community-driven. The schema is a shared contract. Changes to
QMatEntry, MaterialReference, or HamiltonianMetadata require a public
discussion period and a minor-version bump. The governance model is documented
in GOVERNANCE.md; design discussions happen in GitHub
Discussions before any code is written.
pip install qmatbridge # from PyPI; the core has no required dependencies
pip install "qmatbridge[mp]" # + Materials Project adapter (mp-api, pymatgen); use Python 3.11+
Optional extras:
pip install "qmatbridge[numpy]" # raw plane-wave NumPy exporter
pip install "qmatbridge[openfermion]" # OpenFermion exporter
To work on QMatBridge itself, install from source:
git clone https://github.com/q-matsuite/qmatbridge.git
cd qmatbridge
pip install -e ".[dev]"
QMatBridge ships no credentials. To fetch from the Materials Project you need your
own free API key (export MP_API_KEY=...); reading entries and the committed
benchmark fixtures needs none. See docs/api-keys.md for which
sources need a key, how to keep it out of git, and data-licence/attribution notes.
from qmatbridge.schema import (
ExternalIdentifier, SourceProvenance,
LatticeMetadata, StructureMetadata,
BasisMetadata, HamiltonianMetadata,
MaterialReference, QMatEntry,
)
from qmatbridge.io import write_entry_json
provenance = SourceProvenance(
primary=ExternalIdentifier(
source="materials_project", identifier="mp-149"
),
functional="PBE",
pseudopotential="PAW_PBE",
code="VASP",
)
structure = StructureMetadata(
formula_reduced="Si",
formula_unit_cell="Si2",
num_sites=2,
species=["Si", "Si"],
lattice=LatticeMetadata(
a=3.867, b=3.867, c=3.867,
alpha=60.0, beta=60.0, gamma=60.0,
spacegroup_number=227, spacegroup_symbol="Fd-3m",
),
)
hamiltonian = HamiltonianMetadata(
num_electrons=8,
spin_polarized=False,
basis=BasisMetadata(type="plane_wave", cutoff_energy_ev=520.0),
num_bands=16,
)
entry = QMatEntry(
reference=MaterialReference(provenance=provenance, structure=structure),
hamiltonian=hamiltonian,
tags=["silicon", "benchmark"],
)
print(entry) # QMatEntry(formula='Si', source='materials_project', ...)
print(entry.canonical_hash()) # deterministic SHA-256
write_entry_json(entry, "silicon.json") # full nested JSON, 2-space indent
See examples/minimal_entry.py for a fully
populated silicon entry including oracle metadata and term breakdown.
qmatbridge/
├── qmatbridge/
│ ├── schema.py # Neutral intermediate representation (NIR)
│ ├── io.py # JSON serialization utilities
│ ├── basis.py # Plane-wave counting utilities
│ ├── adapters/
│ │ ├── materials_project.py # Materials Project adapter
│ │ └── oqmd.py # OQMD adapter
│ └── exporters/
│ ├── numpy_planewave.py # Raw plane-wave arrays (.npz)
│ ├── openfermion_pw.py # OpenFermion InteractionOperator
│ └── lcu.py # Pauli-LCU coefficients (qualtran / pyLIQTR / Cirq)
├── docs/
│ ├── vision.md # Design rationale and architectural constraints
│ ├── adapters.md # Upstream adapter documentation
│ └── oracle-model.md # Oracle abstraction and export model
├── examples/
│ ├── minimal_entry.py # Silicon QMatEntry with full oracle metadata
│ └── outputs/ # Generated CSV/JSON/PNG artifacts
├── benchmarks/
│ ├── README.md # Benchmark methodology and Tier-1 material plan
│ ├── tier1.py # Tier-1 specification
│ └── build_tier1_fixtures.py # Live fixture generator (needs MP_API_KEY)
├── mkdocs.yml # Documentation site configuration
├── planning/
│ └── initial_issues.md # Scoped GitHub issue set for v0.1–v0.4
└── .github/workflows/
└── python-package.yml # CI: lint (ruff + mypy) + tests on 3.10–3.12
QMatBridge is not a replacement for any of these; it sits between them.
| Tool | What it is | Relation to QMatBridge |
|---|---|---|
| HamLib | A curated, peer-reviewed library of qubit Hamiltonians (2 to 1000 qubits: molecular electronic structure, Fermi-Hubbard, Heisenberg and other models, combinatorial problems) for benchmarking algorithms and hardware | Complementary, and not something we beat. HamLib is a dataset of finished, validated Hamiltonians at a scale QMatBridge does not approach. QMatBridge works one step earlier: it keeps the representation before a qubit mapping, records which database record and calculation a Hamiltonian came from, and builds entries on demand from materials databases. The instance families HamLib lists (molecules, lattice models, combinatorial problems) do not include records from crystal databases such as the Materials Project; that gap is what QMatBridge fills. |
| OpenFermion | Fermionic and qubit operator toolkit | An export target (openfermion, lcu). The exporter is checked term by term against OpenFermion's own plane-wave Hamiltonian. |
| pymatgen, ASE | Crystal structures and analysis | Read structures; neither describes a Hamiltonian or its simulation oracle. |
| OPTIMADE | Standard query API for materials databases | Read through the generic optimade adapter; it returns structures, not simulation inputs. |
| Qualtran, pyLIQTR | Algorithm implementations and resource estimation | Consumers of the LCU data QMatBridge exports. |
Where HamLib is ahead: scale, curation, peer review, a fixed file format with benchmark instances anyone can cite, and Hamiltonians that come from real computed models. Where QMatBridge differs: provenance from a materials database, a canonical hash that makes "the same Hamiltonian" checkable, plane-wave and oracle metadata, cross-database deduplication. Where QMatBridge is limited: the Hamiltonians it exports are a small point-ion plane-wave model, not the DFT Hamiltonian of the source calculation, and only small bases are practical. A HamLib-format (HDF5) exporter would be a natural addition.
MaterialReference, HamiltonianMetadata, QMatEntryOracleMetadata, TermMetadata, ExportMetadataqmatbridge.ioQMatEntry.canonical_hash())oracle_type, index_encoding)fetch_structure_metadata_from_mp, fetch_hamiltonian_metadata_from_mp and
fetch_entry_from_mp, validated against the live APInum_plane_waves_from_ecut)read_entry_json) and a plugin registry for adapters and exportersSiteMetadata and StructureMetadata.sites (fractional coordinates)canonical_hash() covers lattice and positions when an entry records them; entries
without positions keep their old hashHamiltonianMetadata.valence_charges, schema 0.3 (released in 0.4.0; issue #13)qmatbridge.dedup)InteractionOperator exporter (point-ion plane-wave model; released in 0.6.0).npz; released in 0.4.0)qualtran / pyLIQTR / Cirq)qualtran / pyLIQTR resource analysis| Document | Purpose |
|---|---|
| CONTRIBUTING.md | How to open issues, propose schema changes, and submit pull requests |
| GOVERNANCE.md | Roles, decision process, and release policy |
| CODE_OF_CONDUCT.md | Community standards and enforcement |
| SECURITY.md | Private vulnerability reporting |
| SUPPORT.md | Where to ask questions vs. file bugs |
| GitHub Discussions | Q&A, design proposals, and architecture discussions |
Contributions are welcome at any level — bug reports, adapter implementations, documentation improvements, and benchmark additions. Please read CONTRIBUTING.md and the project vision before opening a large pull request.
QMatBridge does not yet have a journal publication. Each release is archived on Zenodo (concept DOI 10.5281/zenodo.23192772, which always resolves to the latest version), so the software itself is citable. If you use it in academic work, please cite it:
@software{qmatbridge,
author = {{dos Reis}, Roberto},
organization = {q-matsuite},
title = {{QMatBridge}: A bridge from classical materials databases to
first-quantized Hamiltonians for quantum simulation},
url = {https://github.com/q-matsuite/qmatbridge},
version = {0.6.0},
doi = {10.5281/zenodo.23192772},
year = {2026},
}
A JOSS submission is planned once the API has settled and the
project has research uses to point to; a draft paper, including the comparison with HamLib
and related tools, is in joss/. It has not been submitted.
Created and maintained by Roberto dos Reis, Department of Materials Science and Engineering, Northwestern University (@rmsreis).
MIT — see LICENSE.