Constructing maps to non-free modules is slow

14 views
Skip to first unread message

Theo Sandstrom

unread,
Dec 2, 2025, 8:36:52 PM (13 days ago) Dec 2
to Macaulay2
My basic problem is as follows. M is a fairly complex quotient module over a hypersurface ring R, and I would like to construct an element of M (really, I just need the i-th generator). When I call M_i, the construction is immensely slow (measured in minutes, which is orders of magnitude slower than what would be practical for my application). While I can construct a map f from R^1 to the free cover of M almost instantly, the call to map(M, R^1, f) is again very slow. 

Can anybody illuminate what is happening under the hood that is slowing this computation down? I had hoped that the call to map would consist only of an inexpensive update to the target key on f, but evidently I am missing something. Is it reducing the columns of f to some "minimal form" in M? In general, is there any way around this slowdown?

For context, R=GF(5)[x1..x6]/(x1^3+..x6^3) and M is presented by a roughly 5000x5000 matrix. R also has a non-standard grading (each variable has degree 5), but I don't expect that to be relevant...

Any suggestions are much appreciated.


Mahrud Sayrafi

unread,
Dec 3, 2025, 2:30:48 AM (13 days ago) Dec 3
to maca...@googlegroups.com
I agree that all of this should be instantaneous, and there's a discussion about it at issue #3035, with some details about what's happening under the hood.

--
You received this message because you are subscribed to the Google Groups "Macaulay2" group.
To unsubscribe from this group and stop receiving emails from it, send an email to macaulay2+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/macaulay2/b3747060-ebab-42db-a8f5-fb7903e0fcacn%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages