Skip to content

Some more improvements for OFPModules#6061

Merged
HechtiDerLachs merged 8 commits into
oscar-system:masterfrom
HechtiDerLachs:some_more_module_improvements
Jun 19, 2026
Merged

Some more improvements for OFPModules#6061
HechtiDerLachs merged 8 commits into
oscar-system:masterfrom
HechtiDerLachs:some_more_module_improvements

Conversation

@HechtiDerLachs

Copy link
Copy Markdown
Collaborator

This are some small things I encountered during my work on tuning direct images. I will add specific examples and timings.

@HechtiDerLachs

Copy link
Copy Markdown
Collaborator Author

Timings. On this branch:

julia> R, (x, y) = QQ[:x, :y]
(Multivariate polynomial ring in 2 variables over QQ, QQMPolyRingElem[x, y])

julia> @time F = FreeMod(R, 100000)
  0.000012 seconds (16 allocations: 736 bytes)
Free module of rank 100000 over R

julia> @time phi = hom(F, F, gens(F))
  0.009471 seconds (800.02 k allocations: 40.436 MiB)
Module homomorphism
  from F
  to F

julia> @time compose(phi, phi)
  0.032749 seconds (1.50 M allocations: 65.605 MiB)
Module homomorphism
  from F
  to F

On master:

julia> R, (x, y) = QQ[:x, :y]
(Multivariate polynomial ring in 2 variables over QQ, QQMPolyRingElem[x, y])

julia> @time F = FreeMod(R, 100000)
  0.221484 seconds (601.90 k allocations: 19.946 MiB, 67.16% gc time, 2.20% compilation time)
Free module of rank 100000 over R

julia> @time phi = hom(F, F, gens(F))
  0.008930 seconds (800.04 k allocations: 40.438 MiB)
Module homomorphism
  from F
  to F

julia> @time compose(phi, phi)
  0.268555 seconds (3.80 M allocations: 167.070 MiB, 59.42% gc time)
Module homomorphism
  from F
  to F

In the examples I have, this makes an actual difference.

@HechtiDerLachs HechtiDerLachs added the release notes: not needed PRs introducing changes that are wholly irrelevant to the release notes label Jun 15, 2026
@fingolfin fingolfin removed the triage label Jun 17, 2026
@jankoboehm

Copy link
Copy Markdown
Contributor

As along as images_of_generators is available in the generality we discussed it looks fine.

@jankoboehm jankoboehm left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is the culprit for the failing test?

@lgoettgens

Copy link
Copy Markdown
Member

What is the culprit for the failing test?

some random segfault in the low-level julia IO code. I restarted the job

@HechtiDerLachs

Copy link
Copy Markdown
Collaborator Author

images_of_generators has been made available for FreeModuleHom and SubQuoHom, so that should be fine.

@HechtiDerLachs HechtiDerLachs merged commit b07e89e into oscar-system:master Jun 19, 2026
42 of 44 checks passed
@HechtiDerLachs HechtiDerLachs deleted the some_more_module_improvements branch June 19, 2026 18:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release notes: not needed PRs introducing changes that are wholly irrelevant to the release notes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants