Read-only forum archive

How to get dimension of normalization

How to get dimension of normalization

Yoshihiko Sakai · Thu Aug 11, 2005 5:31 pm

Dear SINGULAR Team,
I am not familiar with programing on SINGULAR.
So, maybe simple question...

R is a base ring and I is an ideal in R.
S is normalization of R/I.
I want to calculate the dimension of S as vector space
over R/I.

I typed
ring R = 0, (x,y), dp;
ideal I = polynomial in x and y;
list S = normal( I );
def S1 = S[1]; setring S1; norid; normap;
def S2 = ...

Then How do I?


email: sakai@ocsi.co.jp
Posted in old Singular Forum on: 2001-06-21 05:02:17+02

How to get dimension of normalization

Mathias Schulze · Tue Sep 20, 2005 5:58 pm

Dear Yoshihiko Sakai!

> R is a base ring and I is an ideal in R.
> S is normalization of R/I.
> I want to calculate the dimension of S as vector space
> over R/I.
>
> I typed
> ring R = 0, (x,y), dp;
> ideal I = polynomial in x and y;
> list S = normal( I );
> def S1 = S[1]; setring S1; norid; normap;
> def S2 = ...
>
> Then How do I?
>

In SINGULAR, you always choose a current basering. If you type
> ring R=...;
you define a ring and set it as current basering. Ring related data as polynomials, ideals, and modules, you are going to define now, will be visible only if this ring is your current basering. There are also many ring related commands wihch automatically refer to your current basring. You can type
basering;
to see your current basering and
setring(S);
to change your current basring to S. In your example, you should type
setring(S1);
Then S1 is your current basering and S1/norid is the normalization. Then type
> dim(std(norid));
to compute the Krull dimension of S1/norid. Note that 'dim' is such a ring related command, as mentioned above, refering to the current basering.
What may be useful to you is that you can type e.g.
> ?dim;
to get a description of the procedure 'dim' and
> example dim;
to get an example. Using 'normap', you may define the map m:R->S1 and map data as follows:
> map m=R,normap;
> ideal J=m(J);
Here I assume that you defined an ideal J in R before.

email: mschulze@mathematik.uni-kl.de
Posted in old Singular Forum on: 2001-06-21 11:50:03+02

How to get dimension of normalization

wienand · Tue Sep 20, 2005 6:01 pm

Dear Yoshihiko Sakai,

you may compute the delta invariant by using the function normal from "normal.lib" with the parameter "wd":

Code:
LIB "normal.lib";
ring s=0,(x,y),dp;
ideal i=(x-y^2)^2 - y*x^3;
nor=normal(i,"wd");
==>
==> // 'normal' created a list of 1 ring(s).
==> // nor[1+1] is the delta-invariant.
==> // To see the rings, type (if the name of your list is nor):
==>      show( nor);
==> // To access the 1-st ring and map (similar for the others), type:
==>      def R = nor[1]; setring R;  norid; normap;
==> // R/norid is the 1-st ring of the normalization and
==> // normap the map from the original basering to R/norid
//the delta-invariant
nor[size(nor)];
==> 3


Sincerely,

The Singular Team