Skip to content

Slowdown computing resolutions in Complexes #4278

@d-torrance

Description

@d-torrance

Compare the following:

i1 : needsPackage "OldChainComplexes";

i2 : S = ZZ/101[x_1..x_9];

i3 : J = ideal vars S;

o3 : Ideal of S

i4 : T = S/J^5;

i5 : elapsedTime res coker presentation T
 -- 2.99913s elapsed

      1      1287      8580      25740      45045      50050      36036      16380      4290      495
o5 = S  <-- S     <-- S     <-- S      <-- S      <-- S      <-- S      <-- S      <-- S     <-- S    <-- 0
                                                                                                           
     0      1         2         3          4          5          6          7          8         9        10

o5 : ChainComplex

versus:

i1 : needsPackage "Complexes"
 -- warning: symbol "GradedModuleMap" in OldChainComplexes.Dictionary is shadowed by a symbol in Complexes.Dictionary
 --   use the synonym OldChainComplexes$GradedModuleMap
 -- warning: symbol "GradedModule" in OldChainComplexes.Dictionary is shadowed by a symbol in Complexes.Dictionary
 --   use the synonym OldChainComplexes$GradedModule
 -- warning: symbol "res" in OldChainComplexes.Dictionary is shadowed by a symbol in Complexes.Dictionary
 --   use one of the synonyms OldChainComplexes$res, OldChainComplexes$resolution
 -- warning: symbol "resolution" in OldChainComplexes.Dictionary is shadowed by a symbol in Complexes.Dictionary
 --   use one of the synonyms OldChainComplexes$res, OldChainComplexes$resolution

o1 = Complexes

o1 : Package

i2 : S = ZZ/101[x_1..x_9];

i3 : J = ideal vars S;

o3 : Ideal of S

i4 : T = S/J^5;

i5 : elapsedTime res coker presentation T
 -- 10.8809s elapsed

      1      1287      8580      25740      45045      50050      36036      16380      4290      495
o5 = S  <-- S     <-- S     <-- S      <-- S      <-- S      <-- S      <-- S      <-- S     <-- S
                                                                                                  
     0      1         2         3          4          5          6          7          8         9

o5 : Complex

This example is based on check(1, "Depth"), which was running out of memory in the cmake-macos builds for #4171.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions