M2
M2 copied to clipboard
Complexes pr 3
This pull request includes the next set of minor package changes to get them working with Complexes (the current plan is to make this the default in the April 2025 M2 release, removing the old ChainComplex type from the Core).
Pinged authors: do these changes look ok to you? (They should all be minor: changing ChainComplex to Complex, etc)
KustinMiller: @jankoboehmEliminationMatrices: @lrtbuseEagonResolutions: @eisenbudQuillenSuslin: @bbarwick @bstoneExteriorIdeals,ExteriorModules: @lucamataBettiCharacters,HighestWeights: @galettof
After this pull request, there are not too many packages left to transfer to work directly with the new Complexes package.
@mikestillman (cc: @bstone) The QuillenSuslin.m2 changes look good to me. Thanks!
Dear Mike,
Changes in EliminationMatrices seem good to me; thank you very much for taking care of that.
Best, Laurent.
Le 19 oct. 2024 à 14:50, Mike Stillman @.***> a écrit :
This pull request includes the next set of minor package changes to get them working with Complexes (the current plan is to make this the default in the April 2025 M2 release, removing the old ChainComplex type from the Core).
Pinged authors: do these changes look ok to you? (They should all be minor: changing ChainComplex to Complex, etc)
KustinMiller: @jankoboehm https://github.com/jankoboehm EliminationMatrices: @lrtbuse https://github.com/lrtbuse EagonResolutions: @eisenbud https://github.com/eisenbud QuillenSuslin: @bbarwick https://github.com/bbarwick @bstone https://github.com/bstone ExteriorIdeals, ExteriorModules: @lucamata https://github.com/lucamata BettiCharacters, HighestWeights: @galettof https://github.com/galettof After this pull request, there are not too many packages left to transfer to work directly with the new Complexes package.
You can view, comment on, or merge this pull request online at:
https://github.com/Macaulay2/M2/pull/3526
Commit Summary
dee3272 https://github.com/Macaulay2/M2/pull/3526/commits/dee327221561d7f74faf033268e00c4dbff4a2c1 Very minor change to NormalToricVarieties to get it working with Complexes. Also discovered: Complexes doesn't play well with rings with degree length 0. cc90018 https://github.com/Macaulay2/M2/pull/3526/commits/cc90018407a5174b68879673d471f7a0d4db0237 changed several res to freeResolution in NormalToricVarieties 4f17a11 https://github.com/Macaulay2/M2/pull/3526/commits/4f17a11b6923d56ebcaa7b8412edd72956e09318 Minor changes to KustinMiller to get it working with Complexes 79d3abe https://github.com/Macaulay2/M2/pull/3526/commits/79d3abe6d0f45d2f21098617b79b2fa3580f1a96 Minors changes to KustinMiller package to get it working with Complexes db3f902 https://github.com/Macaulay2/M2/pull/3526/commits/db3f9023917d9e290befee144ec28038096dd21b fixed load paths in Complexes 8c8f76f https://github.com/Macaulay2/M2/pull/3526/commits/8c8f76fd53c4cc58acd9d46649629a1a92b068e7 removed calls to length Complex in resolutionMap 8eefd51 https://github.com/Macaulay2/M2/pull/3526/commits/8eefd514d02fc449ae0e13d1cd0f1771565519be added formation for Ext modules in Complexes 2caeddf https://github.com/Macaulay2/M2/pull/3526/commits/2caeddf14879577d8ecf06cca1b3462452e998bf changed map(Complex, Complex, ZZ) to allow multiplication maps 1c121d0 https://github.com/Macaulay2/M2/pull/3526/commits/1c121d0673e7622f61b4c67a0ff8c905050b1ce0 fixed yonedaExtension for multigraded rings bfa9bd8 https://github.com/Macaulay2/M2/pull/3526/commits/bfa9bd820a848f994bec888bbef3cccd55b623cb Minor changes to EliminationMatrices to get it working with Complexes. 194e81b https://github.com/Macaulay2/M2/pull/3526/commits/194e81b4cb1fb5d8301967d1bc74c7888d9626ee Minor changes to EliminationMatrices to get it working with Complexes 3b529cc https://github.com/Macaulay2/M2/pull/3526/commits/3b529ccd7ce5a33f5552e7aa28139971a178fee9 Minor changes to EagonResolution to get it working with Complexes a4f8c14 https://github.com/Macaulay2/M2/pull/3526/commits/a4f8c14a5877e31ef9f274ebf77649310ce0bfab Minors changes to EagonResolution package to get it working with Complexes f2102aa https://github.com/Macaulay2/M2/pull/3526/commits/f2102aa91c6788c7ce4c6210e3780a155f85c0ef Minors changes to QuillenSuslin to get it working with Complexes c3fba6f https://github.com/Macaulay2/M2/pull/3526/commits/c3fba6fc57a25cbb1299728439bca20822308e43 Minor changes to the QuillenSuslin package to get it working with Complexes 5592408 https://github.com/Macaulay2/M2/pull/3526/commits/5592408354b7e7d33b8c6402669b34bc9d064fe5 minors changes to ExteriorIdeals package to get working with Complexes (added new optional argument to minimalBettiNumbers) 0eefb20 https://github.com/Macaulay2/M2/pull/3526/commits/0eefb20a45fc580f74a594825d9cb331eb84cc38 minors changes to ExteriorModules package to get working with Complexes (added new optional argument to minimalBettiNumbers and bassNumbers) 7a7ed25 https://github.com/Macaulay2/M2/pull/3526/commits/7a7ed2540682e45bee782a2b2a71dc1cc3aa9031 minor changes to the packages ExteriorIdeals and ExteriorModules to get them working with Complexes b0b3e18 https://github.com/Macaulay2/M2/pull/3526/commits/b0b3e18797c2eb4b38690930b7327d4ac0f3715c minor changes to BettiCharacters package to get working with Complexes. 68f86dc https://github.com/Macaulay2/M2/pull/3526/commits/68f86dc91fc07540af49261f233215f1dea4f299 minor changes to HighestWeights package to get working with Complexes. Also removed definition of global symbol 'Range' cfe3b5d https://github.com/Macaulay2/M2/pull/3526/commits/cfe3b5df5611c250e83022df063f97786c37f35b Minor changes to get BettiCharacters and HighestWeights to work with Complexes File Changes (18 files https://github.com/Macaulay2/M2/pull/3526/files) M M2/Macaulay2/packages/BettiCharacters.m2 https://github.com/Macaulay2/M2/pull/3526/files#diff-97cb56135f07f783888582c0e9876ba72c554de363cfaf1a3ef265572740a8cd (55) M M2/Macaulay2/packages/Complexes.m2 https://github.com/Macaulay2/M2/pull/3526/files#diff-41eef49f83232110d3b7483847dc8caf7fea573766fe3c10d86629e464dc56ff (18) M M2/Macaulay2/packages/Complexes/ChainComplex.m2 https://github.com/Macaulay2/M2/pull/3526/files#diff-1b9d61f4149faf4fd94206d4ce9cf0478295270cdcf0fc19e800f6f411bd653e (9) M M2/Macaulay2/packages/Complexes/ChainComplexMap.m2 https://github.com/Macaulay2/M2/pull/3526/files#diff-28092cb4901a2971c73f23753713d43ec7c1764c359550c21bf58ee26b2d9972 (10) M M2/Macaulay2/packages/Complexes/ChainComplexTests.m2 https://github.com/Macaulay2/M2/pull/3526/files#diff-bdcedca072894115717a501afe3de5bc8d5f006def182e47b4036f4966154b33 (6) M M2/Macaulay2/packages/EagonResolution.m2 https://github.com/Macaulay2/M2/pull/3526/files#diff-f0114c256b65f5fb3cf2cdc7d15800500cc8ee0c46e8a5abe6681ffd3904ae0b (92) M M2/Macaulay2/packages/EliminationMatrices.m2 https://github.com/Macaulay2/M2/pull/3526/files#diff-e78bd551d80f8ba8a62711b440d7d62305ec588d7b9fdcf18cc464a6ed46d51d (163) M M2/Macaulay2/packages/ExteriorIdeals.m2 https://github.com/Macaulay2/M2/pull/3526/files#diff-a92b487ebc1a9955f04c02d60629dfc48c2831f0e89fa59330a6d40a66b51398 (21) M M2/Macaulay2/packages/ExteriorModules.m2 https://github.com/Macaulay2/M2/pull/3526/files#diff-c1130916edee9637791285069512c86f5f01cd1f8d9937f300e89ec4afe4e7c1 (28) M M2/Macaulay2/packages/HighestWeights.m2 https://github.com/Macaulay2/M2/pull/3526/files#diff-8257790aade14cad8677bb7c18a5807608e93240b71a8d896be6ee3f709672fc (2) M M2/Macaulay2/packages/HighestWeights/doc.m2 https://github.com/Macaulay2/M2/pull/3526/files#diff-47b6398a05aebee882e272fab7701b54434078dc5e72e38e3d21c542ca39a9d3 (27) M M2/Macaulay2/packages/HighestWeights/examples.m2 https://github.com/Macaulay2/M2/pull/3526/files#diff-f97b6fe34819fd987513d659fcd24e9e1d090d6d981766344ffaa49087050b9f (14) M M2/Macaulay2/packages/HighestWeights/main.m2 https://github.com/Macaulay2/M2/pull/3526/files#diff-17fee8e34421362b17d0cf13f7b74b77be4d10a656624e74b87287fc2ea183ad (6) M M2/Macaulay2/packages/HighestWeights/tests.m2 https://github.com/Macaulay2/M2/pull/3526/files#diff-0541338eadf92744dd728cf139f4e991695d635dab0ef7be31b2f2da57a361a5 (4) M M2/Macaulay2/packages/KustinMiller.m2 https://github.com/Macaulay2/M2/pull/3526/files#diff-f293dc24fe3697eafe5480ec7052586902a3403cb333bc13715f63b67fcb03b7 (149) M M2/Macaulay2/packages/NormalToricVarieties.m2 https://github.com/Macaulay2/M2/pull/3526/files#diff-5789def1ebdcfc513e2834f711ada8211e2e0c57d0efaf5cd0b3c5f39cf6919e (2) M M2/Macaulay2/packages/NormalToricVarieties/Sheaves.m2 https://github.com/Macaulay2/M2/pull/3526/files#diff-e6c5b1aa434242df3a3664feefef50391d57ae74ef37530318cf5eb427340986 (8) M M2/Macaulay2/packages/QuillenSuslin.m2 https://github.com/Macaulay2/M2/pull/3526/files#diff-b2098b10394cb864fd6cf265488fabbb306c54dc2036a46b0f7a84563f9a7595 (9) Patch Links:
https://github.com/Macaulay2/M2/pull/3526.patch https://github.com/Macaulay2/M2/pull/3526.diff — Reply to this email directly, view it on GitHub https://github.com/Macaulay2/M2/pull/3526, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABISZWAD7L5CB7I3KHN33ZTZ4JIPRAVCNFSM6AAAAABQHOV7KOVHI2DSMVQWIX3LMV43ASLTON2WKOZSGU4TSMJTGQZDEMI. You are receiving this because you were mentioned.
Hi Mike,
From what I can tell, the changes are fine for the HighestWeights and BettiCharacters packages.
Thank you!
@ggsmith K3Carpets is failing: it is using CompleteIntersectionResolutions. Unfortunately, it doesn't look as trivial to modify as the other packages we have done. It uses also NonminimalComplexes, which we have not yet modified to work with Complexes.
Do you want to revert this PR to commit cfe3b5df5611c250e83022df063f97786c37f35b, which passed all tests? I think changes to every package up to that point except for KustinMiller and EagonResolutions have been approved by the authors.
The remainder can be added in the next PR perhaps.
Do you want to revert this PR to commit cfe3b5d, which passed all tests? I think changes to every package up to that point except for KustinMiller and EagonResolutions have been approved by the authors.
The remainder can be added in the next PR perhaps.
Not yet—we're stilling working on it.
Hi Mike, The changes look very good with respect to the KustinMiller package, provided the tests pass of course. Thanks a lot!
@ggsmith I'm not sure I can find the bug in time, before the release gets made. We might need to back off to the last pr-3 pull request...
@d-torrance What do you think about this? I'm also concerned that I won't be able to quickly fix the conflict errors after David's PR for PencilsOfQuadrics...
Yeah, holding off on this PR until after the release sounds like a good idea.
In the current version rawMinimalBetti receives a raw computation that hasn't started yet, so here is a fix:
diff --git a/M2/Macaulay2/packages/Complexes/FreeResolutions.m2 b/M2/Macaulay2/packages/Complexes/FreeResolutions.m2
index 27f0bd9aa8..a472fffe0f 100644
--- a/M2/Macaulay2/packages/Complexes/FreeResolutions.m2
+++ b/M2/Macaulay2/packages/Complexes/FreeResolutions.m2
@@ -202,6 +202,7 @@ resolutionObjectInEngine = (opts, M, matM) -> (
complex maps
);
+ if not opts.StopBeforeComputation then
RO.compute(opts.LengthLimit, opts.DegreeLimit);
RO.complex(opts.LengthLimit)
)
@@ -691,7 +692,8 @@ minimalBetti Module := BettiTally => opts -> M -> (
nvars := # generators(R, CoefficientRing => A);
lengthlimit = nvars + if A === ZZ then 1 else 0;
);
- C = freeResolution(M, DegreeLimit => degreelimit, LengthLimit => lengthlimit + 1, Strategy => Nonminimal);
+ C = freeResolution(M, DegreeLimit => degreelimit, LengthLimit => lengthlimit + 1,
+ Strategy => Nonminimal, StopBeforeComputation => true);
rC := M.cache.ResolutionObject.RawComputation;
B := unpackEngineBetti rawMinimalBetti(rC,
if opts.DegreeLimit === infinity then {} else
Mike, is this done? The tests have passed. GitHub is not happy with your last merge commit, which would be resolved if you rebased and force pushed, but we can also just merge this without rebasing.
Yes, I'll accept it, but use a merge pull request.