On Wed, Nov 22, 2023 at 08:29:11AM +0800, Qian Yun wrote: > Now I understand most of your points. > > So what are the possible improvements regarding algebraic number > in the future?
I do not think about deep changes to AlgebraicNumber or Expression, at least in reasonably near future. Rather, I think that extra functionality should go into separate packages. > For example, in a "locally breaking symmetry" use case, a "real?" > function to determine if an algebraic number is real, is that useful? > (e.g. (sqrt(3+4*sqrt(-1))+sqrt(3-4*sqrt(-1)))) Recognizing that the above is real would be useful and does not look very hard: it is symmetric in 'sqrt(-1)', so invariant under complex conjugations (that is assuming that branches are choosen in symmetric way). Assuming principal branch one could even deduce that it is positive (real part of principal branch square root is nonnegative). Certainly I would like to have stronger methods of determining sign. CAD may help, but is quite heavy. Some folks suggested splitting (writing) expressions as sums of squares. In 2008 StrzeboĊski proposed a simple method for functions build from 'x' and 'exp(x)' (it generalizes Sturm sequences). > Also, there's no function to transform a radical ('nthRoot) to > 'rootOf currently, right? No specific function, but 'subst' can tranform any expression given mapping on kernels. And for kernels transformation is essentially trivial. -- Waldek Hebisch -- You received this message because you are subscribed to the Google Groups "FriCAS - computer algebra system" group. To unsubscribe from this group and stop receiving emails from it, send an email to fricas-devel+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/fricas-devel/ZWD927lya7qbqfCn%40fricas.org.