Processing math: 100%

First time here? Check out the FAQ!

Ask Your Question
1

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

asked 2 years ago

narodnik gravatar image

updated 2 years ago

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

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

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=y2x lies in the ideal I=u where u=x2.

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

But sage is wrong. y2xx2 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 (x2).

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

Preview: (hide)

1 Answer

Sort by » oldest newest most voted
1

answered 2 years ago

Max Alekseyev gravatar image

updated 2 years ago

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.

Preview: (hide)
link

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 ( 2 years ago )

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 ( 2 years ago )

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

Max Alekseyev gravatar imageMax Alekseyev ( 2 years ago )

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: 2 years ago

Seen: 216 times

Last updated: Jul 28 '22