Opened 3 years ago

# Implement symmetric functions in super space

Reported by: Owned by: zabrocki major sage-8.4 combinatorics CHAs, sf, super partitions, IMA coding sprint alauve, darij, zabrocki, tscrim Mike Zabrocki N/A public/symsuperspace/25163 (Commits) 0c5eb095eb7523405b4a200c72ff29ac34055989 #25132, #25133

### Description

Symmetric functions in superspace is the Hopf algebra of super partitions (ticket #25132). It has the symmetric functions as a sub-algebra.

• [DLM06] P. Desrosiers, L. Lapointe, P. Mathieu, Classical symmetric functions in superspace, J. Algebr Comb. (2006) 24:209--238, :arXiv:0509408
• [JL16] M. Jones, L. Lapointe, Pieri rules for Schur functions in superspace, :arXiv:1608.08577

### comment:1 Changed 2 years ago by zabrocki

• Branch set to public/symsuperspace/25163
• Commit set to 38280f78641f626acc1689e9b15d9dd33d802e6d
• Dependencies changed from #25132 to #25132, #25133
• Milestone changed from sage-8.2 to sage-8.3
• Type changed from PLEASE CHANGE to enhancement

A first implementation. I merged #25133 so that the CHAS directory is there.

Last 10 new commits:

 ​d41f19c Corrected doc tests, moved theorem_10 as a method, removed super_compositions ​de0f90b doc changes and rename one pieri rule ​139b594 add superpartition to the doc ​0e7c0c9 doc corrections, added to list of catalog_partitions and enumerated_sets, pyflakes ​89a1764 Refactored class to use ClonableArray. Other reviewer changes. ​c83f8da corrected reference ​9b7cac1 Merge branch 'public/superpartitions' into public/symsuperspace/25163 ​4184561 first implementation ​de1c9c4 remove spaces ​38280f7 import statements, documentation lists, minor correction

### comment:2 Changed 2 years ago by git

• Commit changed from 38280f78641f626acc1689e9b15d9dd33d802e6d to e7d352b10cd33670fedbec98175e4e13fa737ec4

Branch pushed to git repo; I updated commit sha1. New commits:

 ​f901766 import statements, doc test corrections ​2389b91 change to superpartition.py to fix bug ​26ad8c2 fixed doc tests ​f68ebfd documentation of SFSS ​e72edee progress on documentation ​e7d352b introduction documentation

### comment:3 Changed 2 years ago by git

• Commit changed from e7d352b10cd33670fedbec98175e4e13fa737ec4 to c9cacf9737d2e1c2f1241315bab2d2415de50472

Branch pushed to git repo; I updated commit sha1. New commits:

 ​bc276dd Merge branch 'public/combinat/implement_wqsym-25133' of git://trac.sagemath.org/sage into public/combinat/implement_wqsym-25133 ​c9cacf9 Merge branch 'public/symsuperspace/25163' of git://trac.sagemath.org/sage into public/symsuperspace/25163

### comment:4 Changed 2 years ago by tscrim

Just did a trivial rebase over the trivial conflict in #25133.

### comment:5 Changed 2 years ago by git

• Commit changed from c9cacf9737d2e1c2f1241315bab2d2415de50472 to e3d942f5b1556fc9ef412f81353ed3826ed4524d

Branch pushed to git repo; I updated commit sha1. New commits:

 ​03c6e39 general documentation ​e3d942f Merge branch 'public/symsuperspace/25163' of trac.sagemath.org:sage into public/symsuperspace/25163

### comment:6 Changed 2 years ago by git

• Commit changed from e3d942f5b1556fc9ef412f81353ed3826ed4524d to fef75637cb6f245bc0895f817eaa40b15cc3c787

Branch pushed to git repo; I updated commit sha1. New commits:

 ​680bd70 Partitions are SuperPartitions, correct typo in options ​fef7563 document m-product functions

### comment:7 Changed 2 years ago by git

• Commit changed from fef75637cb6f245bc0895f817eaa40b15cc3c787 to e581b38a7fa209a99dcfdad2e956e0df91bac29b

Branch pushed to git repo; I updated commit sha1. New commits:

 ​2978e35 more doc tests for Schur bases ​633987b for consistency -* is -star ​fc3b2b2 cleanup of documentation ​e581b38 remove unimplemented method

### comment:8 Changed 2 years ago by zabrocki

• Status changed from new to needs_review

I think that this is ready to go.

### comment:9 Changed 2 years ago by darij

Some bikeshedding on the module-level doc:

Let P_{\Theta_n, X_n} be the polynomial ring in two sets of variables
\Theta_n = \theta_1, \theta_2, \ldots, \theta_n and
X_n = x_1, x_2, \ldots, x_n


The "n" here clashes with the "n" in the later definitions of p_{n;} et al; maybe use a capital N instead? Or work with infinitely many variables right away, if this is possible?

where the first set of variables anti-commute


If this includes squaring to 0, then please say so.

The symmetric group
acts diagonally on this polynomial ring and the symmetric functions in
superspace are isomorphic to the invariants in this polynomial ring.


I'd put a comma before the "and" so it's not misread as "on this polynomial ring and the symmetric functions".

    p_{(;i)} p_{(;j)} = p_{(;j)} p_{(;i)} \qquad
p_{(i;)} p_{(;j)} = p_{(;j)} p_{(i;)} \qquad
p_{(i;)} p_{(j;)} = - p_{(j;)} p_{(i;)}


And p_{(i;)}^2 = 0, I assume.

    p_{(; n)} = p_n \quad e_{(; n)} = e_n \quad h_{(; n)} = h_n


Please use , \quad, not just \quad.

from Theta_n


Don't forget the backslash. (And again, that's an "N", not an "n".)

bosnic degree


    h_{(n; )} = \sum_{\Lambda \in SPar(n|1)} m_\Lambda \qquad


Again, use a comma before the \qquad.

\left<\left< p_\Lambda, p_\Gamma \right>\right> = \delta_{\Lambda\Gamma} z_{\Lambda^s}
where z_{\Lambda^s} is the usual constant z_\lambda which is the size of


What is \Lambda^s?

in pairs.  For all \Lambda, \Gamma in SPar(n|m) ,


in -> \in

As with the space of symmetric functions, there is an involution \omega
that for all super partitions \Lambda, \omega(h_\Lambda) = e_\Lambda.


Hopf algebra and the coproduct is defined bby declaring that the power sum


"by".

I don't quite get: How is e_\Lambda defined for a strict partition \Lambda? Just by multiplying e_{n;} over all fermionic entries n and e_{;n} over all bosonic entries n? In what order?

### comment:10 Changed 2 years ago by git

Branch pushed to git repo; I updated commit sha1. New commits:

 ​4c26ad5 Darij's suggestions for documentation

### comment:11 Changed 2 years ago by git

• Commit changed from 4c26ad5edf5f5df4235eac8af4011d141122f9fd to e9055047f4c462294f0bd89d67ef6551845009c0

Branch pushed to git repo; I updated commit sha1. New commits:

 ​e905504 n -> N in two places

### comment:12 Changed 2 years ago by git

• Commit changed from e9055047f4c462294f0bd89d67ef6551845009c0 to 2c67a04b4f5b541768474dc2b43924817b3c5ba4

Branch pushed to git repo; I updated commit sha1. New commits:

 ​2c67a04 mostly missing periods

### comment:13 Changed 2 years ago by git

• Commit changed from 2c67a04b4f5b541768474dc2b43924817b3c5ba4 to 82f92cc6e8468d21d995114f717cda6d4d73eb6d

Branch pushed to git repo; I updated commit sha1. New commits:

 ​82f92cc minor corrections to doc

### comment:14 Changed 2 years ago by git

• Commit changed from 82f92cc6e8468d21d995114f717cda6d4d73eb6d to 58fb4a41a268c6a2e7122f36733c3b026045991e

Branch pushed to git repo; I updated commit sha1. New commits:

 ​58fb4a4 correction of a few typos

### comment:15 Changed 2 years ago by git

• Commit changed from 58fb4a41a268c6a2e7122f36733c3b026045991e to 9966e882b0992dbe7011dee65390b3d3a2810d87

Branch pushed to git repo; I updated commit sha1. New commits:

 ​9966e88 manual merge with develop

### comment:16 Changed 2 years ago by gh-darijgr

+    class Schur_sb(CombinatorialFreeModule, BindableClass):
+        r"""
+        The Schur basis arising from q=t=0 specialization of Macdonald.

+    class Schur_s(CombinatorialFreeModule, BindableClass):
+        r"""
+        The Schur-star basis arising from q=t=0 specialization of Macdonald.

+    class Schur_b(CombinatorialFreeModule, BindableClass):
+        r"""
+        The Schur-bar basis as the q=t=\infty specialization of Macdonald.

+    class Schur(CombinatorialFreeModule, BindableClass):
+        r"""
+        The Schur-bar basis as the q=t=\infty specialization of Macdonald.


Can it be that these descriptions are messed up? Why is the "Schur" doc claiming to be Schur-bar? Shouldn't Schur be from q=t=0, not from q=t=\infty?

Also, is there no simpler way to define these bases than by Macdonald specialization? I'd expect some Berezinian analogue of the Jacobi-Trudi formulas?

### comment:17 Changed 2 years ago by git

• Commit changed from 9966e882b0992dbe7011dee65390b3d3a2810d87 to 832dca6a320c1880c846477ca36971c03654f719

