MathGroup Archive 1992

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: A Simplify that really simplifies? Summary

  • To: mathgroup at yoda.physics.unc.edu
  • Subject: Re: A Simplify that really simplifies? Summary
  • From: withoff
  • Date: Mon, 5 Oct 92 15:07:24 CDT

> Hi mathgroup,
> Just a short summary of the answers I received concerning 
> my question about simplification rules for Mathematica.
> Actually I received only one hint (Package SubExpressionAccess.m,
> Mathematica Journal Vol.1) which however was only of limited use because
> the Package was also unable to Simplify my trivial example (a^2+2 a b +b^2 +x)
> in an easy manner.
> On the other hand quite a few people said to have similar problems with
> Mathematica. 
> Example:
> >> I hope someone has such a Simplify function. If you find one,
> >> please let me know. I have found this severely limits the usefulness om Mma
> >> for me.
> 
> Sorry, but until know I haven't seen one.
> 
> Heino Falcke

In the specific case of a^2+2 a b +b^2 +x, I'm not sure that
simplifying this expression is a mathematically well-defined
operation.  It's not clear, for example, what this operation
would do with (x^2 + 2 x) or (a^2 + 2 a b + b^2 + 2 a c + c^2).
If the operation isn't well-defined, and there isn't a good set
of heuristics for deciding what to do in ambiguous cases, then
it is quite impossible to implement it in Mathematica or any
other computer program.

One heuristic for partial factoring of sums is to go through the sum
dropping one term at a time and checking to see if the rest of the
sum can be factored.  This heuristic would recognize the first example,
but none of the others.  There are similar heuristics that will recognize
that x^4 + 4 x^3 + 6 x^2 + 4 x is (x + 1)^4 - 1.  All of these methods
suffer from various problems, such as non-trivial dependence on the
form of the input and the names of the variables and coefficients.
Still, a package to implement such a collection of partial factoring
heuristics might be useful in some situations.

It is not possible to incorporate all of these operations into a
single function like Simplify.  Some of the heuristics are
incompatible with each other, and even if they weren't, the resulting
function would be prohibitively slow.






  • Prev by Date: neural nets with Mathematica article
  • Next by Date: Re: excessive LogNormalDistribution timing
  • Previous by thread: A Simplify that really simplifies? Summary
  • Next by thread: Re: A Simplify that really simplifies? Summary