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.
