#9390: is_galois_relative() not always right
------------------------------+---------------------------------------------
Reporter: arminstraub | Owner: davidloeffler
Type: defect | Status: needs_review
Priority: major | Milestone: sage-4.6.1
Component: number fields | Keywords: galois extension
Author: Francis Clarke | Upstream: N/A
Reviewer: Marco Streng | Merged:
Work_issues: |
------------------------------+---------------------------------------------
Changes (by fwclarke):
* status: needs_work => needs_review
Comment:
Replying to [comment:6 mstreng]:
> On which Sage version is this a speedup for is_galois_absolute? ...
I'm sorry about this. I don't know how I convinced myself that the
absolute version was faster.
> On the other hand, my suggestion allowed for a good test of your code,
as is_galois is ubiquitous:
{{{
sage -t -long devel/sage/sage/schemes/elliptic_curves/gal_reps.py
*** *** Error: TIMED OUT! PROCESS KILLED! *** ***
}}}
I can't reproduce this. Actually `is_galois` is not particularly
ubiquitous (and certainly does figure in `gal_reps.py`):
{{{
sage -grep -l is_galois
----------------------------------------------------------------------
| Sage Version 4.6, Release Date: 2010-10-30 |
| Type notebook() for the GUI, and license() for information. |
----------------------------------------------------------------------
coding/linear_code.py
rings/number_field/galois_group.py
rings/number_field/number_field.py
rings/number_field/number_field_rel.py
rings/number_field/totallyreal_rel.py
rings/padics/unramified_extension_generic.py
rings/number_field/number_field_element.pyx
}}}
> Maybe it is better to stick with the is_galois_relative correction only.
Also, if you know about cached methods, then perhaps you could make
is_galois_relative and is_galois_absolute cached while you're at it. You
can also make a distinction in is_galois between degree <= 11 (use the old
method) and degree > 11 (old method only works if KASH is installed, use
your method). I suppose it is good to still let is_galois_absolute()
simply call absolute_field().is_galois().
The new patch implements this, except it doesn't do any caching.
`is_galois_absolute` is already cached in the degree <= 11 cases via
`self.absolute_field()`. In the other cases, I think what really needs
caching is the factorisation of the defining polynomial over `self,` since
it's also what's needed to compute endomorphisms. But that is for another
patch, I think.
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/9390#comment:7>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sage-trac?hl=en.