-
Notifications
You must be signed in to change notification settings - Fork 4
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
function fields over towers of finite fields don't work #103
Comments
This is related to issue #66, in that the residue field of a valuation should have the 'natural type', e.g. a function field over a 'true' finite field. |
Another problem is that factoring of polynomials over towers of fields is rediculously slow. |
I was not able to construct a homomorphism from k2 into an isomorphic finite field. The problem is that although k2 is a quotient of a polynomial ring, |
It seems that Sage can be fooled by setting
|
Defining a homomorphism on the fraction field of a polynomial ring doesn't work as expected:
|
This tries to fix the problems described in issue MCLF#103. The code is very experimental..
I am also having a look at this now. |
Do I understand correctly that solving #66 would solve this? |
Hopefully, yes, but we would have to make it more precise what a solution of #66 would mean. |
Ok. I mean, all the finite fields you are having trouble with are residue fields of valuations? Or are you also creating iterated extensions yourself? |
So one thing we'd need would be a |
I created https://trac.sagemath.org/ticket/26103 for this. I hope that I'll find some time to work on it tomorrow. |
I try to use
So for 'true' finite fields, it is assumed that are all embedded into one algebraic closure of FF_p. That is fine, IMO. If one wants to have specific embeddings (which may be the case), you can do this yourself. An example where I had to do this is in the branch |
Wouldn't it be enough if |
Yes but that's harder to do I think. There is |
Actually, for me |
there is now a new version of `make_finite_field` and `make_function_field`, which is a hack to solve issue MCLF#103. Adaptions to this in several places. It may be an option to keep these two functions in an experimental version until https://trac.sagemath.org/ticket/26103 is completed. However, the whole module `reduction_trees` needs to be reviewed first.
In this new version of reduction_trees, the maps between different components (inertial, lower and upper) are constructed in a systematic way and such that they are compatible with the maps of generic fibers. All components are created as curves over an *absolute* finite fields, thus fixing issue MCLF#103 and adressing in aprt issue MCLF#66. This is done by using the helper functions and `make_finite_fields` which turns a finite field into an absolute fielte, and `make_function_fields` which turns a function field into a 'true' function field over an absolute finite field. There should be more doctests and internal consistency test.
This merge fixes several bugs and started a reorganization of `reduction_trees` The key commit is 8844501: In this new version of reduction_trees, the maps between different components (inertial, lower and upper) are constructed in a systematic way and such that they are compatible with the maps of generic fibers. All components are created as curves over an *absolute* finite fields, thus fixing issue #103 and adressing in part issue #66. This is done by using the helper functions and `make_finite_fields` which turns a finite field into an absolute fielte, and `make_function_fields` which turns a function field into a 'true' function field over an absolute finite field. Once `trac:26103` is merged, these functions can probably be removed. I think a further reorganization of `reduction_trees` and, related to this, of `smooth_projective_curves` and `morphisms_of_smooth_projective_curves` is necessary, but this will do for a while.
With Sage 8.6, residue fields of valuations on function fields are now function fields themselve, if this makes sense. However, the constant base field may not be a *true* finite field (this is trac:26103). This resulted in an error message when applying the method ``make_function_field``. Now ``make_function_field`` creates a new function field with the right kind of constant base field if the input is already a function field.
The following gives an error:
The problem is that k2, although a finite field, is not constructed as a 'true' finite field, and
k2.is_perfect()
is not implemented (and there are probably many more problems withfunction fields over such a field).
However, fields as k2 occur frequently as residue fields of valuations, and there seems to be no easy way to construct an isomorphism from k2 to an isomorphic 'true' finite field.
TODO:
The text was updated successfully, but these errors were encountered: