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