square root expression simplification




On Mon, 1 Nov 2010, Richard Fateman wrote:

< Here is a suggestion on simplification, in terms of setting policy.
< 
< Each person who makes a suggestion must fit it into a table, for
< simplification
< of  x^y.   (simpexpt program, or some subroutine of it will implement the
< policy).
< 
< Across the top of the table you list the characteristics of x, and down the
< side
< you list the characteristics of y.  The entry in the table says what to
< return.
< 
< the characteristics for x include:
< 
< x is an atomic symbolic literal
< x is an explicit positive integer
< x is an explicit positive rational number
< x is an explicit negative rational number
< x is zero
< x is a symbolic expression of the form (a^(z))  where gcd(1/z, y)= n >0, and
< a=polynomial.
< x is a symbolic expression that, after factoring, is of the form a^z ..
< x can be deduced by using assumptions to be positive, negative, non-negative,
< ....
< 
<  and many more.
< 
< 
< The characteristics for y include some of the same characteristics for x, but
< may include more
< 
< There may also be a need for additional tables. For example, a whole new table
< for each combination
< of global flags that affect the simplification of x^y.   If there are 3 such
< flags, each true/false, then there
< may need to be 8 tables.


 RJF,
 Your suggestion is silly, a straw man.

 You apparently are trying to ridicule the notion that one should be
 explicit about the simplification policies one uses.

< 
< Now if someone says, here's an example that I would like to come out in a
< particular way, it is
< important to check all the entries in related rows and columns to see if that
< leads to an inconsistency.

Indeed, and that is why only a handful of policies would be/are remotely
useful.

My point is that we'd be better off if we explicitly
declared simplification is a matter of policy and then provided a
convenient means to choose broad policies. Michel Talon's example
of Maple's 'kamikaze' policy fits in here.

I tend to think this would have the benefit of forcing users
to be explicit about their choice of policy.

< 
< Here is the kind of inconsistency that tends to come up.
< 
< Simplifying    f(x,y)  results in g(x,y),   symbolically.
< 
< but substituting particular numeric values for x, and y,   say x0 and y0,
< gives DIFFERENT values for f(x0,y0) and g(x0,y0).
< 
< Here is another:
< 
< While f(x,y) appears to be an analytic function,  g(x,y) is not continuous, or
< not differentiable.
< 
< Deciding that sqrt(4) must be 2 seems harmless, but what policy does that
< imply, for consistency,
< for (4)^(1/4)?    Note, incidentally, that some writers consider sqrt(x)  and
< x^(1/2)  to have different
< meanings.

It seems to me that simplification cannot be consistent and therefore
the user should have some choice where these inconsistencies arise.

Leo

-- 
The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336.