MathGroup Archive 1999

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

Search the Archive

Re: Re: Mathematica can't win against Tiger Woods

  • To: mathgroup at smc.vnet.net
  • Subject: [mg19811] Re: [mg19765] Re: [mg19677] Mathematica can't win against Tiger Woods
  • From: Leszek Sczaniecki <leszek2 at home.com>
  • Date: Fri, 17 Sep 1999 01:36:54 -0400
  • Sender: owner-wri-mathgroup at wolfram.com


My friend, and former co-worker David Withoff wrote:

> Leszek Sczaniecki <leszek2 at home.com> wrote:
>
> > To many times I tried to replicate simple computations done by hand with
> > Mathematica and was not able to get results that would justify the use of an
> > expensive computer algebra system. Therefore, I understand very well the
> > frustration of Prof. MacDonald. Here is a recent example.
> >
> > ...
> >
> > Here is my point. Mathematica can certainly do plenty of problems much
> > better than human. But, it is very, very frustrating, that in trivial
> > cases the system often produces results worse then those delivered by a
> > human. I see this as the challenge for Mathematica developers. The system
> > should always produce better results than human. Presently, Mathematica
> > is a tool for some kind of "scientific lower middle class". It is way to
> > weak for people, who do serious mathematics or theoretical physics, and
> > way to complicated for pedestrians. If Wolfram Research Inc. truly intents
> > to reach "masses", it has to be more sensitive to their needs.
>
> Although the examples that led to your closing generalizations are
> justified, those generalizations are wrong, for two important reasons:
>
> First, the highest priority in developing almost any tool, including
> Mathematica, is to enable you to do new things, not to provide yet another
> way of solving problems that have already been solved.  The computer and
> your brain operate on fundamentally different principles, so it should
> come as no surprise that they are good at different things.  Although it
> is sometimes useful, such as for checking your work, or as an academic
> exercise, to duplicate calculations on a computer, the best practical
> advice is to use Mathematica for things that Mathematica is good at,
> and to use your brain for things that your brain is good at.  Anything
> else is a misuse of both tools.

Think about the education which is precisely about solving again and
again old problems. How you are going to justify the usefulness of
Mathematica in education, if it can't easily replicate known results?
Using Mathematica notebook makes sense only if you want an interactive
technical document. For just documenting your computations a publishing
software such as FrameMaker would be more appropriate.

Here in trenches most of people are not interested of learning how a
technical computing system solves irrelevant, from their point of view,
problems. They want the computer to solve THEIR problem, relieve them
from their tedious, mechanical, or complicated tasks.

> A second misunderstanding is this notion that if something that we all
> want to do is difficult to do in Mathematica, it must be because the
> people who wrote the program need to be "more sensitive to [our] needs".

Here is an example of what I meant by insufficient sensitivity to
user's needs. It is absolutely critical for finance applications to
have fixed point display of numbers with trailing zeros and Round that
rounds x.5 up and not toward the nearest even integer. They are easy to
implement on the kernel level. In past Round was rounding x.5 up so the
code should be somewhere. Why Round cannot have an option Method with
values IEEE, Up, etc.? I brought these issues many times.  The only
answer was: "Write your own functions". I wrote the functions, but
others just abandoned the system. Wolfram lost.

>
> The truth is that if some useful problem hasn't been solved in Mathematica
> it is usually because it is a really hard problem, or because no one quite
> knows how to solve it.

This is not the case here. Systems of linear differential equations are very
popular and useful in physics, engineering, chemistry, economics, and many other
fields. Their solution is known for very long time, perhaps even from nineteen
century.

In 3.0 Solve produces this result:

In[1]:= Solve[{p==b^2/a,e==Sqrt[a^2-b^2]/a}, {a, b}] // InputForm

Out[1]//InputForm=
{{b -> -(p/Sqrt[1 - e^2]), a -> -(p/(-1 + e^2))},
 {b -> p/Sqrt[1 - e^2], a -> -(p/(-1 + e^2))}}

