Macaulay2 / M2

The primary source code repository for Macaulay2, a system for computing in commutative algebra, algebraic geometry and related fields.
https://macaulay2.com
343 stars 231 forks source link

Inverse of a Variable in M2 #1440

Open fereshteh-bahadory opened 4 years ago

fereshteh-bahadory commented 4 years ago

Hi, I am trying to write a polynomial ring with both symmetric and skew-symmetric variables. So I wrote this

L=RR[x1,x2,e1,e2, Inverses=>true, MonomialOrder=>Lex]/(e1*e2+e2*e1)

Now how can I write the inverse of for example x_1? I want to define a map like (e_1x_1^{-1}e_2)^{-1}.

DanGrayson commented 4 years ago

It works for me:

Macaulay2, version 1.16
with packages: ConwayPolynomials, Elimination, IntegralClosure, InverseSystems, LLLBases, MinimalPrimes, PrimaryDecomposition, ReesAlgebra, TangentCone, Truncations

i1 : L=RR[x1,x2,e1,e2, Inverses=>true, MonomialOrder=>Lex]/(e1*e2+e2*e1)
-- warning: experimental computation over inexact field begun
--          results not reliable (one warning given per session)
stdio:1:54:(3): error: cannot compute Groebner basis of ideal over a Laurent polynomial ring, ie. with Inverses=>true

i2 : x1^-1

       -1
o2 = x1

o2 : RR  [x1, x2, e1, e2]
       53

By the way, your ring is commutative.

fereshteh-bahadory commented 4 years ago

It works for me:

Macaulay2, version 1.16
with packages: ConwayPolynomials, Elimination, IntegralClosure, InverseSystems, LLLBases, MinimalPrimes, PrimaryDecomposition, ReesAlgebra, TangentCone, Truncations

i1 : L=RR[x1,x2,e1,e2, Inverses=>true, MonomialOrder=>Lex]/(e1*e2+e2*e1)
-- warning: experimental computation over inexact field begun
--          results not reliable (one warning given per session)
stdio:1:54:(3): error: cannot compute Groebner basis of ideal over a Laurent polynomial ring, ie. with Inverses=>true

i2 : x1^-1

       -1
o2 = x1

o2 : RR  [x1, x2, e1, e2]
       53

By the way, your ring is commutative.

Thanks for your answer. I see now that it is commutative. I have tried some other rings such as RR[x,y, Inverses => true][e1,e2, SkewCommutative=>true] but I get an error, stdio:8:3:(3): error: Inverses => true not compatible with GRevLex

How can I generate a polynomial ring in which two of the variables are skew-symmetric?

I have also tried the following ring, with the following error:

i9 : T=RR[x1,x2, Inverses => true,MonomialOrder=>Lex]**RR[e1,e2, SkewCommutative=>true] stdio:10:49:(3): error: in tensor product of two monoids, one has Inverses=>true and the other doesn't

DanGrayson commented 4 years ago

I tried this, but it doesn't work:

i3 : R = ZZ[x,x',Inverses=>true, MonomialOrder=>Lex][e,e',SkewCommutative=>{e,e'}]
stdio:3:5:(3): error: in tensor product of two monoids, one has Inverses=>true and the other doesn't

@mikestillman -- can the engine handle rings with some of the variables skew commutative and some of them having inverses? Or is it all or nothing?