axiom-developer
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Axiom-developer] Re: severe (!) bug in normalize


From: Waldek Hebisch
Subject: [Axiom-developer] Re: severe (!) bug in normalize
Date: Sat, 9 Dec 2006 01:25:22 +0100 (CET)

Martin Rubey wrote:
> I meant that it is not clear what the coefficient field for rischNormalize is:
> rischNormalize works over F, which is a "FunctionSpace R". 
> 

Indeed.  It looks that when integrating F is EXPR COMPLEX INT.

> To fix things, suppose that F is EXPR INT and the expression we consider
> contains only one variable. I guess the field of constants is the field of
> "numeric" elements from EXPR INT, i.e., expressions that do not contain a
> variable.

Yes.

> 
> Of course, this is still not a computable coefficient field. However, in this
> case it is at least clear mathematically what sqrt(2)*sqrt(3)-sqrt(6) is
> supposed to be.
>
> Now, if we switch to a field of constants containing some variables, what 
> about
> sqrt(x)*sqrt(y)-sqrt(x*y)?
>

At least in theory extra variable cause no difficulty.  Difficulties are
due to extra operations (like elliptic functions).  Risch structure theorem
also works for multivariate functions, so for example you can reduce
zero test for elementary functions to zero test for elementary constants.
 
> By the way, are there any interesting computable coefficient fields for
> rischNormalize?
>

Algebraic numbers are computable, assuming Schanuel conjecture elementary
numbers are computable (so also elementary functions are computable).

My point of view is that main task of rischNormalize is to build computable
representation for elementary functions, so it has to accept somewhat
unstuctured input and I do not expect that type of argument can alone
guarantee computability.

Looking now at 'normalize' I think that 'normalize' is wrong.  Namely,
expressions are rational functions of kernels.  If kernels are 
algebraically dependent we risk divion by zero.  Some kernels (like
roots) involve explicit algebraic dependence and simplifier
should be smart enough to reduce then to normal form.  But if
there is dependence between transcendental kernels we have to
'normalize' first. rischNormalize is carefull to use a variable kernel
in computations only after it is normalized.  But 'normalize'
normalizes separately in each variable, so if we have function of
x and y and we normalize first in x we use parts depending on y
before they are normalized.  AFAICS correct version would
normalize simultaneously in all variables.

-- 
                              Waldek Hebisch
address@hidden 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]