Skip to content

Repository files navigation

Extended Quantum Computing Patterns

A 61-pattern catalog of quantum software patterns, introduced in Mining Quantum Software Patterns in Open-Source Projects (arXiv:2601.06281).

Browse the rendered catalog at https://qpa-quantum-patterns.web.app.

What this is

This repository is the research artifact for the catalog itself. It does not contain a copy of the Pattern Atlas pattern content. Instead, catalogs/qpa-extended-quantum-patterns.json is a delta manifest describing how the extended catalog is derived from the original 59-pattern Quantum Computing Patterns language:

Section Count Meaning
retained_patterns 52 Patterns kept from the original language, referenced by name
consolidations 2 Original patterns merged into a single broader pattern
additions 9 Full pattern definitions contributed by this work

52 retained + 9 added = 61 patterns.

Of the nine additions, two are consolidations of existing material and seven are new patterns:

  • Data Encoding — consolidates six encoding-specific patterns (amplitude, angle, basis, matrix, QuAM, and QRAM encoding)
  • Basis Change — generalizes Quantum Fourier Transformation
  • New: Quantum Amplitude Estimation · Linear Combination of Unitaries · Quantum Arithmetic · Quantum Logical Operators · Circuit Construction Utility · Domain Specific Application · Hamiltonian Simulation

Each addition is a complete pattern with Intent, Alias, Context, Forces, Solution, Result, Examples, Related Patterns, and Known Uses, plus an illustration in catalogs/icons/.

The original Quantum Computing Patterns language is never modified. The importer only ever creates or updates a separate pattern language.

Repository layout

catalogs/
  qpa-extended-quantum-patterns.json   the catalog manifest
  icons/                               illustrations for the nine entries
scripts/build_qpa_catalog.py           read-only validator / importer
tests/                                 unit tests for the importer
firebase.json, .firebaserc             Firebase Hosting config for the site
DEPLOYMENT.md                          build, deploy, and backup procedure

Validating the catalog

The importer runs read-only by default and requires no Pattern Atlas instance for its unit tests:

python3 -m unittest discover -s tests -v

To validate against a running local Pattern Atlas:

python3 scripts/build_qpa_catalog.py

Applying changes is explicit, repeatable, and blocked while any entry is still a draft (review_status other than approved):

python3 scripts/build_qpa_catalog.py --apply

Authentication, when the Atlas requires it, is read from the PATTERN_ATLAS_TOKEN environment variable and is never committed.

Rebuilding the website

Rendering uses a separate static-site generator, kept in its own repository so that this artifact stays free of tooling:

git clone https://github.com/ramalhoneilson/pattern-atlas-static.git
cd pattern-atlas-static

python3 -m static_patternatlas \
  --atlas-url='http://localhost:1977/patternatlas' \
  --language='Extended Quantum Computing Patterns' \
  --catalog-icons=../extended-quantum-computing-patterns/catalogs/icons \
  --planqk \
  --out site

See DEPLOYMENT.md for the full deploy procedure.

Citation

If you use this catalog, please cite the paper. Machine-readable metadata is in CITATION.cff.

@misc{qpa-extended-quantum-patterns,
  title  = {Mining Quantum Software Patterns in Open-Source Projects},
  author = {Ramalho, Neilson C. L. and da Silva, Erico A. and
            Accioly, Anthony and de Souza, Higor Amario and
            Chaim, Marcos Lordello},
  year   = {2026},
  eprint = {2601.06281},
  archivePrefix = {arXiv}
}

License

The catalog manifest references pattern names from the Quantum Computing Patterns language by Pattern Atlas; their pattern text is not redistributed here.

About

61-pattern quantum software pattern catalog from 'Mining Quantum Software Patterns in Open-Source Projects' (arXiv:2601.06281)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages