Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

experimental/GModule: collect AA/Nemo/Hecke stuff in Misc.jl #3584

Merged
merged 3 commits into from
Apr 12, 2024

Conversation

ThomasBreuer
Copy link
Member

In experimental/GModule, move code to Misc.jl that belongs to AbstractAlgebra.jl, Nemo.jl, or Hecke.jl.

Once we agree that this code should be moved to these packages, the code should be added there,
and as soon as it becomes available in Oscar, it can be removed from Misc.jl.

Move code to `Misc.jl` that belongs to AbstractAlgebra.jl,
Nemo.jl, or Hecke.jl.

Once we agree that this code should be moved to these packages,
the code should be added there,
and as soon as it becomes available in Oscar, it can be removed
from `Misc.jl`.
@assert is_free(A) && is_free(B)
return hom(B, A, transpose(matrix(h)))
end

function coimage(h::Map)
Copy link
Contributor

Choose a reason for hiding this comment

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

Wh not coimage?

Copy link
Member Author

Choose a reason for hiding this comment

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

Yes, good idea.

@@ -299,10 +263,6 @@ function invariant_lattice_classes(M::GModule{<:Oscar.GAPGroup, <:AbstractAlgebr
return invariant_lattice_classes(MZ)
end

function Oscar.pseudo_inv(h::Generic.ModuleHomomorphism)
Copy link
Contributor

Choose a reason for hiding this comment

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

For now, but eventually, this will have to be done differently as I'd like to have inv(inv()) to be the identity

function Oscar.pseudo_inv(h::Generic.ModuleHomomorphism)
return MapFromFunc(codomain(h), domain(h), x->preimage(h, x))
end

function _hom(f::Map{<:AbstractAlgebra.FPModule{T}, <:AbstractAlgebra.FPModule{T}}) where T
Copy link
Contributor

Choose a reason for hiding this comment

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

is this still used? It feels like either it should move or be deleted

Copy link
Member Author

Choose a reason for hiding this comment

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

_hom is used just once, a few lines more down, in order to abbreviate the code.
If we move it, we should call it hom (?), and document what it is expected to do:
Take a map, assume that this map is linear, and return the corresponding "linear-map-by-images".
(In the current situation, I think it would be better to do this directly, by mapping generators under the various maps, instead of first creating several intermediate maps; but this would look less elegant.)
In this sense, deleting _hom is perhaps a good idea.

Copy link
Contributor

@fieker fieker left a comment

Choose a reason for hiding this comment

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

it adds up, doesn't it? No idea if this is now complete...

@ThomasBreuer
Copy link
Member Author

it adds up, doesn't it? No idea if this is now complete...

The problem is that the is_complete function is not applicable here.

@fieker
Copy link
Contributor

fieker commented Apr 11, 2024 via email

@lgoettgens lgoettgens added the experimental Only changes experimental parts of the code label Apr 11, 2024
@fingolfin fingolfin merged commit 24e629c into oscar-system:master Apr 12, 2024
24 checks passed
@fingolfin
Copy link
Member

Further changes e.g. to _hom can come in a follow-up PR

@ThomasBreuer ThomasBreuer deleted the TB_gmodule_outsource branch April 12, 2024 07:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
experimental Only changes experimental parts of the code topic: groups
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants