Ask Your Question
2

Normalization (integral closure)

asked 2011-01-15 21:17:17 +0100

Oliver gravatar image

I tried doing some calculations that involve integral closures, but I seem to run into problems:

Say I define a ring as a quotient ring: for example the quotient ring $\mathbb{C}[x,y]/(y^3-x^2)$. Then if I use the integral_closure option, he rejects me. As far as I can tell this is because he treats quotient rings as Commutative Rings rather than, say, integral domains, and so it doesn't have the option of integral closures.

I'm sure there's a way to do such things. What is it? Is the idea that we have to apply some functor so that that ring would be treated as an object in a different category?

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted
2

answered 2011-01-17 13:50:53 +0100

William Stein gravatar image

I don't think there is any easy-to-use functionality in Sage for computing the integral closure of a polynomial quotient ring. What you would want would be for the following to work:

sage: R.<x,y> = QQ[]
sage: S = R.quotient(y^2 - x^3); S
Quotient of Multivariate Polynomial Ring in x, y over Rational Field by the ideal (-x^3 + y^2)  
sage: S.integral_closure()

but of course it doesn't. The actual hard work to make this possible is already in Sage, via Singular, as documented here. Here is a complete example that shows actually computing the integral closure of S via singular:

sage: R.<x,y> = QQ[]
sage: I = singular(R.ideal([y^2 - x^3])); I
-x^3+y^2
sage: singular.load('normal.lib')
sage: I.normal()
[1]:
   [1]:
      //   characteristic : 0
//   number of vars : 3
//        block   1 : ordering dp
//                  : names    T(1)
//        block   2 : ordering dp
//                  : names    x y
//        block   3 : ordering C
[2]:
   [1]:
      _[1]=x^2
      _[2]=y

If you read the documentation I linked to above, you might see what the output means (after 3 minutes, I didn't). To make this a nice easy-to-use function in Sage, you would have to decide on exactly what the output should be in Sage, then implement a function for Sage that (under the hood) would just call the normal command in Singular. This would be a great project to get you into Sage development.

edit flag offensive delete link more
1

answered 2012-12-13 04:04:43 +0100

pkoprowski gravatar image

I believe this can be easily computed with Macaulay-2, as documented here: http://www.math.uiuc.edu/Macaulay2/do... (BTW, this is yet another reason to integrate Sage with Macaulay by default, not only as a optional package.)

edit flag offensive delete link more

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: 2011-01-15 21:17:17 +0100

Seen: 1,400 times

Last updated: Dec 13 '12