> An example in Magma:
> > A<x,y> := PolynomialRing(Integers(), 2);
> > B<X,Y> := PolynomialRing(Rationals(),2);
> > f := -y^2 - y + x^3 + 7*x + 1;
> > fx := Derivative(f,x);
> > fy := Derivative(f,y);
> >
>
> > // Since the output is 1, I know that there are no generic
> > // singularities.
> >
> > // To look at the singularities of the arithmetic surface,
> > // I need to do the corresponding computation over ZZ:
> > I := GroebnerBasis([f, fx, fy]);
> > I;
>
> [
> x + 20607,
> y + 11314,
> 22627
> ]
>
> > Factorization(I[3]);
>
> [
> <11, 3>,
> <17, 1>
> ]
Just a word on state of the art in SAGE:
sage: A.<x,y> = PolynomialRing(Integers(), 2, order="degrevlex")
sage: f = -y^2 - y + x^3 + 7*x + 1
sage: fx = f.diff(x)
sage: fy = f.diff(y)
# Singular has an option called intStrategy to support calculations over ZZ,
# however it doesn't help here.
sage: A._singular_(force=True)
sage: singular.option("intStrategy")
sage: I = Ideal([f,fx,fy])
sage: print singular.option()
sage: I.groebner_basis("singular:std")
//options: redTail redThrough intStrategy redefine loadLib usage prompt
[1]
# Macaulay2 (to install that optional package type: "sage -i
macaulay2-20061014") however supports GBs over ZZ:
sage: I = Ideal([f,fx,fy])
sage: I.groebner_basis("macaulay2:gb") # actually the default over ZZ
[22627, -11313 + y, -2020 + x]
sage: factor(22627)
11^3 * 17
--
name: Martin Albrecht
_pgp: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x8EF0DC99
_www: http://www.informatik.uni-bremen.de/~malb
_jab: martinralbrecht@xxxxxxxxxxxxx
--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-devel@xxxxxxxxxxxxxxxx
To unsubscribe from this group, send email to
sage-devel-unsubscribe@xxxxxxxxxxxxxxxx
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/
-~----------~----~----~----~------~----~------~--~---
|