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