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> <br><tt>My friend, and former co-worker David Withoff wrote:</tt> <blockquote TYPE=CITE><tt>Leszek Sczaniecki <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. 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. 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. 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> <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> {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> <br><tt>The examples reported by Prof. MacDonald regarding the aesthetics of</tt> <br><tt>results from DSolve are good examples of this. 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. It turns out, however, that there almost certainly is no</tt> <br><tt>general solution. There is no algorithm to make an expression</tt> <br><tt>aesthetically pleasing. 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> <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. "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> <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> </html> --------------622E880223FC3AE6314CEB4D--