Changelog¶
All notable changes to this project are documented in this file. The format is based on Keep a Changelog, and this project follows Semantic Versioning.
Unreleased¶
Changed¶
- Record the Zenodo archive of 1.1.2 (10.5281/zenodo.23883612) in the citation metadata, BibTeX file, README and release checklist.
1.1.2 - 2026-11-02¶
Tagged as GitHub Release v1.1.2 (commit
5bd4399cb1274bd58a5e7d087ef0d14a9d160693), published on PyPI as
quantum-group 1.1.2 and
archived on Zenodo as
10.5281/zenodo.23883612.
Documentation, packaging and tooling release. The package's behaviour is
unchanged from 1.1.1: the edits to quantum_group/ and tests/ are
lint and typing clean-ups only (built-in generic annotations, sorted imports,
unused imports removed), and the test suite, doctests and Listings 1–6
give the same results.
Added¶
- Documentation site built with MkDocs (
mkdocs.yml,docs/) and published to GitHub Pages at https://tereklitahaberk.github.io/quantum-groups/, with an API reference generated from the docstrings. README sections, the changelog and the quickstart script are included from their files rather than copied. Thedocsworkflow builds it in strict mode on every push and pull request. - Ruff and mypy configuration in
pyproject.toml, alintCI job andmake lint. - Test coverage measurement with
pytest-cov: acoverageCI job with a 90 % threshold (currently 93 %) andmake coverage. - Optional dependency groups
dev(pytest, pytest-cov, ruff, mypy) anddocs(MkDocs, Material for MkDocs, mkdocstrings).
Changed¶
- The
Documentationproject URL now points to the documentation site. -
Removed unused imports from module namespaces (for example
qinquantum_group.hopf); the public interface exported byquantum_groupis unchanged. -
Make arXiv:2610.07867 (6 October 2026), DOI 10.48550/arXiv.2610.07867, the primary paper citation in the README, citation metadata, package links and Zenodo metadata.
- Distinguish the paper DOI from the versioned software archives; provide downloadable BibTeX citations for the paper and software 1.1.1.
- Add documentation and reproducibility guides, manuscript-folder guides, issue forms and a pull request template; refresh the release checklist and arXiv publication status.
- Validate citation metadata and distribution metadata in CI, and mark generated manuscript files for GitHub language statistics.
1.1.1 - 2026-09-29¶
Tagged as GitHub Release v1.1.1 (commit
7cb3877a5400c30ada625d9f577d78bf355e24a2), published on PyPI as
quantum-group 1.1.1 and
archived on Zenodo as
10.5281/zenodo.23039671.
Documentation and packaging release. The package code (quantum_group/) and
the test suite (tests/) are unchanged from 1.1.0; results computed with
1.1.0 are reproduced exactly.
Added¶
scipost/: the userguide prepared for SciPost Physics Codebases, with its worked examples (scipost/examples/, Listings 2–5) and a cross-check against data exported from GAP's QuaGroup 1.8.4 (scipost/crosscheck/, Listing 6), each with its expected output;make -C scipost checkverifies listings, outputs, references and the LaTeX build.arxiv/: the same text as a preprint in the AMSamsartlayout, generated fromscipost/paper.texbyarxiv/build.py(make -C arxiv check,make -C arxiv bundle).- CI runs Listings 2–6 against the installed wheel and compares each output
with its stored copy;
make listingsdoes the same locally, andmake paperbuilds and checks the userguide. .zenodo.json: complete metadata for the Zenodo record made from each GitHub Release.RELEASING.md: release checklist (PyPI, GitHub Release, Zenodo).
Changed¶
- Makefile:
joss-pdfandhistorical-article-pdfremoved;listingsandpaperadded. README,AUDIT.md,MANUSCRIPT_CODE_MAPPING.mdand the thesis notes point to the userguide inscipost/. - The TikZ source of Figure 1 is now
scipost/figures/figure1_workflow.tex.
Removed¶
- Material not needed for the software or the userguide; all of it remains
in the Git history (last present in commit
7aafa2c, the journal records there underarchive/jors/andarchive/joss/): the JORS submission records (jors/; submission #798 was withdrawn on 29 September 2026), the never-submitted JOSS draft (paper/),.gitattributes(its only rule excludedjors/from archives), the poster build (poster/; the final poster is kept asthesis/poster.pdf), and the thesis build pipeline, Word copies, pre-submission check notes, QA page renders and the earlier article drafts (thesis.tex,thesis_revised.tex). The thesis keeps its submitted PDF, its LaTeX sourcethesis_ytu.tex, the figures it uses,figures/generate_figures.pyandERRATA.md. The release archive shrinks from about 13 MB to about 3 MB.
1.1.0 - 2026-09-28¶
Tagged as GitHub Release v1.1.0 (commit
103d5384e70e8b0b746b296a0bdbd2d156ba8dde), published on PyPI as
quantum-group 1.1.0 and
archived on Zenodo as
10.5281/zenodo.23015576
(jors/DISTRIBUTION.md, removed in 1.1.1). The earlier Zenodo DOI
10.5281/zenodo.22997681 archives v1.0.0 only and does not contain these
changes. This is a minor release under Semantic Versioning because it adds
public functions; existing public functions keep their names and documented
outputs, except that invalid arguments (listed below) now raise errors.
Fixed¶
- Preserve exact Python integer parameters in representations, R matrices, relation checks and the public facade; reject singular defining-relation parameters (q = 0, ±1) with an explanatory error.
- Evaluate q-integers and q-binomials as Laurent polynomials, including removable-singularity specializations at q = ±1 and roots of unity.
- Return actual leading terms for E asymptotics; validate root orders N > 2.
- Check counit identities using the public counit values.
- Require even operators and compatible dimensions for graded embeddings.
- Correct coproduct/spectral interpretation, source pagination and manuscript
scope. Record corrections to archived thesis artifacts in
thesis/ERRATA.md.
Added¶
- Explicit coproduct-compatible fundamental R and braid matrices
(
R_matrix_V1_coproduct,R_check_V1_coproduct) and intertwining residual/Boolean APIs (intertwining_residual_V1,intertwining_holds_V1); historical R outputs are unchanged. quantum_group.linalgwith the sharedkron,kron_listandis_zero_matrixhelpers;quantum_group.__version__.- Clear
TypeError/ValueErrorfor invalid input: non-integral or negative highest weights, sizes and indices; mismatched or non-square generator matrices inverify_on_representation; non-d²×d²R-matrices; invalid tensor positions, tensor powers and parity lists;q = 0inQuantumGroupSL2. - Regression tests for full CG basis changes, source matrix entries, graded component embeddings, wrong-sign controls, exact specializations, the shared helpers and every new validation path.
examples/quickstart.py(the README quickstart, run by CI from outside the source tree against an installed wheel).examples/sample_verification.pywith its expected outputexamples/sample_verification_expected.txt, including an ungraded-swap negative control; CI compares the output after installing the wheel.- CI job installing the wheel and running the examples and the full test suite on Linux, macOS and Windows.
.github/workflows/publish.yml: manual PyPI publication of an explicitly named commit with Trusted Publishing (no stored token, no GitHub Release); it checks the version, builds, runstwine check, installs the wheel in a clean environment and compares the sample output before uploading, and waits for approval of thepypienvironment.jors/: Journal of Open Research Software metapaper and submission records (not part of the installed package).AUDIT.mdwith derivations, source limitations and novelty assessment.
Changed¶
python -m pytestnow runs the tests and the package doctests (configured inpyproject.toml); CI, README, CONTRIBUTING andmake checkuse it.- CI tests Python 3.10–3.13, the oldest supported dependencies, and a wheel install. Dependency lower bounds: SymPy ≥ 1.10, NetworkX ≥ 2.6, Matplotlib ≥ 3.5.
- Packaging metadata uses an SPDX licence expression (
license = "MIT",license-files) instead of the deprecated table form and licence classifier; building requires setuptools ≥ 77. - Trove classifier
Development Status :: 4 - Beta(was 5 - Production/Stable), reflecting the convention corrections made after 1.0.0. - Cross-module use of the private helpers
hopf._kron,r_matrix._is_zeroandsupergroup_gl21._is_zero_matrix_symbolicreplaced byquantum_group.linalg; the private names remain as aliases. - Makefile:
make pdfreplaced bymake historical-article-pdf(it builds the earlier Turkish article, not the JOSS paper); newcheck,quickstart,benchmark-smokeandjoss-pdftargets. - Documentation, docstrings and comments translated to English; JOSS paper revised to the current JOSS section structure.
Removed¶
- Generated or redundant files:
outputs/V4_combined.png(written bymain.py), the stale local paper preview inoutput/pdf/, the unzipped poster build directoryposter/_ytu_build/(identical to the committed.pptx), LaTeX list filesthesis/thesis_ytu.lof/.lot, an unused ORCID icon, and redundant thesis draft/export variants. Thesis QA page renders moved fromqa_pdf_pages/tothesis/qa_pdf_pages/.
1.0.0 - 2026-09-27¶
First release, prepared for submission to the Journal of Open Source Software.
Added¶
- MIT
LICENSE. pyproject.toml: the package installs asquantum-groupwithpip install -e .; test and notebook dependencies are the optional extras[test]and[notebooks].- GitHub Actions workflow running
pyteston Python 3.10, 3.11 and 3.12. CONTRIBUTING.mdandCITATION.cff.benchmarks/benchmark.pywith recorded timings (benchmarks/results.md,benchmarks/results.csv) for theGL_q(2|1)checks up to 243x243 matrices.- README sections "Mathematical Background" (derivation of the
U_q(sl_2)R-matrix and its coproduct convention) and "Related Work" (comparison with GAP QuaGroup and SageMath). - Derivation, convention note and references in the
R_matrix_V1docstring. - JOSS paper draft:
paper/paper.mdandpaper/paper.bib.
Changed¶
jones_skein_relation_checkrenamed tohecke_skein_relation_check. The function verifies the Hecke relation, not a Jones polynomial.- README performance notes now quote measured timings.
requirements.txtnow installs the package itself (-e .[test,notebooks]).
Deprecated¶
jones_skein_relation_check: still available, but emits aDeprecationWarning. Usehecke_skein_relation_check.
Removed¶
poster/node_modules/is no longer tracked by git.
Pre-1.0 development (April-June 2026)¶
Initial implementation developed for the undergraduate thesis Quantum Grup
Yapılarının Python Ortamında Modellenmesi ("Modelling Quantum Group Structures
in Python"; thesis in Turkish):
- U_q(sl_2) representations, relations, Hopf structure, tensor products
and R-matrix checks;
- GL_q(2|1) graded Yang-Baxter verification;
- limits, crystal graphs and visualization;
- the pytest suite.