Singular
https://www.singular.uni-kl.de/forum/

How to get dimension of normalization
https://www.singular.uni-kl.de/forum/viewtopic.php?f=10&t=1305
Page 1 of 1

Author:  Yoshihiko Sakai [ Thu Aug 11, 2005 5:31 pm ]
Post subject:  How to get dimension of normalization

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

Author:  Mathias Schulze [ Tue Sep 20, 2005 5:58 pm ]
Post subject: 

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

Author:  wienand [ Tue Sep 20, 2005 6:01 pm ]
Post subject: 

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

Page 1 of 1 All times are UTC + 1 hour [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/