Ask Your Question
1

How to test element is in multivariate function field's ideal

asked 2022-07-28 07:20:00 +0100

narodnik gravatar image

updated 2022-07-28 08:05:29 +0100

I'm trying to calculate the valuation of a function in a the function field of a coordinate ring $K(V) = { f / g : f, g \in K[V] }$.

My first attempt is to construct the coordinate ring $K[V] = K[x, y] / \langle C(x, y) \rangle$

sage: K.<x, y> = Integers(11)[]
sage: S = K.quotient(y^2 - x^3 - 4*x)
sage: S
Quotient of Multivariate Polynomial Ring in x, y over Ring of integers modulo 11 by the ideal (10*x^3 + y^2 + 7*x)

Now I want to see if a function $f = y - 2x$ lies in the ideal $I = \langle u \rangle$ where $u = x - 2$.

sage: I = S.ideal(x - 2)
sage: S(y - 2*x) in I
False

But sage is wrong. $y - 2x \in \langle x - 2 \rangle$ as shown by the following code:

sage: f1 = S(y - 2*x)
sage: f1
9*xbar + ybar
sage: f2 = S(
....:     (x - 2) * (
....:         (x - 2)^2*(y + 4) - 5*(x - 2)*(y + 4) - 2*((x - 2)^3 - 5*(x - 2)^2 + 5*(x - 2)
....:     ))) / S((y + 4)^2)
sage: f2
9*xbar + ybar
sage: bool(f1 == f2)
True

As plainly visible, f2 has the factor $(x - 2)$.

How can I calculate this in sage without having to factor the polynomial myself?

I assume this is because we need an actual function field in sage, but I get singular errors when I attempt to turn S into a fraction field.

sage: K.<x, y> = Integers(11)[]
sage: S = K.quotient(y^2 - x^3 - 4*x)
sage: R = FractionField(S)
# ...    
RuntimeError: error in Singular function call 'primdecSY':
ASSUME failed:   ASSUME(0, hasFieldCoefficient(basering) );
error occurred in or before primdec.lib::primdecSY_i line 5983: `  return (attrib(rng,"ring_cf")==0);`
leaving primdec.lib::primdecSY_i (5983)

Is there a way to construct local rings and maximal ideals? Or a way to calculate valuations (order of vanishing for poles and zeros) on elliptic curves?

Thanks

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
1

answered 2022-07-28 15:43:23 +0100

Max Alekseyev gravatar image

updated 2022-07-28 17:17:56 +0100

First, the multivariate ideal machinery in Sage is known to be buggy over non-fields, and Integers(11) is not recognized as a field. Replace it with GF(11).

Second, since computation of f2 involves division by S((y + 4)^2), you indeed need to define S as a fraction field:

K.<x, y> = GF(11)[]
S = K.quotient(y^2 - x^3 - 4*x).fraction_field()

to get S(y - 2*x) in I.

edit flag offensive delete link more

Comments

But why now does it say True for all powers of the ideal? The valuation of this function on the curve is 2, so the output here is wrong:

sage: S(y - 2*x) in I
True
sage: S(y - 2*x) in I^2
True
sage: S(y - 2*x) in I^3
True

The last line should be false. In fact it says they are all the same ideal:

sage: K.<x, y> = GF(11)[]
sage: S = K.quotient(y^2 - x^3 - 4*x).fraction_field()
sage: I = S.ideal(x - 2)
sage: I
Principal ideal (1) of Fraction Field of Quotient of Multivariate Polynomial Ring in x, y over Finite Field of size 11 by the ideal (-x^3 + y^2 - 4*x)
sage: I^3
Principal ideal (1) of Fraction Field of Quotient of Multivariate Polynomial Ring in x, y over Finite Field of size 11 ...
(more)
narodnik gravatar imagenarodnik ( 2022-07-29 18:23:32 +0100 )edit

For example:

sage: K.<x, y> = GF(11)[]
sage: S = K.quotient(y^2 - x^3 - 4*x)
sage: I = S.ideal(x - 2)
sage: I
Ideal (xbar - 2) of Quotient of Multivariate Polynomial Ring in x, y over Finite Field of size 11 by the ideal (-x^3 + y^2 - 4*x)
narodnik gravatar imagenarodnik ( 2022-07-30 07:33:26 +0100 )edit

No surprise here. Since 1/(x-2) is in S, the ideal I in fact represents the whole S.

Max Alekseyev gravatar imageMax Alekseyev ( 2022-07-30 07:38:10 +0100 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 2022-07-28 07:20:00 +0100

Seen: 201 times

Last updated: Jul 28 '22