MathGroup Archive 2010

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

Search the Archive

Re: Replace and ReplaceAll -- simple application

I would say that it only looks like that. What mathematicians (or at 
least "pure mathematicians") usually do, is to study various relations 
between object "up to some sort of equivalence relation". This can look 
like syntactic replacement but actually is quite different - it does not 
allow you to blindly replace one thing by another, for example. The best 
example in Mathematica that comes to my mind is using PolynomialReduce 
to do "mathematical replacement". This replaces polynomials by simpler 
ones which are equivalent up to division by a specified ideal.

There have been over the years many posts by Daniel Lichtblau explaining 
how to do that. This sort of thing is exactly what mathematicians do and 
is quite different from syntactic replacement. The kind of changes that 
have been proposed to syntactic replacement would not help at all with 
this sort of mathematical replacement at all, so the only effect would 
be to sow confusion where there is clarity now (on the programming side) 
without making it in the last easier for anyone trying to do serious 

Andrzej Kozlowski

On 2 Jan 2010, at 19:06, DrMajorBob wrote:

>> ...since replacing one thing with another is
>> not mathematics...
> It's what a mathematician spends much of his time doing, I'd say.
> Bobby
> On Fri, 01 Jan 2010 04:39:36 -0600, Bill Rowe <readnews at> 
> wrote:
>> On 12/31/09 at 3:13 AM, fateman at (Richard Fateman)
>> wrote:
>>> No, I think it is not masochism. It is an attempt to provide a
>>> useful to answer questions that come up from time to time from
>>> people who would otherwise dismiss a CAS as useless and stupid
>>> bedause they find unexplainable (to them) behavior.
>>> Some posts explains that a CAS really could do the mathematically
>>> obviously correct thing, even if it appears they do not.
>> But using pattern matching to do replacements is not doing mathematics.
>>> They may point out that a group of fans insists that the right thing
>>> for users to do is to discard their mathematically obvious
>>> understanding and study programming.
>>> But when the weight of all mathematical obviousness is on one side,
>>> and the developers could fix a bug but simply refuse to do so, then
>>> that is simply stubbornness.
>> Do you have some definition for "bug" other than performance in
>> a manner different than documented?
>> That is, failure of any software to do what a user expects is
>> certainly not a bug if that is what the software is documented
>> to do.
>> The key problem here is a novice user of Mathematica might think
>> of using replacement rules as doing mathematics. That simply
>> isn't the case. And since replacing one thing with another is
>> not mathematics, insisting the result makes sense mathematically
>> simply isn't a realistic expectation.
> --
> DrMajorBob at

  • Prev by Date: Re: algebraic numbers
  • Next by Date: Re: More /.{I->-1} craziness
  • Previous by thread: Re: Re: Replace and ReplaceAll -- simple application
  • Next by thread: Re: Re: Replace and ReplaceAll -- simple application