{{{
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 <[email protected]
> <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 <[email protected]>
> >>>> 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 [email protected].
> >>>>> To post to this group, send email to [email protected].
> >>>>> 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 [email protected] <javascript:>.
> > To post to this group, send email to [email protected]
> <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 [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.