M2 icon indicating copy to clipboard operation
M2 copied to clipboard

bug in Module / Module

Open mahrud opened this issue 4 years ago • 11 comments

I believe this should be an error:

i1 : R = kk[x];

i2 : M = module ideal x^2;

i3 : N = comodule ideal x^2;

i4 : M / N

o4 = cokernel | 1 |

                            1
o4 : R-module, quotient of R

N is not a submodule of M, and they're not submodules of the same module either for (M+N)/N to make sense. The output doesn't even make sense as vector spaces, since M is the span of {x^2, x^3, ...} and N is the span of {1, x}.

mahrud avatar Nov 29 '21 11:11 mahrud

That's very old code of mine. Apparently I took an expansive view of what M/N means, namely: M and N should be subquotient modules of the same free module, and then M/N is the subquotient module whose generators are the generators of M and whose relations are obtained by combining the relations of M with the generators of N.

But, since standard mathematical practice specifies that N should be a submodule of M, fixing that would be fine.

However, notice that checking the condition may involve computing two Groebner bases for the relations of M and the relations of N, so the two modules of relations can be compared. Is it worth it to spend a lot of extra time to restrict the freedom of the user?

DanGrayson avatar Nov 29 '21 23:11 DanGrayson

Why does your definition make sense?

However, notice that checking the condition may involve computing two Groebner bases for the relations of M and the relations of N, so the two modules of relations can be compared. Is it worth it to spend a lot of extra time to restrict the freedom of the user?

Why is that? Here is a simple test:

i1 : R = kk[x];

i2 : M = module ideal x^2;

i3 : N = comodule ideal x^2;

i4 : super M, super N

       1
o4 = (R , cokernel | x2 |)

mahrud avatar Dec 01 '21 17:12 mahrud

The definition happens to be right in the case where N is a submodule of M, for then the relations of N and the relations of M generate the same submodule of the ambient free module.

DanGrayson avatar Dec 01 '21 18:12 DanGrayson

That's not what I asked. Why is your definition a sensible generalization?

mahrud avatar Dec 01 '21 18:12 mahrud

Oh, I don't think it is. A sensible generalization would use the relations of M and the relations of N and the generators of N as the relations of M/N, and would use the generators of M as the generators of M/N.

DanGrayson avatar Dec 01 '21 18:12 DanGrayson

The part I'm not sure I agree is whether relations of N should be used as relations of M/N, because as vector spaces that doesn't quite make sense to me. See the spans I mentioned in the top comment.

mahrud avatar Dec 01 '21 18:12 mahrud

Well, since in that case N is not a submodule of M, it's not going to look like something traditional. But just think about it: M/N should be generated by M ; if something is 0 in M it should also be 0 in M/N ; if something is 0 in N it should also be 0 in M/N.

DanGrayson avatar Dec 02 '21 00:12 DanGrayson

M/N should be generated by M

Sure

if something is 0 in M it should also be 0 in M/N

Okay, this follows

if something is 0 in N it should also be 0 in M/N.

This does not follow.

mahrud avatar Dec 02 '21 00:12 mahrud

Think of it this way: the identity map on the ambient free module should induce a well defined map from N to M/N, and the map should be zero. To be well defined, we need something 0 in N to be 0 in M/N.

On Wed, Dec 1, 2021, 6:43 PM Mahrud Sayrafi @.***> wrote:

M/N should be generated by M

Sure

if something is 0 in M it should also be 0 in M/N

Okay, this follows

if something is 0 in N it should also be 0 in M/N.

This does not follow.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/Macaulay2/M2/issues/2340#issuecomment-984187896, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAFK6RHITHLZ5X53YXJBAUTUO26LTANCNFSM5I63IADQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

DanGrayson avatar Dec 02 '21 01:12 DanGrayson

Think of it this way: the identity map on the ambient free module should induce a well defined map from N to M/N

This doesn't makes sense either. Does your definition work for vector spaces?

mahrud avatar Jan 11 '22 00:01 mahrud

I think it makes sense. What doesn't make sense about it? (Vector spaces are modules, so yes.)

DanGrayson avatar Jan 11 '22 02:01 DanGrayson