Opened 4 years ago
Last modified 3 months ago
#18333 new task
Cleanup and speedup in QQbar
Reported by: | vdelecroix | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | sage-wishlist |
Component: | number fields | Keywords: | |
Cc: | mmezzarobba, gagern, cheuberg | Merged in: | |
Authors: | Vincent Delecroix | Reviewers: | |
Report Upstream: | N/A | Work issues: | |
Branch: | Commit: | ||
Dependencies: | Stopgaps: |
Description (last modified by )
This is a task ticket for speed up and cleaning in sage.rings.qqbar
Prerequisites on number fields/polynomials/interval arithmetic
- #18332: implement
is_integer
andis_rational
on number field elements - #18334: implement
unique_sign
andunique_trunc
on interval field elements - #18337: implement
real
andimag
on real intervals - #17830: consider the natural order induced from
RR
for number fields with real embedding - #19362, #28191: refine root
- #18356: implement composed_op from [BFSS]
- #19824: faster comparison for (real) embedded number fields
- #24503: enhanced
LazyAlgebraic
Tasks in AA/QQbar
:
- #18303: better comparisons
- #17886, #18242: faster exactification operations using power series and resultants (see also #18356)
- #15600: exactification is slow in
do_polred
- #16222, #18122: enhanced minpoly
- #19954 and #19955: remove all descriptors except
ANRoot
,ANExtension
andANRational
- #20074: simplify method dispatcher for binary operators
- #12745: conversion issue
QQbar -> AA
- #18106: introduce a polynomial descriptor, make sum and product be n-ary instead of binary and get rid of recursive calls
- #12715: number field embeddings should always have target in
AA
orQQbar
- #19356: QQbar.polynomial_root(): allow approximate root
- #21095: slowness in exactification
- #21838: do not make appear the imaginary (or real) part in QQbar when it is known to be zero
- #5574: Implement QQbar^{QQ} as action
- use firstly interval arithmetic for
sign
/floor
/ceil
/trunc
/round
instead of the_floor_ceil
helper - remove the following methods from
ANDescr
:rational_value
is_field_element
is_exact
- (?) enhanced
sage_input
forANExtension
- better powering (
__pow__
) usingANExtension
and fix convention for powering inAA
vsQQbar
- reimplement
_real_refine_interval
without these ugly dictionaries (see also #17895) - use directly embedded number fields in
AlgebraicGenerator
as comparison there is faster (see #17830 and #19824). We might want that these embedded number field carries an interval of fixed precision with them (let say64
) to avoid reevaluation in most cases - #26944: improve hashing to avoid exact computations
- more generally, track down code in qqbar.py that may lead to larger extensions than necessary if an exact computation is triggered (for example, see if the formulas in
ANUnaryExpr.exactify()
can be optimized).
Bugs
Change History (29)
comment:1 Changed 4 years ago by
- Description modified (diff)
comment:2 Changed 4 years ago by
- Description modified (diff)
comment:3 Changed 4 years ago by
- Description modified (diff)
comment:4 Changed 4 years ago by
- Description modified (diff)
comment:5 Changed 4 years ago by
- Description modified (diff)
comment:6 Changed 4 years ago by
- Description modified (diff)
comment:7 Changed 4 years ago by
- Cc mmezzarobba added
comment:8 Changed 4 years ago by
- Description modified (diff)
comment:9 Changed 4 years ago by
- Description modified (diff)
comment:10 Changed 4 years ago by
- Description modified (diff)
comment:11 Changed 4 years ago by
comment:12 Changed 4 years ago by
- Description modified (diff)
- Milestone changed from sage-6.7 to sage-wishlist
comment:13 Changed 4 years ago by
- Description modified (diff)
comment:14 Changed 4 years ago by
- Description modified (diff)
comment:15 Changed 4 years ago by
- Description modified (diff)
comment:16 Changed 4 years ago by
There's an issue on QQBar element powering reported in #18836 comment 9 that may have interaction with what you're doing here (perhaps you're solving the issue?). Perhaps it's worthwhile including that problem in this QQbar cleanup operation somewhere.
comment:17 Changed 4 years ago by
- Description modified (diff)
comment:18 Changed 4 years ago by
- Description modified (diff)
comment:19 Changed 3 years ago by
- Cc gagern added
comment:20 Changed 3 years ago by
- Description modified (diff)
comment:21 Changed 3 years ago by
- Description modified (diff)
comment:22 Changed 3 years ago by
- Cc cheuberg added
comment:23 Changed 3 years ago by
- Description modified (diff)
comment:24 Changed 21 months ago by
- Description modified (diff)
comment:25 Changed 21 months ago by
- Description modified (diff)
comment:26 Changed 21 months ago by
- Description modified (diff)
comment:27 Changed 21 months ago by
- Description modified (diff)
comment:28 Changed 10 months ago by
- Description modified (diff)
comment:29 Changed 3 months ago by
- Description modified (diff)
Note: See
TracTickets for help on using
tickets.
about slowness of QQbar, see #19910.