On Saturday, December 17, 2022 at 7:42:34 PM UTC Dima Pasechnik wrote: On Sat, Dec 17, 2022 at 2:49 PM Dima Pasechnik <dim...@gmail.com> wrote: > > See https://trac.sagemath.org/ticket/34854 to fix this.
has been merged, should be in Sage 9.8. Ready for review > > On Sat, Dec 17, 2022 at 2:01 PM Dima Pasechnik <dim...@gmail.com> wrote: > > > > > > > > On Mon, 12 Dec 2022, 23:58 'Travis Scrimshaw' via sage-devel, < sage-...@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+...@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. -- 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/a5423580-dccb-4293-b95a-6847a99b8f39n%40googlegroups.com.