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

Work list #3

Open
14 of 45 tasks
fredrik-johansson opened this issue Aug 8, 2020 · 0 comments
Open
14 of 45 tasks

Work list #3

fredrik-johansson opened this issue Aug 8, 2020 · 0 comments

Comments

@fredrik-johansson
Copy link
Collaborator

fredrik-johansson commented Aug 8, 2020

Big initial todo list.

Urgent (before 0.1 release):

  • use field cache with hash table
  • fix hash functions
  • mctx persistent pointers (add indirection)
  • improve qqbar_root_ui
  • cache acb enclosures
  • implement all ca_check_X methods
  • complex parts
  • string conversion, better printing
  • some example programs

Important:

  • continuous integration
  • check build system
  • stronger tests (check that some basic simplifications really work, not just giving UNKNOWN)
  • clean up all structs and macros
  • fix/unity field_init methods
  • change ideal to ** to avoid copies
  • recycle storage in make_field_element
  • move nf_t to field object
  • optimize field/extension insertion/lookup (avoid duplicate allocations, copies)
  • rename ca_check_X methods?
  • separate fast and slow check methods
  • organize the code for inserting extra field elements -- what is the right place to do this?
  • some more simplifications for major transcendental functions (exp, log, some trig functions)
  • use factorisation in abs, sign, ...
  • convert mixed algebraic number to single number field
  • decent field pruning (remove unused elements, all powers of x^(1/n) divisible by n -> x (etc...)
  • transfer between context objects
  • functions to decompose ca_t -> mpoly_q + ext list (etc.)
  • special values for pow
  • separate in-field / inert powering
  • optimize subtraction

Long-term:

  • reference counting for extension numbers and fields (with recycle bins)
  • more intelligent adaptive numerical evaluation
  • more intelligent qqbar simplification
  • algorithms for mixed algebraic/transcendental simplification
  • optimized fmpz_mpoly_q composition and evaluation (fmpz_mpoly_q, arb, acb)
  • simplifying number fields
  • number field embeddings
  • lots of optimizations for roots of unity and nth roots
  • more transcendentals
  • polynomials, matrices
  • radical denesting (outside of qqbar, also for radicals involving transcendentals)
  • add a simple expression parser (useful for test code)
  • Gröbner bases
  • good Gröbner basis code / plug in fast external GB engine
  • user-defined extension numbers
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

1 participant