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.