1. Macaulay2 internals and benchmarks
-
Parellelization
It would be nice to have parallel computation in the M2 core.Problem 1.1.
How to parellize Macaulay2? Do we need a new garbage collector to do this? Which algorithms are inherently parallelizable and which need more thought? -
In addition, the "top level" user interface would benefit from parellization.
Problem 1.2.
What features at the user level should be parallelized? For which computations do we want to run multiple algorithms simultaneously and take whichever finishes first? Can we do other calculations in the same instance while one calculation is running? -
Benchmarks
By a "benchmark" we mean an interesting calculation (e.g., one occurring in someone’s research) which pushes the capabilities of M2. These are especially useful if they come in a natural family, which we can compute up to some degree but not beyond at the moment.Problem 1.3.
What "benchmark" calculations should be tracked in M2? What is the best way to keep track of these benchmarks (e.g., wiki, on the website, etc.)? -
Other internal improvements
The current "basis" method can be quite slow in situations where it should be nearly instantaneous (see Github issue #2899).Problem 1.4.
How can we implement a faster basis calculation without breaking anything? -
Currently, "kernel", "Hom", and several other commands have no options for "DegreeLimit".
Problem 1.5.
What commands should we add "DegreeLimit" to, and how can we better document "DegreeLimit" and its expected behavior in these functions?
Cite this as: AimPL: Macaulay2: expanded functionality and improved efficiency, available at http://aimpl.org/macaulay2efie.