Branch pushed to git repo; I updated commit sha1. New commits:

 ​832dca6 change the description of the Schur bases

### comment:18 Changed 2 years ago by zabrocki

You are right the descriptions were confused there. The Schur-star and Schur-star-bar are related to these by duality and I looked in the paper and noticed that they are not listed as a specialization so I cut that description.

Also, is there no simpler way to define these bases than by Macdonald specialization? I'd expect some Berezinian analogue of the Jacobi-Trudi formulas?

That would be welcome. Here they are implemented by Pieri rules which are given in [JL2016].

### comment:19 Changed 2 years ago by git

• Commit changed from 832dca6a320c1880c846477ca36971c03654f719 to b7104306ee3f7a24b8f04f123590242d145d9590

Branch pushed to git repo; I updated commit sha1. New commits:

 ​b710430 added reference [BFM2015] and examples from that reference

### comment:20 Changed 2 years ago by git

• Commit changed from b7104306ee3f7a24b8f04f123590242d145d9590 to d50bdb386250c606d4e32c0135f85154f4019ac7

Branch pushed to git repo; I updated commit sha1. New commits:

 ​d50bdb3 missing def for monomial basis, mark test long

### comment:21 Changed 2 years ago by git

• Commit changed from d50bdb386250c606d4e32c0135f85154f4019ac7 to f8e9a967c1086cbe84d858d89ceb00ea24054dfa

Branch pushed to git repo; I updated commit sha1. New commits:

 ​f8e9a96 doc test for anti-homomorphism; delete not particularly useful method

### comment:22 Changed 2 years ago by gh-darijgr

+            The product of monomial basis elements is calculated for a
+            fixed fermionic partition.


What does that mean?

