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.

Reply via email to