resolutions_cs
quiverlab.resolutions_cs ¶
quiverlab.resolutions_cs: the Chouhy-Solotar general bimodule resolution (arXiv:1406.2300 = J. Algebra 432 (2015)). Domain-generic; consumes the Plan-03 groebner.ReductionSystem and the Plan-01 core.Algebra. See the plan and docs/internals/09-chouhy-solotar.md for the mathematics (S-sequence = Bardzell associated paths of the tip monomial algebra; differentials = CS f_n leading map + order-condition-pinned correction; two collapse maps for HH_• and HH^•).
Public surface (the frozen interface Plan 05 and later consume from this package;
see the Plan-04 T14 frozen-interface note). Re-exported here so the package root
exposes the documented API — the guards/errors themselves live canonically in
quiverlab.errors.
CSResolution ¶
CSResolution(A, max_cells=4000000)
Bases: Resolution
Test-only surface: gate-free by design. It enforces admissibility and prime-field scope but does NOT run the two binding gates (assert_dd_zero / assert_order_condition) that the public path in homology.py runs; its certificate is the cross-check batteries instead. The public Algebra dispatch always routes to the gated homology.py, never here.
Source code in src/quiverlab/resolutions_cs/engine_facade.py
25 26 27 28 29 30 31 32 33 34 35 36 37 | |
ChouhySolotarResolution ¶
ChouhySolotarResolution(A, rs, max_degree, max_cells=4000000, coefficients=None)
Source code in src/quiverlab/resolutions_cs/resolution.py
13 14 15 16 17 18 19 20 21 22 23 24 25 | |
assert_order_condition ¶
assert_order_condition(upto)
CS Theorem 4.1 condition (2): every correction term's loop path b·p·b' is strictly ≺ σ.
Source code in src/quiverlab/resolutions_cs/resolution.py
261 262 263 264 265 266 267 268 269 270 271 272 273 | |
Comparison ¶
Comparison(A, window=None, max_cells=4000000)
Source code in src/quiverlab/resolutions_cs/comparison.py
69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 | |
Phi ¶
Phi(n)
Matrix of the comparison cochain map Phi# : C^n_bar -> C^n_cs (rows = CS coh basis, cols = engine bar cochain basis), int mod p.
Source code in src/quiverlab/resolutions_cs/comparison.py
317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 | |
PhiHom ¶
PhiHom(n)
Matrix of the covariant collapse A (x)_{A^e} Phi : C_n_cs -> C_n_bar (rows = engine cn_basis, cols = CS hom basis [(sigma, j)]), int mod p. A CS chain (sigma, x) goes to sum_w ( c_w . x ; w ) — the homology collapse puts the right outer factor on the left (the A^e op-twist), and the left outer factor of every lifted Phi term is 1.
Source code in src/quiverlab/resolutions_cs/comparison.py
648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 | |
Psi ¶
Psi(n)
The inverse comparison on cohomology, HH^n_cs -> HH^n_bar, as a matrix in the (CS / bar) cohomology-representative bases. Psi = (Phi#|_{HH})^{-1}: the Hom-dual of the CS projection Psi: B -> P, delivered on HH^* (the resolution- level projection is the Skoldberg splitting, a later phase).
Source code in src/quiverlab/resolutions_cs/comparison.py
356 357 358 359 360 361 362 363 364 365 366 367 | |
assert_chain_map ¶
assert_chain_map(upto=2)
The comparison morphism intertwines the two differentials, as matrix identities over GF(p):
(1) delta_cs^n Phi#n = Phi#{n+1} delta_bar^n (Phi# is a cochain map; the Hom form of b_bar Phi = Phi d_cs), for n = 0..upto-1; and (2) on HH^k the induced Phi is a two-sided isomorphism -- its inverse Psi (the CS projection on cohomology) satisfies Phi Psi = Psi Phi = id (the Hom form of d_cs Psi = Psi b_bar), for k = 0..upto.
The identities are asserted only where genuinely non-vacuous: (1) requires a nonzero delta on BOTH sides at some tested degree (guarded), and (2) is a matrix identity on the actual (nonzero) HH bases.
Source code in src/quiverlab/resolutions_cs/comparison.py
806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 | |
assert_transport_roundtrip_identity ¶
assert_transport_roundtrip_identity(upto=3)
Psi(Phi(c)) = c on HH^n for every basis class c (n = 0..upto): each CS class is transported to the bar and pulled straight back, and must land in its own CS cohomology class. Asserted on genuinely nonzero HH^n.
Source code in src/quiverlab/resolutions_cs/comparison.py
852 853 854 855 856 857 858 859 860 861 862 863 864 | |
bracket_of_cs_classes ¶
bracket_of_cs_classes(u, v, engine='auto')
The CS-side Hochschild Gerstenhaber bracket [u, v] at degree
u.degree+v.degree-1. Two routes, selected by engine exactly as
cup_of_cs_classes / cap_of_cs_classes do (Plan 51):
"transport"(and"auto"in-window, i.e. max(p, q) <= self.window): Psi( [Phi(u), Phi*(v)]_bar ) -- transport representatives to the bar, take the classical Gerstenhaber bracket there (engine.tt_calculus. gerstenhaber_bracket_cochain), and pull the result back through Phi#. This is window-bounded (a degree-n operation needs bar cochains up to degree 2n+1);"transport"keeps that refusal at any degree, so past the window it raises NotImplementedError."native"(and"auto"PAST the window): the native CS bracket assembled from two Negron-Witherspoon / Volkov homotopy liftings on the SAME lifted diagonal (resolutions_cs.bracket.native_bracket, Plan 51) -- no bar object is ever built, so it works at ANY degree over any exact Domain; in-window it is cohomologous to the transported route (the permanent anchor oracle, which fixes the sign, tests/resolutions_cs/test_native_bracket.py).
"auto" is byte-for-byte the transported behavior (and all its cross-checks)
wherever the transport does NOT refuse -- exactly max(p, q) <= self.window -- and
routes native only where the transport used to raise. The stale
"needs the CS brace/circle machinery" note is retired: the homotopy lifting IS
the brace-free native route (Plan 51 DD3).
Source code in src/quiverlab/resolutions_cs/comparison.py
565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 | |
cap_of_cs_classes ¶
cap_of_cs_classes(f, z, engine='auto')
The CS-side cap product f ∩ z (f a CS cohomology class of degree p, z a CS
homology class of degree n >= p), at degree n - p. Two routes, selected by
engine exactly as cup_of_cs_classes does:
"transport"(and"auto"in-window, i.e. max(p, n) <= self.window): transport f, z to the bar, cap there with engine.tt_calculus.cap_cochain, and pull the degree-(n-p) chain class back through the covariant collapse. This is window-bounded (a degree-n operation needs bar cochains up to degree 2n+1);"transport"keeps that refusal at any degree, so past the window it raises NotImplementedError."native"(and"auto"PAST the window): the native CS cap on the lifted diagonal (resolutions_cs.cap.native_cap, Plan 21) -- the homology-sideb·w·acollapse of the SAME Δ the native cup uses. No bar object is ever built, so it works at ANY degree; in-window it is homologous to the transported route (the permanent anchor oracle, tests/resolutions_cs/test_native_cap.py).
"auto" is byte-for-byte the transported behavior (and all its cross-checks)
wherever the transport does NOT refuse -- exactly max(p, n) <= self.window -- and
routes native only where the transport used to raise. Raises ValueError for
p > n (a cap into negative degree) on both routes.
Source code in src/quiverlab/resolutions_cs/comparison.py
760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 | |
cs_cohomology_basis ¶
cs_cohomology_basis(n)
Representative CS cocycles of a basis of HH^n_cs (int mod p vectors).
Source code in src/quiverlab/resolutions_cs/comparison.py
445 446 447 448 449 | |
cs_homology_basis ¶
cs_homology_basis(n)
Representative CS cycles of a basis of HH_n (int mod p vectors).
Source code in src/quiverlab/resolutions_cs/comparison.py
734 735 736 737 738 | |
cup_of_cs_classes ¶
cup_of_cs_classes(u, v, engine='auto')
The CS-side Hochschild cup of two CS classes, at degree u.degree+v.degree.
Two routes, selected by engine:
"transport"(and"auto"in-window, i.e. max(deg) <= self.window): Psi( Phi(u) cup_bar Phi*(v) ) -- transport representatives to the bar, cup there with the Tamarkin-Tsygan calculus (engine.tt_calculus.cup_cochain), and pull the result back through Phi#. This is window-bounded (a degree-n cup needs bar cochains up to degree 2n+1);"transport"keeps that refusal at any degree, so past the window it raises NotImplementedError."native"(and"auto"PAST the window): the native CS cup on the lifted diagonal (resolutions_cs.cup.native_cup) -- no bar object is ever built, so it works at ANY degree (Plan 20). In-window it is cohomologous to the transported route (the permanent anchor oracle, tests/resolutions_cs/test_native_cup.py).
"auto" is byte-for-byte the transported behavior (and all its internal
cross-checks) wherever the transport does NOT refuse -- exactly max(p,q) <=
self.window -- and routes native only where the transport used to raise.
Source code in src/quiverlab/resolutions_cs/comparison.py
526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 | |
hh_class_cs ¶
hh_class_cs(n, i)
The i-th representative class of HH^n on the CS side.
Source code in src/quiverlab/resolutions_cs/comparison.py
451 452 453 454 455 456 | |
hh_class_cs_hom ¶
hh_class_cs_hom(n, i)
The i-th representative class of HH_n on the CS side.
Source code in src/quiverlab/resolutions_cs/comparison.py
740 741 742 743 744 745 | |
same_cohomology_class ¶
same_cohomology_class(x, y, degree)
True iff x - y is a CS coboundary at the given degree (fields.linalg.solve against im delta_cs^{degree-1}).
Source code in src/quiverlab/resolutions_cs/comparison.py
503 504 505 506 507 508 509 510 511 512 513 514 | |
same_homology_class ¶
same_homology_class(x, y, degree)
True iff x - y is a CS boundary at the given degree.
Source code in src/quiverlab/resolutions_cs/comparison.py
747 748 749 750 751 752 753 754 755 756 757 758 | |
transport_class_bar_to_cs ¶
transport_class_bar_to_cs(bar_cocycle, n)
A bar cocycle -> the CS cocycle Phi#(bar_cocycle). Direct: Phi# is the Hom-dual (transpose) of the inclusion chain map.
Source code in src/quiverlab/resolutions_cs/comparison.py
406 407 408 409 | |
transport_class_bar_to_cs_hom ¶
transport_class_bar_to_cs_hom(bar_chain, n)
A bar n-cycle -> a CS n-cycle z with PhiHom(z) homologous to it (solve against PhiHom(CS cycles) and the bar boundaries; the homology mirror of transport_cocycle_cs_to_bar).
Source code in src/quiverlab/resolutions_cs/comparison.py
703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 | |
transport_cocycle_cs_to_bar ¶
transport_cocycle_cs_to_bar(cs_cocycle, n)
A CS cocycle c -> a bar cocycle g with Phi#(g) cohomologous to c (the inverse comparison, realised by solve against the bar cocycles and the CS coboundaries).
Source code in src/quiverlab/resolutions_cs/comparison.py
411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 | |
transport_cycle_cs_to_bar ¶
transport_cycle_cs_to_bar(z, n)
A CS n-chain -> its bar image under the covariant collapse (direct).
Source code in src/quiverlab/resolutions_cs/comparison.py
678 679 680 | |
transport_then_bar_cup ¶
transport_then_bar_cup(u, v)
A second, engine-native route to the transported cup: transport u, v to bar CLASSES, cup them with the induced structure-constant tensor (tt_calculus.cup_product_matrix), reconstruct a bar cocycle representative from the resulting class, and pull it back through Phi#. Cohomologous to cup_of_cs_classes -- a cross-check of the cochain-level and class-level cups.
Source code in src/quiverlab/resolutions_cs/comparison.py
610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 | |
cs_hh_basis ¶
cs_hh_basis(A, n, side, max_cells=4000000)
Representative (co)cycles of HH^n (side="coh") / HH_n (side="hom"): a basis of Z modulo the relevant image, each returned as a coordinate vector in C^n / C_n (the CS basis order of dim_C). Admissibility-gated; the (co)cycle space comes from fields.linalg.nullspace of the relevant differential (with the 0-dimensional-codomain edge handled -- the whole C_n is then the kernel).
Source code in src/quiverlab/resolutions_cs/homology.py
171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 | |