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

Elements in local rings.
https://www.singular.uni-kl.de/forum/viewtopic.php?f=10&t=1369
Page 1 of 1

Author:  VInay Wagh [ Thu Aug 11, 2005 5:32 pm ]
Post subject:  Elements in local rings.

HI,

I am having a problem for the computations in the local ring. Whenever I define an element in a local ring which is of the form f/g, gnotin m, where m is the max ideal of R. and the current working ring is Rm (localization of R by m).

For example,
> ring R=0,x,ds; // S=Q[x], m=<x>, R=Sm.
> poly f=1/(x+1);
> f;
0


Can somebody tell me why this is happening? Also is it possible to write an element of a local ring in the form of Nr/Dr. (Nr: numerator, Dr: denominator)


Regards

Vinay

P.S.
I have a request for the forum-administrator, that is it possible to send a copy of each reply/post to the concerned person by e-mail. (A mailing list would be an ideal situation, since an internet connection is not required for this continuously.)


email: vinay_wagh@yahoo.com
Posted in old Singular Forum on: 2003-04-28 11:45:24+02

Author:  lossen [ Thu Sep 22, 2005 7:38 pm ]
Post subject: 

Dear Vinay,

the problem is the following: when inverting units in local rings, in general, the result is a power series (not a polynomial). Hence, it can only be computed up to a certain order. In your case,

1/(x+1) = 1-x+x^2-x^3+x^4-x^5+x^6...... .

There is a command "invunit(u,n)" in the library "mondromy.lib" which returns the series inverse of u up to order n (or a zero polynomial if u is no series unit).

For more details, you may have a look to the book "A Singular Introduction to Commutative Algebra" (by Greuel and Pfister), Chapter 6 -- there, you will also find a procedure showing how to compute the inverse up to a given order (Example 6.1.3) and much more on computing in local rings.

Now, some words about your computation: in K[x], you can perform a division with remainder:

f = a * g + r ( with deg(r) < deg g ).

What the "/" command returns is just the factor "a" (hence, in your case "0", while "x/(x+1)" would return "1").
This is generalized by the "division" command: it computes a division with remainder

u * f = a * g + r, u a unit

and returns the list "a,r,u" -- in your case
(1+x) * 1 = 1 * (1+x) + 0 :

> division (1,1+x);
[1]:
_[1,1]=1
[2]:
_[1]=0
[3]:
_[1,1]=1+x

Christoph Lossen
(Singular Team)

email: lossen@mathematik.uni-kl.de
Posted in old Singular Forum on: 2003-05-06 12:03:54+02

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