Dear List members,
What follows is about the questions raised by Mark Evans [mg8988] and
[mg9020] and several of the reactions it has already caused.
* About Mathematica Wizards, Condescendant answers
Why do I subscribe to this newsgroup/mailing list ?
Clearly because reading questions from every member
is a good opportunity to check my own knowledge of
Mathematica and motivate me going deeper in the use
and mastering of this programming language (as well
as learning bits of mathematics and physics).
So clearly I benefit from "Dumb User Questions"
and I take the time to answer some of them.
Clearly, there are people a lot more systematic
and fast to draw than me on this job. To quote
a few David Withoff (of WRI), Paul Abbott, Allan Hayes.
And every time I read their answers, I found them
kind to their interlocutors, sometimes taking
great pain to build a workable example or decipher
the original question.
* Mathematical knowledge in Mathematica ?
Matthias Weber wrote:
> Ideally, one would like a formal proof of Mathematica's claims.
> This being too much (really ? I don't know.), it would be nice
> to be able to get some sort of information what the more complex
> functions of Mathematica were doing in a special situation. I figure
> that Simplify uses certain sets of rules, and it would be nice if
> one would be notified about which sets were used.
>
> I know that I am asking in fact for a more complicated system,
> one which would be even more difficult to understand and to program.
First: formal or peer-reviewed certification of Mathematica algorithms
would certainly be a very strong point for WRI both as a public mark of
excellence and as a token of openness towards users and the research community.
Just quoting (but without bibliography) bunches of algorithm names as
it is done in the Book is not enough. There is certainly a middle
point to find between protecting industrial secrets and giving a fair
chance to researcher and users to give a valuable input to WRI in return.
This would also certainly help researchers recognize WRI achievements
and the help Mathematica has provided to so many people.
Second: Among Mathematica 3.0 Demos, there is a step by step derivation code.
I find it really nice for teaching and self-teaching purposes.
For doing this, the author had to rewrite a derivate code,
inserting proper hooks and messages.
What was perfectly doable in this case would have not been practical
for commands like Simplify or Integrate which concentrate so much
knowledge and experience. Clearly, only people at WRI can do that
in these cases. It would not complicate unduly the use of Mathematica.
Just having a selectable level of technicality and a level of detail for
comments on processes being tried. As the Book points out, in many
cases algorithms suitable to computer programs would not be sensible
to try by hand and inversely you cannot count on human insight to
direct an internal process but this is not a reason to discard such
a feature altogether.
Third: It leads naturally to an interesting problem in Mathematica:
accessing the mathematical knowledge it contains. Large Black Boxes
like Integrate or Sum or DSolve are organized in a competitive spirit:
"Do everything you can to get a definitive answer but if you do not
succeed just leave it alone".
A computer algebra system or a human being cannot solve every mathematical
problem one can dream of. But a human learns a lot asking questions
and partial answers are informative. If we want to make Mathematica
a more pleasant system to use in many situations we must learn from
its (sometimes unsuccessful) tentatives to solve our question and
make it a way to share the scientific knowledge it contains which was
accumulated by generations of people for several thousands of years.
This is why I propose a new series of commands, something we could
call QSolve, QDSolve, QIntegrate, etc... (to mimic the current N
prefix of numerical versions) which would analyze the
input and give as many conclusions on its nature and qualitative
aspects as possible (Q is for Query or Question).
A trivial example:
QDSolve[ y''[x] + y'[x] + y[x] == f[x], y[x], x]
would give something like:
"This looks like a second-order linear differential equation.
The unknown function is y and the variable is x.
There is a 2-dimensional set of solutions. You can specify
a precise solution by giving 2 initial conditions.
I will not be able to integrate it completely for y[x] until I have
more information on f[x]. f[x] should be continuous."
And much more...
I am very interested by your opinion on this proposal.
* Making Mathematica easy to use and learn.
Compared to improving the inner workings of the Kernel and the
Front End, there is much that every Mathematica user can do -- and
especially members of this list -- to make Mathematica easier to learn
and use for a variety of publics. And first make Notebooks
about subjects you know, you teach or work on. Try to take advantage
of the difficulties you eventually learning Mathematica language
by writing your experience out. This list is
a place where you can advertize what you have done and have plenty
of benevolent review and beta-testing, initiate teamwork,
ask for resources.
* What is the public of Mathematica ?
Jens-Peer Kuska, after making a lot of other repositionning
comments on Mark Evans' post, wrote (was it a joke?):
>
> It might be a good idea to put some people from the street say
> - a police men
> - a house wife
> - a school boy (age 9 or 10 years)
> - a taxi driver
>
> an let them perform some tasks like
> - solving an integral equation
> - solving a partial differential equation
> - drawing the Riemann surface of a polynom equation of order > 5
> - find the eigenfunctions of a helium atom
>
> monitoring the mistakes will make Mathematica also more intuitive.
>
It might look ironic, but I see these people as possible Mathematica
users. A police man with a strong interest in math or keen to know
more to help his children learn mathematics or to understand some
aspects of this sophisticated discipline: forensics ; a bright school boy
bored by the progressiveness of the math program wanting to explore
by himself; a house wife (or a house husband) modeling whatever with
Mathematica; a taxi driver with a PhD but no academic position or salary
available (not so rare in East European Countries and more and more frequent
in other countries) wanting to practice. Do you need more examples ?
As Mark Evans pointed out in his second post, the real trouble is
with highly educated people without flexibility towards tools and
programming.
Charles loboz wrote:
> I do not like mma interface that much, feels awkward. Still, we are dealing
> here with a product appealing to a very limited market (in comparison with,
> say, Excel)
I must disagree with this sophism. Innovation is not RealPolitik.
I would have liked more details on your feelings and what you would dream
about.
Certainly more comments in a future post.
Olivier Gerard