Hi all,

I'm looking for benchmark problems for QQbar/AA arithmetic. Ideally such a
problem will:

* Be reducible to a short program that, apart from using QQbar/AA
operations, is reasonably self-contained.
* Reflect real-world use, i.e. originate from using Sage to solve an actual
mathematical problem, with QQbar/AA arithmetic being a significant
ingredient.

I'm interested in such benchmark problems to evaluate how well Calcium (
https://fredrikj.net/calcium/) would work to implement the field of
algebraic numbers. As such, I'd like to identify any situations where
Calcium is slower than Sage's QQbar or where functionality missing.

There are actually two independent types that may serve to implement the
field of algebraic numbers: qqbar_t and ca_t. A Calcium qqbar_t uses an
"absolute" representation (minimal polynomial), which is nice since results
are kept reduced and canonical, but can be slow for field arithmetic. A
Calcium ca_t uses a "relative" representation involving symbolic
expressions and number fields, somewhat similar to Sage's QQbar or Magma's
algebraically closed field. The ca_t type should give the best performance
in most cases, but qqbar_t may be better in some circumstances.

Some benchmark problems I've collected so far:

huge_expr (https://ask.sagemath.org/question/52653/)
====================================================
sage qqbar:         ~forever (hours)
calcium qqbar:      8.5 s
calcium ca:         8.1 s

heptadecagon (sage/rings/qqbar.py)
====================================================
sage qqbar:         ~forever (hours)
calcium qqbar:      2.11 s
calcium ca:         0.011 s

heptadecagon2 (sage/rings/qqbar.py)
====================================================
sage qqbar:         0.060 s
calcium qqbar:      2.11 s
calcium ca:         0.0031 s

symbench_R1 (https://wiki.sagemath.org/symbench)
====================================================
sage qqbar (numerical answer):  0.0041 s
sage qqbar (exactify):          0.049 s
calcium qqbar:                  0.095 s
calcium ca (numerical answer):  0.0010 s
calcium ca (qqbar output)       0.057 s

Fredrik

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sage-devel/CAJdUXTKXfFZK5xUWZOD6Uor8CPN3U%2Bx17x4rGd5zKQJaOOFLig%40mail.gmail.com.

Reply via email to