Conventions and scope¶
Conventions and mathematical background¶
The coproduct is Δ(E) = E⊗1 + K⊗E, Δ(F) = F⊗K^{-1} + 1⊗F, Δ(K) = K⊗K.
R_matrix_V1() is the historical upper-triangular matrix
diag(q, 1, 1, q) plus the entry q - q^{-1}: the image of Drinfeld's
universal R-matrix on V_1 ⊗ V_1 multiplied by q^{1/2} (Drinfeld 1987,
§13, pp. 816–817; derivation in AUDIT.md §4). It intertwines
the opposite of the package coproduct. For the package coproduct and its
tensor-product submodules use R_matrix_V1_coproduct() (= R_21 = P R P)
and R_check_V1_coproduct() (= R P); intertwining_residual_V1(X) exposes
the check for X in E, F, K, K_inv. Both conventions satisfy the QYBE and
the Hecke relation, but their braid eigenspaces differ. The historical
function is kept unchanged so that earlier results remain reproducible.
Exact Python integers are converted to SymPy integers; floats remain
approximate. The default parameter is a generic nonzero symbol q;
identities are rational in q and hold where denominators are defined. The
defining commutator quotient excludes q = ±1 (use the classical-limit
helpers there). At roots of unity the modules need not be irreducible or
semisimple, and the Clebsch–Gordan routine assumes generic q.
For GL_q(2|1) the basis parities are (0, 0, 1). The matrix matches the
unnumbered display on printed page 261 of Çelik and Çelik, Reports on
Mathematical Physics 88 (2021) 259–269; every entry is fixed by a test.
General placements accept even (parity-preserving) operators only.
Scope and limitations¶
- Checks run on explicit finite-dimensional representations; they do not prove identities in the abstract Hopf algebra or classify representations.
- A residual that SymPy does not simplify to zero is not by itself a proof of
inequality (
simplifyis not a decision procedure). - Root-of-unity helpers are examples; the small quantum group is not
implemented.
B(n)is a combinatorial model, not a crystal-basis algorithm. - The RTT relations, Hopf superalgebra and Gauss decomposition of
GL_q(2|1), Markov traces and the Jones polynomial are not implemented. - Dense symbolic matrices grow as
3^n. Recorded timings (benchmarks/results.md; Python 3.11, SymPy 1.14, 2.1 GHz Xeon, mean of 3):
| Check | n | Matrix size | Mean time |
|---|---|---|---|
graded_yang_baxter_holds_GLq21 |
3 | 27x27 | 0.06 s |
all_Rij_GLq21 |
4 | 81x81 | 0.98 s |
local_ybe_on_four_tensor_GLq21 |
4 | 81x81 | 1.56 s |
all_Rij_GLq21 |
5 | 243x243 | 14.6 s |
| graded YBE on one triple, incl. embedding | 5 | 243x243 | 15.2 s |
At n = 5 building the embeddings dominates. n ≥ 6 has not been
benchmarked. Rerun with python benchmarks/benchmark.py (overwrites the
recorded table) or make benchmark-smoke (writes to build/).
Related software¶
GAP's QuaGroup (W. A. de Graaf)
and SageMath's QuantumGroup interface to it are far more general: they
compute with U_q(g) for semisimple g, including highest-weight modules,
R-matrices and canonical/crystal bases; SageMath also has crystals for
gl(m|n). This package does not replace them. It is a small pure-Python
layer for checking the explicit matrices of a particular text, in its basis
order and conventions, including the graded GL_q(2|1) example, which lies
outside QuaGroup's documented U_q(g) scope. For general U_q(g)
computations, use those systems. Section 6.3 of the userguide
(scipost/) tests matrices computed by QuaGroup with this package and
identifies where the two systems' conventions differ.