Thanks, Georg.  I know Euclidean rings, but did not recognize the
requested function as a defining property.  I usually teach them as
"admitting" the "degree" function.  So that may help me go fishing.

If anybody knows the code well enough to know such a thing is *not*
available, that'd be helpful as well.  I have a short algorithm I can
implement, but I'd rather have something that already exists, is
tested and optimized.  Right now I'm just stalling getting started
(this is a first step of a larger algorithm).

Rob

On May 25, 1:45 pm, "Georg S. Weber" <[email protected]>
wrote:
> On 25 Mai, 08:18, Rob Beezer <[email protected]> wrote:
>
> > I'm wondering if Sage has the following function for polynomials over
> > a field.  Mostly, I don't know if it is a common thing to expect, and
> > if so, I have no idea what it would be called.  So a pointer would be
> > of real help, if it  exists.  The paper I am cribbing from is about
> > matrices over ZZ, but I suspect it generalizes to any PID, so I may
> > not be translating everything exactly right (eg the degree condition).
>
> > Input:  p, q, r in F[x] with  gcd(p, q, r) = 1
>
> > Output: s  in F[x] such that  gcd(p + sq, r) = 1, degree(s) <
> > degree(r)
>
> > Thanks,
> > Rob
>
> Hi Rob,
>
> a partial (mathematicians) answer: the property in question is the
> defining property of "Euclidean rings" (look e.g. in van der Waerden's
> "Algebra I"). By definiton, such a ring is (or can be) equipped with a
> "degree" function such that the usual "Euclidean algorithm" can be
> made to work. Euclidean rings can easily shown to be PIDs (but there
> are PIDs that can't be equipped with any such a "Euclidean degree"
> function). Prime examples are the rational integers (degree ==
> absolute value) and univariate polynomial rings over fields (degree ==
> degree as polynomial). Now, what I do not know is whether in the
> hierarchy of rings in Sage, Euclidean rings show up as ancestors of
> PIDs, or whether there is some property "IsEuclidean()" and if so,
> "EuclideanDegreeFunction()", "EuclideanGCD()", "EuclideanXGCD()" or
> such. Hope this helps anyway!
>
> Cheers,
> Georg

-- 
To post to this group, send an email to [email protected]
To unsubscribe from this group, send an email to 
[email protected]
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org

Reply via email to