{{{ sage: L.<a> = CyclotomicField(5) sage: OL= L.ring_of_integers() sage: OL Maximal Order in Cyclotomic Field of order 5 and degree 4 sage: M=Matrix(OL,2,[1-a,0,a,1+a]) sage: a.parent() Cyclotomic Field of order 5 and degree 4 sage: a*M --------------------------------------------------------------------------- .... TypeError: unsupported operand parent(s) for *: 'Cyclotomic Field of order 5 and degree 4' and 'Full MatrixSpace of 2 by 2 dense matrices over Maximal Order in Cyclotomic Field of order 5 and degree 4' sage: M=Matrix(L,2,[1-a,0,a,1+a]) sage: a*M [-a^2 + a 0] [ a^2 a^2 + a] }}}
On Friday, October 13, 2017 at 10:59:13 AM UTC+2, John Cremona wrote: > > On 13 October 2017 at 08:37, Simon Brandhorst <sbran...@web.de > <javascript:>> wrote: > > The testsuite runs now. A long list of rings would be helpful. > > > > Some Pids i care about: > > ZZ[\zeta_n] of degree <= 20, (they are in fact euclidean) > > QQ(\sqrt(d)) of class number one. > > F[x] for F any field. (probably these are not really working well > enough) > > How about a PID whcih is *not* Euclidean such as Z[a] with a^2+a+5=0 > (i.e. ring if integers in Q(sqrt(-19))? > > > > > More ideas? > > > > > > > > On Friday, October 13, 2017 at 9:14:36 AM UTC+2, Simon Brandhorst wrote: > >> > >> https://trac.sagemath.org/ticket/24027 > >> > >> In order to do good testing. Do we have a nice list of PIDs? > >> > >> On Friday, October 13, 2017 at 9:07:00 AM UTC+2, Simon Brandhorst > wrote: > >>> > >>> Yep, adding doc tests over other rings is the minimum requirement. I > can > >>> do that. > >>> Yet I would print a warning message for some time. I would expect some > >>> bugs to be leftover in any case. > >>> -- Simon > >>> > >>> On Thursday, October 12, 2017 at 8:35:14 PM UTC+2, William wrote: > >>>> > >>>> Hi, > >>>> > >>>> I'm really happy to hear people are giving this code some attention! > >>>> > >>>> I wrote the original FGP package. At the time, there was no support > for > >>>> computing HNF or anything else except for ZZ, so I couldn't even test > or try > >>>> the algorithms there. I **might** have made some assumptions about > the base > >>>> ring being ZZ for simplicity due to this, but I hope I didn't. I > don't > >>>> remember -- it was a long time ago. > >>>> > >>>> The only reason this hasn't moved forward after more support for HNF > was > >>>> added for other PIDs is that I'm busy with other things these days. > I hope > >>>> somebody else will take over. If I was working on this code, I > would go > >>>> through the module and add a ton of doctests analogous to the > existing tests > >>>> over ZZ, but over some other PID's. I definitely, definitely would > NOT > >>>> even consider just enabling this functionality with a warning > message, and > >>>> crossing my fingers like Simon seems to be suggestion below. I > strongly > >>>> object to that. I endorse: > >>>> > >>>> - enable the functionality > >>>> - write a bunch of new doctests showing how (and that) it works. > >>>> - then release it publicly. > >>>> > >>>> If it does work, doing the above is maybe 1 day of work. If it > doesn't > >>>> work, so the above is much harder than 1 day of work, then we > shouldn't have > >>>> released it in the first place. > >>>> > >>>> Again, Simon, I'm really happy you're looking into this and making > this > >>>> more general functionality available. I was pretty happy with my > original > >>>> FGP implementation, which was a lot of work one summer years ago... > >>>> > >>>> -- William > >>>> > >>>> On Thu, Oct 12, 2017 at 8:48 AM Simon Brandhorst <sbran...@web.de> > >>>> wrote: > >>>>> > >>>>> O.K. I will do that. Even if we do not have enough tests. Maybe we > can > >>>>> allow it and print some > >>>>> "This code is still experimental" warning. After all it will only > get > >>>>> really stable is people use it a lot. > >>>>> > >>>>> On Thursday, October 12, 2017 at 5:06:20 PM UTC+2, Simon Brandhorst > >>>>> wrote: > >>>>>> > >>>>>> sage: L.<w> = NumberField(x^2 - x + 2) > >>>>>> sage: OL = L.ring_of_integers() > >>>>>> sage: V = OL**3; W = V.span([[0,w,0], [1,0,1-w]], OL) > >>>>>> sage: FGP_Module(V,W) > >>>>>> This works > >>>>>> > >>>>>> sage: V.quotient(W) > >>>>>> NotImplementedError: quotients of modules over rings other than > fields > >>>>>> or ZZ is not fully implemented > >>>>>> > >>>>>> > >>>>>> Well FGP looks pretty implemented to me. > >>>>>> > >>>>>> Objections? > >>>>> > >>>>> -- > >>>>> 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 post to this group, send email to sage-...@googlegroups.com. > >>>>> Visit this group at https://groups.google.com/group/sage-devel. > >>>>> For more options, visit https://groups.google.com/d/optout. > >>>> > >>>> -- > >>>> -- William Stein > > > > -- > > 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 <javascript:>. > > To post to this group, send email to sage-...@googlegroups.com > <javascript:>. > > Visit this group at https://groups.google.com/group/sage-devel. > > For more options, visit https://groups.google.com/d/optout. > -- 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 post to this group, send email to sage-devel@googlegroups.com. Visit this group at https://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.