Processing math: 100%
Ask Your Question
1

intersection of two free submodules

asked 5 years ago

arpit gravatar image

I have two modules found as follows

 F=GF(2);R.<x,y,z> = PolynomialRing(F)
 f1 = 1+z;g1=1+y;h1=0;
 I1 = Ideal([f1,g1,h1])
 M1 = I1.syzygy_module(); M1

[ 0 0 1]

[y + 1 z + 1 0]

 F=GF(2);R.<x,y,z> = PolynomialRing(F)
 f2 = 0;g2=1+y;h2=1+x;
 I2 = Ideal([f2,g2,h2])
 M2 = I2.syzygy_module(); M2

[ 1 0 0]

[ 0 x + 1 y + 1]

Is it possible to find the intersection of two such submodules M1 and M2 in sage? Another possibility would be to find the syzygy of the module generated by vectors (f1,g1,h1) and (f2,g2,h2).

Preview: (hide)

1 Answer

Sort by » oldest newest most voted
2

answered 5 years ago

rburing gravatar image

SageMath uses Singular for this, and Singular can compute intersections of modules over polynomial rings.

I don't think this functionality has been exposed to SageMath, but we can easily do that ourselves:

def intersection(M1,M2):
    return singular.intersect(M1.transpose(),M2.transpose()).sage().transpose()

Then we can do:

sage: M3 = intersection(M1,M2); M3
[x*y + x + y + 1 x*z + x + z + 1 y*z + y + z + 1]
sage: M3[0]
(x*y + x + y + 1, x*z + x + z + 1, y*z + y + z + 1)
sage: [f.factor() for f in M3[0]]
[(y + 1) * (x + 1), (z + 1) * (x + 1), (z + 1) * (y + 1)]

Indeed, this single generator lies in the intersection:

sage: sum(a*b for (a,b) in zip(M3[0], I1.gens()))
0
sage: sum(a*b for (a,b) in zip(M3[0], I2.gens()))
0
Preview: (hide)
link

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

Stats

Asked: 5 years ago

Seen: 499 times

Last updated: Feb 18 '20