Post new topic Reply to topic  [ 3 posts ] 
Author Message
 Post subject: How to get dimension of normalization
PostPosted: 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: [email protected]
Posted in old Singular Forum on: 2001-06-21 05:02:17+02


Report this post
Top
  
Reply with quote  
 Post subject:
PostPosted: 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: [email protected]
Posted in old Singular Forum on: 2001-06-21 11:50:03+02


Report this post
Top
  
Reply with quote  
 Post subject:
PostPosted: Tue Sep 20, 2005 6:01 pm 
Site Admin

Joined: Fri Apr 29, 2005 12:02 am
Posts: 24
Location: Germany, Kaiserslautern
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


Report this post
Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 3 posts ] 

You can post new topics in this forum
You can reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

It is currently Fri May 13, 2022 11:00 am
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group