MathGroup Archive 2009

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

Search the Archive

Re: Re: Replace and ReplaceAll -- simple application

  • To: mathgroup at smc.vnet.net
  • Subject: [mg105988] Re: [mg105959] Re: Replace and ReplaceAll -- simple application
  • From: DrMajorBob <btreat1 at austin.rr.com>
  • Date: Tue, 29 Dec 2009 01:20:18 -0500 (EST)
  • References: <26882784.1261873319266.JavaMail.root@n11>
  • Reply-to: drmajorbob at yahoo.com

-1. is a Real, hence an Atom, so it has no subordinate parts.

Bobby

On Mon, 28 Dec 2009 03:55:56 -0600, AES <siegman at stanford.edu> wrote:

> In article <hh72e4$kuj$1 at smc.vnet.net>,
>  "David Park" <djmpark at comcast.net> wrote:
>
>> I don't know how you arrived at the initial expression, but if possible  
>> you
>> could try to enter only exact expressions (avoiding numbers with decimal
>> points, called approximate numbers). Enter approximate numbers only  
>> when you
>> are absolutely forced to. Try to keep all equations symbolic, free of
>> approximate numbers. Also keep them free of units. Then once you have  
>> solved
>> the equations (if you can do that) then substitute data values with
>> approximate numbers and units.
>
> After pondering this for a while, I'd agree that sounds like good advice.
>
> But, there are still lots of opportunities for confusion with "/." and
> rules.  The definition of "/." says:
>
>    ReplaceAll (Built-in Mathematica Symbol)
>    expr /. rules applies a rule or list of rules in an attempt to
>    transform each subpart of an expression expr.
>
>    ReplaceAll looks at each part of expr, tries all the rules on it, and
>    then goes on to the next part of expr. The first rule that applies to
>    a particular part is used; no further rules are tried on that part,
>    or on any of its subparts.
>
> So try
>
>    In[1]:= 1./.{1.->1}
>    Out[1]= 1
>    In[2]:= -1./.{1.->1}
>    Out[2]= -1.
>    In[3]:= a/.{a->b}
>    Out[3]= b
>    In[4]:= -a/.{a->b}
>    Out[4]= -b
>
> Hmmm -- apparently "-1." is _one_ part (or subpart), but "-a" is _two_
> subparts.
>
> I suppose the point is that "-1." is a number (and hence a single thing,
> or single part, that has to be matched), while "-a" is (somehow!) two
> things or two parts -- an operator, and a symbol? -- that are tested
> separately.
>
> Interestingly, a further test shows that "- 1." (note space) is also a
> single part in an expression -- and is in fact matched by "-1." (no
> space) in a rule.
>
> And "-(1.)" is also matched in the same way by "-1." (which seems an
> unfortunate behavior; writing it this way should clearly separate the
> operator "-" from the approximate number).
>
> These behaviors clearly account for my difficulties with rules involving
> I and -I.
>
> But if there's a formal or rigorous definition of "part" or "subpart"
> anywhere in the Mathematica documentation, I have yet to find it.
>


-- 
DrMajorBob at yahoo.com


  • Prev by Date: Re: Re[] function
  • Next by Date: Parallel speedup/slowdown
  • Previous by thread: Re: Replace and ReplaceAll -- simple application
  • Next by thread: Re: Replace and ReplaceAll -- simple application