| 1 | initial version |
Here's a simple example over $\mathbb{Q}$ with $f(x) = x^3+1$ and $g(x) = x^2-1$. First, define a polynomial ring over $\mathbb{Q}$:
sage: R.<x> = PolynomialRing(QQ,'x')
sage: f = x^3+1; g = x^2-1
sage: f.gcd(g)
x+1
One can also do this with extension fields. (By the way, there's probably a faster way to do the following.) First, let's construct $\mathbb{Q}(\sqrt{2},\sqrt{3})$ using the ring R constructed above
sage: p = x^2-2 # using the x defined above
sage: q = x^2-3
sage: K.<a,b> = QQ.extension([p,q])
sage: print a^2, b^2 # testing variable assignment
2 3
Now create a polynomial ring over K, define some elements, and compute their GCD:
sage: S.<x> = PolynomialRing(K,'x')
sage: f = a*x^2 * (x-1); g = a*x^2 * (x-b)
sage: f.gcd(g)
x^2
Hrm, it seems like there's either a bit of a bug, here, or I constructed something incorrectly. (The result should be $\sqrt{2}x^2$.) I'll submit this as a bug report. However, it seems like you'll at least get a common factor "modulo" the elements used to create the extension field.
sage: f/x^2
a*x - a
sage: g/x^2
a*x - b*a
So perhaps by inspection you can compute the GCD. Hopefully this will be resolved soon.
Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.