M2
M2 copied to clipboard
bug in Module / Module
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}.
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?
Why does your definition make sense?
However, notice that checking the condition may involve computing two Groebner bases for the relations of
Mand the relations ofN, 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 |)
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.
That's not what I asked. Why is your definition a sensible generalization?
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.
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.
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.
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.
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.
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?
I think it makes sense. What doesn't make sense about it? (Vector spaces are modules, so yes.)