On Mon, Nov 20, 2023 at 06:20:45PM +0800, Qian Yun wrote:
> Answer to myself: some real algebraic number need sqrt(-1) to
> represent them (e.g. some root of degree 3 polynomial).
> So RealClosure can't handle them I guess.
No, this is not a problem. RealClosure can handle real roots of
polynomials without going into complex domain. sqrt(-1) appears
when one wants expression in radicals, but RealClosure represent
roots in more general way.
> - Qian
>
> On 11/20/23 07:45, Qian Yun wrote:
> > Does RealClosure work with Expression? (e.g doing integration)
> > Currently we can't do so in FriCAS. Is that possible in theory?
Currently you can have Expression(RealClosure(Fraction(Integer))):
(8) -> sqrt(2)$eR
+-+
(8) \|2
Type: Expression(RealClosure(Fraction(Integer)))
(9) -> kernels(sqrt(2)$eR)
(9) []
Type: List(Kernel(Expression(RealClosure(Fraction(Integer)))))
(10) -> sqrt(-1)$eR
+---+
(10) \|- 1
Type: Expression(RealClosure(Fraction(Integer)))
(11) -> kernels(sqrt(-1)$eR)
+---+
(11) [\|- 1 ]
Type: List(Kernel(Expression(RealClosure(Fraction(Integer)))))
(12) -> kernels(sqrt(2 + sqrt(-1)$eR))
+----------+
| +---+
(12) [\|\|- 1 + 2 ]
Type: List(Kernel(Expression(RealClosure(Fraction(Integer)))))
(12) indicate possible confusion, mathematically the same thing may be
expressed in different ways leading to troubles with unrecoginized
zeros.
For integration we need PolynomialFactorizationExplicit and that
is absent for RealClosure. To say the truth, it is not entirely
clear what PolynomialFactorizationExplicit should do for
RealClosure. Interpreting it literally would mean splitting
univariate polynomials into quadratic and linear factors, which
is likely to be quite expensive. After that we would have to
implement multivariate factorization on top of this. I guess
that for multivariate factorization we probably should do
absolute factorization first and then only one variable
splitting.
Note that methods used by RealClosure in principle could
be generalized to elementary constants. But they will
fail in presence of parameters, that is for general
expressions.
Extra remark: it should be possible to get much of effect
of RealClosure by considering pairs of AlgebraicNumber
and floating point approximation. Namely, we can compute
minimal polynomial of algebraic number and moderately
accurate floating point approximation uniquely determines
corresponding exact root. In case when we get reducible
polynomials we could use floating point approximations to
find right factor.
--
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 [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/fricas-devel/ZVtVlGr6rtdJqSSX%40fricas.org.