MathGroup Archive 2010

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

Search the Archive

Re: Re: More /.{I->-1} craziness

  • To: mathgroup at
  • Subject: [mg106598] Re: [mg106555] Re: More /.{I->-1} craziness
  • From: Leonid Shifrin <lshifr at>
  • Date: Sun, 17 Jan 2010 07:30:48 -0500 (EST)
  • References: <> <hhhmn8$o9t$>

Hi Tony,

I feel obliged to reply since your interpretation of those parts of my posts
which you keep citing is not quite what I meant, but I hope that this is my
last post in this thread.

On Sat, Jan 16, 2010 at 3:11 AM, AES <siegman at> wrote:

> > In article <hhpl28$9lf$1 at>,
> >  Leonid Shifrin <lshifr at> wrote:
> >
> > >
> > > I stick to my view of replacement rules as being aimed primarily at
> advanced
> > > users, or at least as a tool that should be used with much care.
> And one or two other responses in this thread have suggested that users
> should be given advanced training in the functioning and fine details of
> ReplaceAll before they even begin to use Mathematica.
> This latter proposal strikes me as a really crazy proposition, and
> essentially impossible in the real world.

I think that the notion of the real world is a moving target, and besides
continuously changing. I don't think most of research and engineering in the
near future will be done like it is now. In particular, the conventional
research process may learn a thing or two from the modern software
development techniques, in terms of making the generated knowledge more
universally accessible and useful to a wider audience than just experts in
that particular field with many years of experience in it.  I expect that
tools allowing automation and synthesis will in the near future play no less
important role than tools for specialization.

IMO, in lots of fields more than enough of specialized knowledge has been
generated already. At least in the fields I've been working, the annual
number of new articles increased dramatically since the seventies or
eighties, but very few of these papers can compare in quality with an
average good paper from that period. I  think that at least partially this
is a problem of communication between different sub-domains which became
very specialized - resembles to me the Babel tower somewhat.  But to
efficiently combine specialized knowledge, you need some common denominator.
I view Mathematica as one of the candidates for tools to be widely used in
this spirit.

So, addressing specifically your statements: indeed, viewed as a tool for
specialization, learning  Mathematica on a decent level may seem  too much
of a burden since most specific problems require only a fraction of its
power. But I think  that in the near future ultra-specialization will be
generally no longer enough for people to stay competitive in whatever they
will be doing, exactly due to the large amounts of potentially useful
knowledge having been already generated in other (sub)fields and waiting to
be utilized.  This is only my personal opinion anyway, the time will show
who is right.

Regarding your specific queries about ReplaceAll etc, just two comments:

1. The whole topic of this thread is based on an exceptional situation
(considering auto-evaluation of I and a couple of other symbols), and there
are really just a few of such exceptions, so I don't think it is appropriate
to base general statements on these.

2. For anyone with a decent understanding of Mathematuca pattern-matching
and evaluation, all these things don't pose any problem at all - and these
two topics are not that hard to learn either.


> Suppose an instructor of EE or physics undergraduates in an already
> crammed and time-limited introductory network analysis or mechanics
> course starts by going through some simple phasor analyses of linear
> electric circuits or coupled mechanical systems with one or two
> resonances "by hand".
> Then, as take-home exercises, the students are asked to analyze and plot
> some 3 or 4 or 5-resonance cases using Mathematica and Manipulate (which
> can be a very pleasant as well as educational experience), but to do
> this the students first have to have a training course on Mathematica at
> the level suggested above?  Not gonna happen.
> Or, as a broader approach, suppose that training in Mathematica at this
> level is going to be expected or required (before or after admission) of
> all incoming college students who might go into any Mathematica-using
> field of study, before they can take meaningful courses in that field?
> Not gonna happen.
> In any case, waking up this morning after reading 60 or 70 posts in this
> thread last night I realized that in 20+ years of using Mathematica I've
> always had a mental model of ReplaceAll as being essentially an
> **editing** tool, rather than a "mathematical" tool (whatever
> interpretation you might give to mathematical in that phrase).
> When I typed in  f = expr /. rule, I expected that rule would be applied
> to expr as I originally typed it in -- or, better, to expr as
> Mathematica played it back to me in an Output cell when I typed it in
> earlier (very hard to argue with this latter interpretation, is it
> not?).  Only then would that edited version of expr be evaluated and
> assigned to f.
> Isn't this more or less how the Find and Replace All capabilities
> function in every other ordinary software program known to man?
> (And isn't it how the construct /. almost always in fact functions,
> regardless of what internal shenanigans Mathematica goes through in
> processing it?)
> And as a final query:  Is there a formal name in Mathematica for the
> string of characters that one types in and then sees in an Input cell
> before (and after) one hits the Enter key?  Referring both to this
> character string and to the internal representation of this input string
> inside Mathematica as an "expression" -- in fact, the same expression --
> is certainly a recipe for confusion, in debate and in understanding.

  • Prev by Date: Re: Re: Simplify with NestedLessLess?
  • Next by Date: Thank you for your kind help
  • Previous by thread: Re: Re: More /.{I->-1} craziness
  • Next by thread: Re: More /.{I->-1} craziness