On Mon, 12 Dec 2022, 23:58 'Travis Scrimshaw' via sage-devel, < sage-devel@googlegroups.com> wrote:
> The entire computation in PermutationGroup.molien_series() all appears to > be done in libgap. Sage's wrapper around characters is never really invoked > at all AFAICS. Here is a curious data point: > > sage: PG = PermutationGroup(["(1,2,3,4,5,6,7)","(5,6,7)"]) > sage: g = PG._libgap_() > sage: pi = g.NaturalCharacter() > sage: pi += g.TrivialCharacter() * len(PG.fixed_points()) > sage: pi2 = libgap.VirtualCharacter(g.CharacterTable(), pi) > sage: pi2.MolienSeries() > ( 1-z^3+z^6-z^9+z^12-z^15+z^18 ) / ( > (1-z^7)*(1-z^5)*(1-z^4)*(1-z^3)^2*(1-z^2)*(1-z) ) > sage: PG.molien_series() > (-x^18 + x^15 - x^12 + x^9 - x^6 + x^3 - 1)/(x^25 - x^24 - x^23 - x^22 + > x^21 + 2*x^20 + x^19 - x^17 - x^16 - x^15 - x^13 + x^12 + x^10 + x^9 + x^8 > - x^6 - 2*x^5 - x^4 + x^3 + x^2 + x - 1) > > I just ran the code in PG.molien_series() directly first, and then calling > it now works. > I can't reproduce this, to me it Molien series of a virtual character breaks. sage: PG = PermutationGroup(["(1,2,3,4,5,6,7)","(5,6,7)"]) sage: pi = PG._libgap_().NaturalCharacter() sage: M = libgap.VirtualCharacter(PG._libgap_().CharacterTable(), pi).MolienSeries() --------------------------------------------------------------------------- GAPError Traceback (most recent call last) Cell In [6], line 1 ----> 1 M = libgap.VirtualCharacter(PG._libgap_().CharacterTable(), pi).MolienSeries() File /mnt/opt/Sage/sage-dev/src/sage/libs/gap/element.pyx:2678, in sage.libs.gap.element.GapElement_MethodProxy.__call__() 2676 return GapElement_Function.__call__(self, * ([self.first_argument] + list(args))) 2677 else: -> 2678 return GapElement_Function.__call__(self, self.first_argument) 2679 2680 File /mnt/opt/Sage/sage-dev/src/sage/libs/gap/element.pyx:2524, in sage.libs.gap.element.GapElement_Function.__call__() 2522 try: 2523 sig_GAP_Enter() -> 2524 sig_on() 2525 if n == 0: 2526 result = CALL_0ARGS(self.value) GAPError: Error, ^ cannot be used here to compute roots (use `RootInt' instead?) sage: pi.MolienSeries() ( 1-z^3+z^6-z^9+z^12-z^15+z^18 ) / ( (1-z^7)*(1-z^5)*(1-z^4)*(1-z^3)^2*(1-z^2)*(1-z) ) I also don't understand what it means mathematically, Molien series of a virtual character. Is it just the difference of Molien series of the respective characters? Why do you even need a virtual character here - you have a "normal" character. GAP docs are silent on whether this works, and it seems it does not, at least in GAP 4.12: gap> v:=VirtualCharacter(CharacterTable(PG),-pi); VirtualCharacter( CharacterTable( Alt( [ 1 .. 7 ] ) ), [ -7, 0, 0, -3, -1, -1, -4, 0, -2 ] ) gap> MolienSeries(v); # this hangs for me - so it's a GAP bug, they should check it out As to your example, it might be some caching in (lib)GAP that trips you up: in GAP docs you see "The return value of MolienSeries stores a value for the attribute MolienSeriesInfo (72.12-2)." > Best, > Travis > > On Friday, December 9, 2022 at 8:49:55 PM UTC+9 dim...@gmail.com wrote: > >> On Fri, Dec 9, 2022 at 2:55 AM 'Travis Scrimshaw' via sage-devel >> <sage-...@googlegroups.com> wrote: >> > >> > By running the code in molien_series() directly in Sage, I can do the >> computation, but not by calling the method. So it seems to be something >> within Sage with the interface with libgap. >> >> not really, it's just the character tables in Sage that need work, for >> a proper conversion to use libgap - they cause the issue with >> moilen_series. >> The following (avoiding Sage's characters all together) works just fine: >> >> sage: p=PermutationGroup(["(1,2,3,4,5,6,7)","(5,6,7)"]) >> sage: >> ms=libgap(p).PermutationCharacter([1..7],libgap.OnPoints).MolienSeries(); >> ms >> ( 1-z^3+z^6-z^9+z^12-z^15+z^18 ) / ( >> (1-z^7)*(1-z^5)*(1-z^4)*(1-z^3)^2*(1-z^2)*(1-z) ) >> sage: type(ms) >> <class 'sage.libs.gap.element.GapElement'> >> sage: ms.sage() >> (x_1^18 - x_1^15 + x_1^12 - x_1^9 + x_1^6 - x_1^3 + 1)/(-x_1^25 + >> x_1^24 + x_1^23 + x_1^22 - x_1^21 - 2*x_1^20 - x_1^19 + x_1^17 + >> x_1^16 + x_1^15 + x_1^13 - x_1^12 - x_1^10 - x_1^9 - x_1^8 + x_1^6 + >> 2*x_1^5 + x_1^4 - x_1^3 - x_1^2 - x_1 + 1) >> sage: type(ms.sage()) >> <class 'sage.rings.fraction_field_element.FractionFieldElement'> >> >> I'm working on https://trac.sagemath.org/ticket/26902 (fixing >> character tables would be a part of it) - and it needs more hands. >> Dima >> > >> > Best, >> > Travis >> > >> > >> > On Friday, December 9, 2022 at 8:55:15 AM UTC+9 guru....@gmail.com >> wrote: >> >> >> >> Hi, >> >> i ran into a bug while trying to compute the molien series of a >> permutation group. >> >> >> >> SageMath version 9.3, Release Date: 2021-05-09, Using Python 3.7.10. >> >> Operating system: Windows 11, 64-bit >> >> >> >> It works fine for most permutation groups but calling: >> >> >> >> PermutationGroup(["(1,2,3,4,5,6,7)","(5,6,7)"]).molien_series() >> >> >> >> gives an GAP Error which doesn't make sense to me in the given >> context. >> >> >> >> GAPError: Error, ^ cannot be used here to compute roots (use `RootInt' >> instead?) >> >> >> >> Similar examples which also produce the same bug are: >> >> >> >> PermutationGroup(["(1,2,3,4,5,7)","(5,6,7)"]).molien_series() >> >> PermutationGroup(["(1,2,3,4,7)","(5,6,7)"]).molien_series() >> >> PermutationGroup(["(1,2,3,4,7)","(5,7,8)"]).molien_series() >> >> >> >> Thanks for looking into it. >> >> Kind regards, >> >> Jonas >> >> >> >> >> > -- >> > You received this message because you are subscribed to the Google >> Groups "sage-devel" group. >> > To unsubscribe from this group and stop receiving emails from it, send >> an email to sage-devel+...@googlegroups.com. >> > To view this discussion on the web visit >> https://groups.google.com/d/msgid/sage-devel/2c1fcce4-946f-43cd-9ae4-a04c73434192n%40googlegroups.com. >> >> > -- > You received this message because you are subscribed to the Google Groups > "sage-devel" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to sage-devel+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/sage-devel/42c6be87-614e-4a21-9273-91948f0c6216n%40googlegroups.com > <https://groups.google.com/d/msgid/sage-devel/42c6be87-614e-4a21-9273-91948f0c6216n%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/CAAWYfq1j4DwqrpviMi9ZT-J5%3DNbRKyFPT0QF%3DGSrDE2MuYdfPA%40mail.gmail.com.