So, it is possible to have the expected form.

>
> The examples reported by Prof. MacDonald regarding the aesthetics of
> results from DSolve are good examples of this.  The people who are
> responsible for this part of Mathematica are acutely aware of these
> examples, and have struggled on a number of occasions with possible
> solutions.  It turns out, however, that there almost certainly is no
> general solution.  There is no algorithm to make an expression
> aesthetically pleasing.  Probably the only viable approach will be to
> hack in a collection of heuristics and special cases to give improved
> results most of the time, and to do so with sufficient care so as not
> to significantly interfere with the performance of other examples.
> In other words, it is a really hard problem.

This is not solely the issue of aesthetics. Fact that Mathematica returns

(E^(a*t)*(b*g*t + (a^2 + b^2)*C[3]) + (-(a*C[1]) + b*C[2])*Cos[b*t] +
(b*C[1] + a*C[2])*Sin[b*t])/((a^2 + b^2)*E^(a*t))

as oppose to

((b*g*t) + E^(-a*t)((-(a*C[1]) + b*C[2])*Cos[b*t] + (b*C[1] + a*C[2])*
Sin[b*t]))/((a^2 + b^2)) + C[3]

indicates deficiencies of FullSimplify. Did you try using visible character count
as the criteria for simplifying expression?

>
> The best advice is to choose the right tool for the right job.

So what is that right job for Mathematica? Isn't Mathematica "A system for doing
mathematics by computer" and "The world's only fully integrated technical
computing system"?

> You
> will only be stuck in a "scientific lower middle class" if you spend
> your career trying to coax a machine to do things that are best done
> by hand, or wasting time doing by hand all of those laborious
> calculations that the rest of us do using Mathematica.

Regarding my career, trust me, Mathematica has very long way to go to
be able to perform the computations I can do by hand in the areas such
as operator differential equations, functional integration, calculus of
distributions, stochastic differential equations, partial differential
equations, quantum and classical electrodynamics.  "The rest" have to
wait.:-) Indeed, for several years, I often used my skills to
compensate deficiencies of Mathematica for promotional purposes, what
some see as wasting of time.:-)

>
> Dave Withoff
> Wolfram Research

I do intend to use Mathematica at least for few years and I am truly
interested in its well being. I tried to be helpful to you (and
consequently to me) by pointing up some important areas for
improvement. The tone of your response seems to suggest that my posting
has been mistakenly interpreted as an attack at Wolfram/Mathematica.
There is nothing simpler for me than keeping my opinions for myself and
spending my free time in better ways than writing articles to
comp.soft-sys.math.mathematica. Though, in long term, I would consider
this as a loss for WRI.

Best regards,

-- Leszek

--------------622E880223FC3AE6314CEB4D

<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
&nbsp;
<br><tt>My friend, and former co-worker David Withoff wrote:</tt>
<blockquote TYPE=CITE><tt>Leszek Sczaniecki &lt;leszek2 at home.com> wrote:</tt>
<p><tt>> To many times I tried to replicate simple computations done by
hand with</tt>
<br><tt>> Mathematica and was not able to get results that would justify
the use of an</tt>
<br><tt>> expensive computer algebra system. Therefore, I understand very
well the</tt>
<br><tt>> frustration of Prof. MacDonald. Here is a recent example.</tt>
<br><tt>></tt>
<br><tt>> ...</tt>
<br><tt>></tt>
<br><tt>> Here is my point. Mathematica can certainly do plenty of problems
much</tt>
<br><tt>> better than human. But, it is very, very frustrating, that in
trivial</tt>
<br><tt>> cases the system often produces results worse then those delivered
by a</tt>
<br><tt>> human. I see this as the challenge for Mathematica developers.
The system</tt>
<br><tt>> should always produce better results than human. Presently, Mathematica</tt>
<br><tt>> is a tool for some kind of "scientific lower middle class". It
is way to</tt>
<br><tt>> weak for people, who do serious mathematics or theoretical physics,
and</tt>
<br><tt>> way to complicated for pedestrians. If Wolfram Research Inc.
truly intents</tt>
<br><tt>> to reach "masses", it has to be more sensitive to their needs.</tt>
<p><tt>Although the examples that led to your closing generalizations are</tt>
<br><tt>justified, those generalizations are wrong, for two important reasons:</tt>
<p><tt>First, the highest priority in developing almost any tool, including</tt>
<br><tt>Mathematica, is to enable you to do new things, not to provide
yet another</tt>
<br><tt>way of solving problems that have already been solved.&nbsp; The
computer and</tt>
<br><tt>your brain operate on fundamentally different principles, so it
should</tt>
<br><tt>come as no surprise that they are good at different things.&nbsp;
Although it</tt>
<br><tt>is sometimes useful, such as for checking your work, or as an academic</tt>
<br><tt>exercise, to duplicate calculations on a computer, the best practical</tt>
<br><tt>advice is to use Mathematica for things that Mathematica is good
at,</tt>
<br><tt>and to use your brain for things that your brain is good at.&nbsp;
Anything</tt>
<br><tt>else is a misuse of both tools.</tt></blockquote>
<tt>Think about the education which is precisely about solving again and
again old problems. How you are going to justify the usefulness of Mathematica
in education, if it can't easily replicate known results? Using Mathematica
notebook makes sense only if you want an interactive technical document.
For just documenting your computations a publishing software such as FrameMaker
would be more appropriate.</tt>
<p><tt>Here in trenches most of people are not interested of learning how
a technical computing system solves irrelevant, from their point of view,
problems. They want the computer to solve THEIR problem, relieve them from
their tedious, mechanical, or complicated tasks.</tt>
<blockquote TYPE=CITE><tt>A second misunderstanding is this notion that
if something that we all</tt>
<br><tt>want to do is difficult to do in Mathematica, it must be because
the</tt>
<br><tt>people who wrote the program need to be "more sensitive to [our]
needs".</tt></blockquote>
<tt>Here is an example of what I meant by insufficient sensitivity to user's
needs. It is absolutely critical for finance applications to have fixed
point display of numbers with trailing zeros and Round that rounds x.5
up and not toward the nearest even integer. They are easy to implement
on the kernel level. In past Round was rounding x.5 up so the code should
be somewhere. Why Round cannot have an option Method with values IEEE,
Up, etc.? I brought these issues many times. The only answer was: "Write
your own functions". I wrote the functions, but others just abandoned the
system. Wolfram lost.</tt>
<blockquote TYPE=CITE>&nbsp;
<br><tt>The truth is that if some useful problem hasn't been solved in
Mathematica</tt>
<br><tt>it is usually because it is a really hard problem, or because no
one quite</tt>
<br><tt>knows how to solve it.</tt></blockquote>
<tt>This is not the case here. Systems of linear differential equations
are very popular and useful in physics, engineering, chemistry, economics,
and many other fields. Their solution is known for very long time, perhaps
even from nineteen century.</tt>
<p><tt>In 3.0 Solve produces this result:</tt>
<p><tt>In[1]:= Solve[{p==b^2/a,e==Sqrt[a^2-b^2]/a}, {a, b}] // InputForm</tt>
<p><tt>Out[1]//InputForm=</tt>
<br><tt>{{b -> -(p/Sqrt[1 - e^2]), a -> -(p/(-1 + e^2))},</tt>
<br><tt>&nbsp;{b -> p/Sqrt[1 - e^2], a -> -(p/(-1 + e^2))}}</tt>
<p><tt>So, it is possible to have the expected form.</tt>
<blockquote TYPE=CITE>&nbsp;
<br><tt>The examples reported by Prof. MacDonald regarding the aesthetics
of</tt>
<br><tt>results from DSolve are good examples of this.&nbsp; The people
who are</tt>
<br><tt>responsible for this part of Mathematica are acutely aware of these</tt>
<br><tt>examples, and have struggled on a number of occasions with possible</tt>
<br><tt>solutions.&nbsp; It turns out, however, that there almost certainly
is no</tt>
<br><tt>general solution.&nbsp; There is no algorithm to make an expression</tt>
<br><tt>aesthetically pleasing.&nbsp; Probably the only viable approach
will be to</tt>
<br><tt>hack in a collection of heuristics and special cases to give improved</tt>
<br><tt>results most of the time, and to do so with sufficient care so
as not</tt>
<br><tt>to significantly interfere with the performance of other examples.</tt>
<br><tt>In other words, it is a really hard problem.</tt></blockquote>
<tt>This is not solely the issue of aesthetics. Fact that Mathematica returns</tt>
<p><tt>(E^(a*t)*(b*g*t + (a^2 + b^2)*C[3]) + (-(a*C[1]) + b*C[2])*Cos[b*t]
+</tt>
<br><tt>(b*C[1] + a*C[2])*Sin[b*t])/((a^2 + b^2)*E^(a*t))</tt>
<p><tt>as oppose to</tt>
<p><tt>((b*g*t) + E^(-a*t)((-(a*C[1]) + b*C[2])*Cos[b*t] + (b*C[1] + a*C[2])*</tt>
<br><tt>Sin[b*t]))/((a^2 + b^2)) + C[3]</tt>
<p><tt>indicates deficiencies of FullSimplify. Did you try using visible
character count as the criteria for simplifying expression?</tt>
<blockquote TYPE=CITE>&nbsp;
<br><tt>The best advice is to choose the right tool for the right job.</tt></blockquote>
<tt>So what is that right job for Mathematica? Isn't Mathematica "A system
for doing mathematics by computer" and "The world's only fully integrated
technical computing system"?</tt>
<blockquote TYPE=CITE><tt>You</tt>
<br><tt>will only be stuck in a "scientific lower middle class" if you
spend</tt>
<br><tt>your career trying to coax a machine to do things that are best
done</tt>
<br><tt>by hand, or wasting time doing by hand all of those laborious</tt>
<br><tt>calculations that the rest of us do using Mathematica.</tt></blockquote>
<tt>Regarding my career, trust me, Mathematica has very long way to go
to be able to perform the computations I can do by hand in the areas such
as operator differential equations, functional integration, calculus of
distributions, stochastic differential equations, partial differential
equations, quantum and classical electrodynamics.&nbsp; "The rest" have
to wait.:-) Indeed, for several years, I often used my skills to compensate
deficiencies of Mathematica for promotional purposes, what some see as
wasting of time.:-)</tt>
<blockquote TYPE=CITE>&nbsp;
<br><tt>Dave Withoff</tt>
<br><tt>Wolfram Research</tt></blockquote>
<tt>I do intend to use Mathematica at least for few years and I am truly
interested in its well being. I tried to be helpful to you (and consequently
to me) by pointing up some important areas for improvement. The tone of
your response seems to suggest that my posting has been mistakenly interpreted
as an attack at Wolfram/Mathematica. There is nothing simpler for me than
keeping my opinions for myself and spending my free time in better ways
than writing articles to comp.soft-sys.math.mathematica. Though, in long
term, I would consider this as a loss for WRI.</tt><tt></tt>
<p><tt>Best regards,</tt>
<p><tt>-- Leszek</tt>
<br>&nbsp;</html>

--------------622E880223FC3AE6314CEB4D--


  • Prev by Date: Re: Re: Mathematica can't win against Tiger Woods
  • Next by Date: Re: simple Simplify[] question
  • Previous by thread: Re: Re: Mathematica can't win against Tiger Woods
  • Next by thread: Re: Re: Mathematica can't win against Tiger Woods