What is a BindableClass? (no, I don't get the doc at https://doc.sagemath.org/html/en/reference/misc/sage/misc/bindable_class.html ) and why is it being used here?

+where \Lambda is a super partition with femionic sector m.


feRmionic

Is this a Hopf algebra or a super-Hopf algebra? I.e., is there a twist involved in the bialgebra axiom? My suspicion is that it is, because otherwise the square-zero relations p_{(i;)}^2 = 0 would contradict the primitivity of the p_{(i;)} wrt the coproduct. But do you ever tell this to Sage? If you don't, I doubt that it's correctly computing coproducts of non-generators! Also, of course, this should be said in the doc. (Is the Hopf structure anywhere in the literature?)

+                Test if super partitions an element all have the same bi-degree.


Probably should be "if the super-partitions in the support of self have the same bi-degree".

Maybe decide between "symmetric generators" and "bosonic generators" -- currently you seem to be using both languages (or do they mean different things?).

### comment:23 Changed 2 years ago by git

• Commit changed from f8e9a967c1086cbe84d858d89ceb00ea24054dfa to 0b7c97f6c675e9f2bc876e6479ef42b858a12cfe

Branch pushed to git repo; I updated commit sha1. New commits:

 ​0b7c97f corrections to documentation

### comment:24 Changed 2 years ago by zabrocki

I used BindableClass because that seems to be what all bases of chas need to inherit (see WQSymBasis_abstract in wqsym.py, FSymBasis_abstract in fsym.py and bases in ncsf.py and qsym.py). I tried deleting the BindableClass and the command h = self.Complete() raised a TypeError: __init__() takes exactly 2 arguments (1 given). And, no, I do not understand that documentation either.

My suspicion is that it is, because otherwise the square-zero relations p_{(i;)}^2 = 0 would contradict the primitivity of the p_{(i;)} wrt the coproduct.

As far as I can tell this is a Hopf algebra and not a super-Hopf algebra. There is no posted paper that I can point to, but I do have a non-posted preprint. However I will continue to check this carefully because I am reviewing the paper. Can you explain your suspicion more carefully? Perhaps there is an error in the paper.

### comment:25 Changed 2 years ago by gh-darijgr

In characteristic 0, any nilpotent primitive element of a (non-super) Hopf algebra must be 0. More strongly: If a is a primitive element of a Hopf algebra in characteristic 0, then the powers of a are linearly independent.

### comment:26 Changed 2 years ago by zabrocki

Well then. Something is not right with the universe. No test I've performed has identified a problem with the Hopf structure. I'll need to check it against the proof. Can you provide me a reference?

### comment:27 Changed 2 years ago by alauve

How about Appendix A here: https://arxiv.org/pdf/1105.5572.pdf

### comment:28 Changed 2 years ago by gh-darijgr

You are probably not testing enough. The error should materialize when you take the coproduct of a product of p_{n;}s. Basically, the coproduct of p_{n;}p_{m;} should switch signs if you swap n with m; but if I compute it naively in a Hopf algebra, I get

p_{n;} p_{m;} \otimes 1 + p_{n;} \otimes p_{m;} + p_{m;} \otimes p_{n;} + 1 \otimes p_{n;} p_{m;},

which does not swap signs.

Further typos: "Summetric", "fermonionic".

### comment:29 Changed 2 years ago by git

• Commit changed from 0b7c97f6c675e9f2bc876e6479ef42b858a12cfe to 0c5eb095eb7523405b4a200c72ff29ac34055989

Branch pushed to git repo; I updated commit sha1. New commits:

 ​0c5eb09 typos in documentation

### comment:30 follow-up: ↓ 32 Changed 2 years ago by zabrocki

What do you mean by swap signs? The sign does arise in the product. Does this seem like it is not correct?

sage: p[-4,-2].coproduct()
p[; ] # p[4, 2; ] + p[2; ] # p[4; ] + p[4; ] # p[2; ] + p[4, 2; ] # p[; ]
sage: (p[-2]*p[-4]).coproduct()
-p[; ] # p[4, 2; ] - p[2; ] # p[4; ] - p[4; ] # p[2; ] - p[4, 2; ] # p[; ]


Aaron, looking at Proposition 36, "Let K denote the associated graded Hopf algebra with respect to the coradical filtration of H." In order to compare to that proof, do I need to know what the coradical filtration of symmetric functions in super space is?

### comment:31 Changed 2 years ago by gh-darijgr

sage: (p[-2]*p[-4]).coproduct()
-p[; ] # p[4, 2; ] - p[2; ] # p[4; ] - p[4; ] # p[2; ] - p[4, 2; ] # p[; ]


I'm fairly sure you don't want this to be the result. The general version of this formula would be

sage: (p[-i]*p[-j]).coproduct()
-p[; ] # p[j, i; ] - p[i; ] # p[j; ] - p[j; ] # p[i; ] - p[j, i; ] # p[; ]


but this doesn't survive swapping i with j.

The fact that I'm cited is incomplete, by the way (sorry): It should require a to be nonzero, and the base ring to be a field.

### comment:32 in reply to: ↑ 30 Changed 2 years ago by alauve

Aaron, looking at Proposition 36, "Let K denote the associated graded Hopf algebra with respect to the coradical filtration of H." In order to compare to that proof, do I need to know what the coradical filtration of symmetric functions in super space is?

Probably not. The braiding (by -1) enters during use of twist maps. So axioms for coalgebra will be unchanged, I believe. This means it's the same as the coradical filtration for ordinary symmetric functions? (I have not looked at the coproduct defined...) This means the kth level would have basis p[lam;mu] where the sum of the lengths of lam and mu is less-or-equal to k. See Sec. 2.3 http://pi.math.cornell.edu/~maguiar/a.pdf for more on q-Hopf algebras, though they do not address coradical filtration.

I expect the associated graded q-Hopf algebra will be embeddable in a q-shuffle Hopf algebra, which is also a domain.

### comment:33 Changed 2 years ago by zabrocki

• Status changed from needs_review to needs_work

Thank you. You spotted a very subtle and potentially fatal mistake on my part. I missed the line that says (f_1 \otimes g_1) (f_2 \otimes g_2) = (-1)^{ab} f_1 f_2 \otimes g_1 g_2 where a and b are the fermionic degrees of g_1 and f_2. If I am not mistaken then, this is a super-Hopf algebra and I need to use the super algebra category: see #18044 and the discussion in #18675 .

Is this still a CHA?

### comment:34 Changed 2 years ago by zabrocki

If I am not mistaken, the coproduct for a super-coalgebra is not implemented. Is this worth doing first on a separate ticket?

### comment:35 Changed 2 years ago by tscrim

Likely relevant: #25603.

### comment:36 Changed 2 years ago by gh-darijgr

Maybe also move the coproduct out of this ticket for the time being -- this ticket is already too large for comfortable reviewing...

### comment:37 Changed 2 years ago by zabrocki

I'm debating taking the coproduct out an moving it to another ticket. I want to see what happens with #25603 because I would like to know what needs to be done in order to implement it.

Identifying this mistake helped me locate an error in the paper. I pulled in #25603 and tried to verify that this was a Hopf-super-algebra (or super-Hopf-algebra, whatever). The formula for the antipode in the paper used the fact that S(f*g) == S(g)*S(f) to derive the antipode on the power-sum basis and this was leading to doc-test failures on _test_antipode. I don't know why, but _test_antipode passed on other bases even though the antipode is computed by coercion.

### comment:38 Changed 2 years ago by vdelecroix

• Milestone changed from sage-8.3 to sage-8.4

update milestone 8.3 -> 8.4

Note: See TracTickets for help on using tickets.