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

Untangle different factor functions #1394

Open
lgoettgens opened this issue Feb 6, 2024 · 2 comments
Open

Untangle different factor functions #1394

lgoettgens opened this issue Feb 6, 2024 · 2 comments

Comments

@lgoettgens
Copy link
Contributor

There is Hecke.factor and AbstractAlgebra/Nemo.factor.
Both of them have the other one as a fallback, see:

AbstractAlgebra.factor(x::RingElement) = factor(x)

factor(a...; b...) = Nemo.factor(a...; b...)

This has the drawback that for types, where factor is not supported (e.g. QQBarElem), one gets a StackOverflowError instead of the expected MethodError.

Maybe related: #1110

@fieker
Copy link
Collaborator

fieker commented Feb 7, 2024

Just be very careful.

  • the tangle also involves the weired interaction between root(s) of polynomials and factor
  • the key reason for introducing this "monstrosity" was integer factorisation: the Hecke version is much more powerful, in general, than Nemo(=flint)
  • several of this are related to imprecise type parameters, sometimes deliberate to not unneccessaryly exclude, and sometimes by exident.
  • support for the AA-Int and Rat types is scetchy - and never was our priority or interest

@fingolfin
Copy link
Contributor

In triage it was just discussed whether moving the integer factorisation from Hecke to Nemo might help. At least @fieker and @thofma seemed to be OK with it.

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

No branches or pull requests

3 participants