Skip to content
Draft
Changes from 1 commit
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
ad8356e
remove degree map splitting check in pushNonLinear
joel-dodge Jun 11, 2026
8a51940
add test that would fail
joel-dodge Jun 12, 2026
e93de02
fix test that was missing kk def
joel-dodge Jun 13, 2026
35e1802
remove mapbackdeg completely
joel-dodge Jun 13, 2026
cc135d4
cook up splitting of degreemap that works more generally
joel-dodge Jun 15, 2026
fb13da8
support hom / ext
joel-dodge Jul 10, 2026
76abfe3
spacing
joel-dodge Jul 13, 2026
96a9952
Merge branch 'development' into core-pushforward-multigrading
joel-dodge Jul 18, 2026
b2fd47d
move PushForward cases to actual tests that run now
joel-dodge Jul 18, 2026
a20a9fe
Merge branch 'core-pushforward-multigrading' into hom-main
joel-dodge Jul 18, 2026
02aaa27
update formation for Ext
joel-dodge Jul 18, 2026
2725d30
make End method signature more generic and comment out expensive part…
joel-dodge Jul 19, 2026
f265675
remove some unimportant changes
joel-dodge Jul 21, 2026
a9d25d6
first commit of documentation for hom / ext
joel-dodge Jul 21, 2026
2ea54bd
allow Ext for noncommutative rings
joel-dodge Jul 23, 2026
7670657
scratch for free module reduction
joel-dodge Jul 31, 2026
490d666
no need for f in getStructureMap
joel-dodge Jul 31, 2026
3ef0f95
some fussing
joel-dodge Jul 31, 2026
ee35ec9
better caching for S-mutls
joel-dodge Jul 31, 2026
aa68603
add method for computing the center of skew rings and use it to compu…
joel-dodge Jul 26, 2026
535a0ad
fix buggy hom computation for skew rings
joel-dodge Aug 4, 2026
7d8275d
move helper to right place in code
joel-dodge Aug 4, 2026
259d30c
add todo
joel-dodge Aug 4, 2026
0612653
add flattenDegreeMap
joel-dodge Aug 5, 2026
e1e38d3
fix example
joel-dodge Aug 5, 2026
b6c0876
fuss a little more
joel-dodge Aug 5, 2026
b15c29c
move flattenDegreeMap node to a different SubNode section
joel-dodge Aug 5, 2026
66aa77d
oops forgot to add new file hehe
joel-dodge Aug 5, 2026
ffc53b7
add missing comma
joel-dodge Aug 5, 2026
c77f195
make doc a doc
joel-dodge Aug 5, 2026
d7e364c
needsPackage
joel-dodge Aug 5, 2026
35222e8
refactor docs a bit to keep pushFwd out of Macaulay2Doc
joel-dodge Aug 6, 2026
9852957
trying to get past build errors
joel-dodge Aug 6, 2026
e5932f2
remove link to pushFwd from macaulay2doc
joel-dodge Aug 6, 2026
af482a9
make example work
joel-dodge Aug 6, 2026
cd5681f
tweaks
joel-dodge Aug 6, 2026
63fcded
reduce hom computations with free source to rank one case
joel-dodge Aug 6, 2026
be2b2f3
add some tests for higher rank hom modules
joel-dodge Aug 6, 2026
e8f4425
move some helpers around and export pushFwdGens
joel-dodge Aug 7, 2026
26da01c
standardize interface for pushFwd and introduce shim to smooth over o…
joel-dodge Aug 7, 2026
4185587
remove some errant todos and fix misspellings ty linter
joel-dodge Aug 7, 2026
5ca81ac
simplify shim
joel-dodge Aug 8, 2026
4b34c1c
fix use of pushFwdGens in IntegralClosure package
joel-dodge Aug 8, 2026
bc3f4cf
another instance of pushFwd(RingMap) interface change i missed in docs
joel-dodge Aug 8, 2026
cbf5a77
improve some doc nodes
joel-dodge Aug 8, 2026
b39e707
remove use and def of pushFwdRingMapShim
joel-dodge Aug 8, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
update formation for Ext
  • Loading branch information
joel-dodge committed Jul 18, 2026
commit 02aaa27016a904583fe86f4b92bf7068cd9cf93c
20 changes: 9 additions & 11 deletions M2/Macaulay2/packages/PushForward/Hom.m2
Original file line number Diff line number Diff line change
Expand Up @@ -165,14 +165,10 @@ Ext(ZZ, RingMap, Module, Module) := Module => opts -> (i, f, M, N) -> (
)
) else (H, liftmap, invmap);


-- here should we trim?

E.cache.yonedaExtension = liftmap';
E.cache.yonedaExtension' = invmap';
-- in i <= 1 case this is a Hom already and we don't want to clobber
-- existing formation data so use ??= assignment
E.cache.formation ??= FunctionApplication { Ext, (i, f, M, N, opts) };
-- i == 0 is Hom case and it has it's own formation data
if i >= 1 then E.cache.formation = FunctionApplication { Ext, (i, f, M, N, opts) };
E.cache.Ext = (i,M,N);

E
Expand Down Expand Up @@ -200,9 +196,11 @@ yonedaExtension'(RingMap, Complex) := Matrix => opts -> (f, C) -> (
-- helpers --
-------------

protect multiplication -- cache key
-- f:S -> R
-- M:a module which is a pushforward of an R-module along f
-- r:R
-- compute "multiplication by r" as an element of Hom_S(M, M)
getStructureMap = (f, M, r) -> M.cache#(multiplication, r) ??= homomorphism' map(M, M, pushforward(M, r * getPushFwdGens(M)))
protect multiplication -- cache key
getStructureMap = (f, M, r) -> (
-- f: S -> R
-- M: Module which is the pushforward of an R-module along f
-- r: RingElement of R
M.cache#(multiplication, r) ??= homomorphism' map(M, M, pushforward(M, r * getPushFwdGens(M)))
)
Loading