Skip to content

Migrate MapFromFunc from Hecke->AbstractAlgebra - #2290

Open
mjrodgers wants to merge 13 commits into
thofma:masterfrom
mjrodgers:MapFromFunc
Open

Migrate MapFromFunc from Hecke->AbstractAlgebra#2290
mjrodgers wants to merge 13 commits into
thofma:masterfrom
mjrodgers:MapFromFunc

Conversation

@mjrodgers

@mjrodgers mjrodgers commented Jun 29, 2026

Copy link
Copy Markdown

(Paired with 2443)

As discussed in 6043, there is some motivation to move MapFromFunc from Hecke into AbstractAlgebra, at least partially so that it can be used in GAP.jl/NemoExt (we hope to migrate some of the iso_oscar_gap/iso_gap_oscar functionality to there.

To facilitate this, the following things have been moved:

  • the abstract type HeckeMap,
  • MapFromFunc
  • MapHeader
  • MapCache
    and some related/supporting functions.

We will also move some related tests, and rewrite some code using AbstractAlgebra.map_from_func (which creates a Generic.FunctionalMap) to use MapFromFunc instead.

Comment thread examples/Round2.jl
else
F = t
mF = MapFromFunc(parent(p), F, x->F(x), y->lift(y))
mF = map_from_func(parent(p), F, x->F(x), y->lift(y))

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.

Can't we also do this? But ok, not in the scope for this PR

Suggested change
mF = map_from_func(parent(p), F, x->F(x), y->lift(y))
mF = map_from_func(parent(p), F, F, lift)

Comment thread src/Map/MapType.jl
Comment on lines 10 to 11
preimage_function(f) = a -> preimage(f, a)
image_function(f) = a -> image(f, a)

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.

These could also be removed if we add explicit image and preimage methods to InverseMap. Should we also move InverseMap to AA?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants