Skip to content

Initial ideal computation very slow for zero weight in 1.6.0 #5639

@imkhln

Description

@imkhln

In OSCAR 1.6.0 for I = grassmann_pluecker_ideal(3, 7), I get

julia> @time (for _ in 1:100
       initial(I, tropical_semiring_map(QQ), rand(0:1, 35))
       end);
 79.891922 seconds (264.83 M allocations: 8.545 GiB, 2.14% gc time)

for a 100 random weights, but

julia> @time initial(I, tropical_semiring_map(QQ), [0 for _ in 1:35]);
820.467393 seconds (19.99 M allocations: 442.009 MiB, 0.02% gc time, 0.00% compilation time)

for the zero weight.

While this is particularly prominent for Plücker ideals, for, say, random toric ideals there is also a noticeable difference between zero and random weights (about one-two orders of magnitude). And, most importantly, this seems to have gotten much worse since version 1.5.0, where

julia> @time initial(I, tropical_semiring_map(QQ), [0 for _ in 1:35]);
 15.455510 seconds (120.76 k allocations: 6.133 MiB, 0.10% compilation time)

while the average time for random weights was roughly the same.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions