On Mon, Nov 20, 2023 at 12:48 PM Waldek Hebisch <[email protected]> wrote:
>
> 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.

the corresponding exact root will also be uniquely determined by the
signs of k-th order derivatives,
for all k, of the minimal polynomial at the root.
This is called Thom encoding (cf e.g. https://arxiv.org/pdf/1609.02879.pdf).
The advantage is that it still works in a parametrised setting, and that
it does not need any approximations.

Dima
>
> --
>                               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.

-- 
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/CAAWYfq0TTzKBrmHFDgWxefOKeg0Prcn1unD-hfwji7_kvAYHZg%40mail.gmail.com.

Reply via email to