-
-
Notifications
You must be signed in to change notification settings - Fork 656
Closed
Milestone
Description
Currently (sage 9.3), quaternion ideals do not support some of the operations one may expect them to:
- Trying to scale an ideal
I
on the left by an elementa
by writinga*I
throws aTypeError
. - Trying to scale an ideal
I
on the right by an elementa
by writingI*a
throws anAttributeError
(this seems to be because the_scale
method was renamed toscale
at some point). - Trying to compute the sum of two ideals
I
andJ
by writingI+J
"works", but it returns a generic Twosided Ideal (which, by the way, is usually incorrect) rather than a quaternion ideal. - Trying to construct a one-sided principal ideal of a quaternion order
O
by writinga*O
orO*a
throws aNotImplementedError
.
This patch makes all of these things work. There's a good chance I messed up something with respect to sage's coercion system though, so I am hoping for someone to educate me on this matter.
As a side note, given the issue with the implementation of +
inherited from generic ideals, I'm not sure we should be deriving quaternion ideals from the generic ideal class in the first place.
Depends on #32245
Component: algebra
Keywords: quaternion ideals
Author: Lorenz Panny
Branch/Commit: eef228d
Reviewer: Peter Bruin
Issue created by migration from https://trac.sagemath.org/ticket/32264