opposite
quiverlab.modules.opposite ¶
The opposite algebra A^op as a first-class Algebra (Plan 23, Tier 1b).
A^op is the SAME k-space with the reversed product x .^op y := y . x. We
realize it with a reversed quiver, transposed structure constants, reversed basis
labels, and reversed relations, so that all the module machinery (projectives,
resolutions, Hom, rad/top/soc) runs over A^op unchanged.
Path composition is left-to-right (Assem-Simson-Skowronski): reversing an arrow
a: s -> t to a: t -> s flips source/target, AND the product order flips
(T^op[i][j] = T[j][i]). The two flips are consistent: for paths p, q,
reverse(q.p) = reverse(p) * reverse(q) in Q^op, matching p .^op q = q . p.
The index set is PRESERVED (index i in A <-> index i in A^op, same vector,
reversed label). This makes the duality D and the transpose Tr coordinate-clean
(modules/duality.py) and avoids re-running Groebner completion for A^op.
opposite_algebra ¶
opposite_algebra(A)
Return A^op as an Algebra (reversed quiver, transposed structure constants).
Requires the quiver/path provenance (structure-constant-only algebras carry no
path basis to reverse). Cached and cross-linked so opposite_algebra is an
exact involution: opposite_algebra(opposite_algebra(A)) is A.
Source code in src/quiverlab/modules/opposite.py
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | |
reverse_label ¶
reverse_label(label)
Reverse a quiverlab basis label: 'e_v' is fixed, 'abc' -> 'cba'.
Source code in src/quiverlab/modules/opposite.py
23 24 25 26 27 | |