Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Work on Basic Mathematica Stephen!

626 views
Skip to first unread message

djmpark

unread,
May 12, 2013, 3:28:34 AM5/12/13
to
(I've renamed this and started a new thread because my reply is not exactly
to the question.)

Oh, what a wonderful Wolfram blog! Earlier Stephen hinted at Mathematica as
an iPhone app. Now it's data mining Facebook data (Gee I wonder if
Zuckerberg has thought of that? He might be able to develop a great business
model.) Can Twitter be far behind? There are many significant mathematical
equations that will fit into 64 characters - or whatever the limit is.
Ramanujan would probably have done well on Twitter. And women are more
interested in personal relationships and men are more interested in sports?
Who would have thought? The average person on Facebook has 342 friends! Well
there are friends and there are friends. Montaigne wrote that his friendship
with Etienne de La Bo=E9tie was such that "So many coincidences are needed to
build [it up] that it is a lot if fortune can do it once in three
centuries." One might say, ephemera in ephemera out.

For the dwindling few of us who still have desktop computers and large
screens, or maybe two large screens, who are interested in learning or doing
some extended mathematics, and the even fewer who would like to write
literate Mathematica notebooks as technical documents, I wonder if Stephen
could find some time to attend to basic Mathematica, fixing its problems and
fulfilling its vision?

Mathematica lacks stability. Things that worked fine in one version don't
work in the next. Especially troubling to me is the basic user interface.
This got much worse in Version 9 with outright bugs that are in your face
all the time. For example: often if I click in an existing Input cell and do
a line return the Messages window opens with a contact WRI if this happens
message. Or if one clicks after a word in a Text like cell and uses Ctrl+K
for spell checking the message window again opens with a similar message. I
like to use spell check a lot so this is especially annoying to me. I don't
see why WRI couldn't have fixed these problems by now. (Or introduced an
actually useful feature to spell check a selection such as a Text cell or a
Section.)

The Version 9 command completion feature, which used to be great, no longer
works well. I have turned off the auto completion feature but what is left
still does not work as well as the Version 8 behavior. For example, if one
types:

Carm

and then uses Ctrl+K to complete the command, there is only one choice,
CarmichaelLambda. In Mathematica 8 the symbol would be automatically completed and the cursor would be left at the end of the word. But now it brings up a menu,
even though there is only one choice, and one must click the menu. But you
are not finished yet! No there is another menu (somewhat displaced so you
may miss it), which is the equivalent of Ctrl+Shift+K and which we could
have done if we wanted, so one must by-pass that by clicking at the end of
CarmichaelLambda to get back to the normal typing entry. That's two extra
clicks added. You might say that's not much, but when it's at the basic
entry point for material in a notebook it is a lot.

One has to wonder how many parsers there are in Mathematica for kernel,
front end, packages, workbench and how their behavior shifts around between
versions? Can one copy and paste an expression without its underlying
representation changing? I suspect this may be a nagging underlying source
of instability.

I realize and appreciate that WRI continues to add new capabilities to
Mathematica and this inevitably results in learning and stability problems.
There could be better design efforts on these things and more professional
testing so the designs would stick and work well. Progress might be slower
but it would be surer.

Doing mathematics is not social media. It's not done that well on an iPad.
And iPhone, iPad technology is not necessarily appropriate for Mathematica.
People do not want to scroll two 25" screens with their hands. Just ask
Microsoft.

Mathematics and Mathematica are intrinsically difficult enough as it is.
That makes it all the more important that WRI present users with a stable,
robust, easy to use basic interface. WRI had not done the best job they
could at this and not what one would expect for a relatively expensive
product.


David Park
djm...@comcast.net
http://home.comcast.net/~djmpark/index.html


From: r.b.n...@gmail.com [mailto:r.b.n...@gmail.com]


I'm interested in making word cloud graphics, as demonstrated in the recent
Wolfram Blog post
http://blog.wolfram.com/2013/04/24/data-science-of-the-facebook-world/ (near
the end of the post). Does anyone have a function that will do this?

Thanks,

Bob


Murray Eisenberg

unread,
May 13, 2013, 3:48:14 AM5/13/13
to
Well put: "ephemera in ephemera out."

As a possible, simple-minded explanation of what WRI is up to: surely they're faced at any given time with a given customer base. To gain new customers, they need to add new areas of applicability, whether through adding them directly to Mathematica or by creating new Mathematica-based products.
---
Murray Eisenberg
mur...@math.umass.edu
Mathematics & Statistics Dept.
Lederle Graduate Research Tower phone 413 549-1020 (H)
University of Massachusetts 413 545-2838 (W)
710 North Pleasant Street fax 413 545-1801
Amherst, MA 01003-9305






djmpark

unread,
May 13, 2013, 3:48:30 AM5/13/13
to
That is not the way to gain new customers. It is just adding doo-dads,
usually in a confusing and insufficient manner. Sometimes less is more if
the less is workable and the more is not.

Think of the various types of calligraphy. The tools are very simple and
limited and yet what beautiful results can be produced! But the tools have
to work and not be continually presenting problems or unnecessary choices to
the artist. What even more beautiful results could be produced with
Mathematica - if the basic interface allows the writer to concentrate on his
or her ideas.

Mathematica cannot directly provide all mathematical services because there
are just too many possibilities and the people at WRI are not expert enough
in all areas and do not have the time or experience. Many useful
applications will be specialized in some respects but will have many extra
convenience routines for the particular application. WRI has to concentrate
on providing core routines both for mathematical calculation and basic
presentation constructs. It may be difficult to decide what should be a core
routine, but just adding on things willy-nilly is not likely to succeed.
Good add-on Applications should be a basic mechanism for extending
Mathematica. WRI does an extremely poor job at explaining how to write
Applications and the Workbench support is only barely adequate. (I do have a
rather extended discussion on writing Applications in the Presentations
Application, including where to put them, how to set up folder structures,
and how to provide certain and convenient access for users - for those who
might be interested.)

The entry point for input to a Mathematica notebook should be absolutely
CLEAN with NOTHING there except what has already been entered and the entry
point. If the writer needs assistance he should request it. Without
requesting help it should be invisible. The basic methods for requesting
assistance should be hot keys or the right click context menu, or possibly
the Mathematica Menu. Why couldn't Wolfram Alpha be on the context menu
instead of an in-your-face doo-dad button on every new Input cell, which
also appears and often gets in the way of text in created windows? Some of
the choices there are already on the context menu. And there is a
WolframAlpha routine. And you can also get it just by typing ==. I wonder
what percentage of Input cells become WolframAlpha? It is a nice but
occasional feature. It isn't worth sacrificing a clean interface when there
are so many easy alternatives.

WRI already makes a fair use of the context menu and they could make even
better use. In Windows one can right click within a folder and get a New
entry on the context menu. One of the new items that can be created is a
Mathematica Notebook. It would be very nice if they could add a Mathematica
Package to the list. (Maybe Microsoft creates the list from installed
applications and WRI can't control it? Or can't set .m files as a file
type?) Once one has set up a proper Application structure it is really easy
to write packages. Getting the package in the right place is another little
speed bump that deters writers. In Input cells the context menu has an
"Insert Special Character..." entry. This would also be useful in Text and
text like cells, where it is missing. It would be nice if spell checking was
on the context menu for Text cells and the various Section cells - to just
check those selections.

As for the Suggestions Bar after output, I think it is rather dubious for
most writers to have WRI rewrite their code. But I recall that one poster
said he liked it because it reminded or introduced him to routines that he
was unaware of. Which suggests that a really useful feature would be
somewhat different. Why not have a "See Also" context menu entry for Input
cells that brought up a list of relevant routines and links to their
Function pages. This kind of targeted and selected shortcut into Help would
be quite useful.

One built-in feature of Mathematica that seems inadequate to me is Grid for
constructing tables. I wonder how many people use Mathematica to write
custom tables, say with blocks with different background colors, and special
dividers and fonts and things like that. Tables are an important method of
conveying technical information and I wonder if the difficult Grid
construction dominated by Option programming mitigates against using
Mathematica as a communication medium.

It would also be interesting to know how much use the new "add-on" features
such as units and tensor get. It would be nice to hear positive or negative
comment.

Although I'm a heavy user of Mathematica, I may not be typical and my
suggestions might be off the mark or just plain incorrect. Nevertheless I
think public discussion of where Mathematica should go can only be helpful.

psycho_dad

unread,
May 13, 2013, 3:47:58 AM5/13/13
to
I definitely agree with this. Mathematica needs a bug fixing update asap. Perhaps, smaller and more often patches/updates a-la-Firefox would be better? And then you can have a big version every 2 years or so.

R Martinez

unread,
May 13, 2013, 3:48:24 AM5/13/13
to
All,

Count me as one who has been using Mathematica since Version 1, and who uses Mathematica for serious Mathematics and for teaching. Mathematica enables me to do things expeditiously that would take a tremendous amount of effort to do otherwise. So I love Mathematica. I wish I'd had it when I was in college.

Having said that, I agree with many of David Park's comments, especially about the Front End and stability. I would like to see Wolfram Research pay attention to David's constructive criticisms.

Adding my bit to David's comments about Front End stability, I'm one who complained about the new default notebook style that surfaced in Mathematica 9. The fonts and text color used in the new default style are ugly. Moreover, opening an old Mathematica 8 default notebook in Mathematica 9 changed all the fonts and colors to the new undesirable ones. I complained to Wolfram (apparently I was not alone) and a workaround was found by including the Mathematica 8 version notebook as a style that one has to select (as opposed to the default style). So Wolfram was responsive, but the lack of foresight remains: Why not reverse roles and include the new default notebook style as an option and keep the old one as default? This would address one aspect of stability that David eloquently describes.

So yes, Wolfram, please pay attention to Mathematica and the effect changes on users, particularly the stability issue. Change is good, but it has to be done well.

Raul Martinez




On May 12, 2013, at 12:28 AM, djmpark <djm...@comcast.net> wrote:

> (I've renamed this and started a new thread because my reply is not exactly
> to the question.)
>
> Oh, what a wonderful Wolfram blog! Earlier Stephen hinted at Mathematica as
> an iPhone app. Now it's data mining Facebook data (Gee I wonder if
> Zuckerberg has thought of that? He might be able to develop a great business
> model.) Can Twitter be far behind? There are many significant mathematical
> equations that will fit into 64 characters - or whatever the limit is.
> Ramanujan would probably have done well on Twitter. And women are more
> interested in personal relationships and men are more interested in sports?
> Who would have thought? The average person on Facebook has 342 friends! Well
> there are friends and there are friends. Montaigne wrote that his friendship
> with Etienne de La BoE9tie was such that "So many coincidences are needed to
> From: r.b.n...@gmail.com [mailto:r.b.n...@gmail.com]
>
>
> I'm interested in making word cloud graphics, as demonstrated in the recent
> Wolfram Blog post
> http://blog.wolfram.com/2013/04/24/data-science-of-the-facebook-world/ near

psycho_dad

unread,
May 13, 2013, 5:40:54 AM5/13/13
to

R Martinez

unread,
May 13, 2013, 5:41:04 AM5/13/13
to

Murray Eisenberg

unread,
May 14, 2013, 3:15:21 AM5/14/13
to
Re "clean" notebook interface:

An experienced Mathematica user might well prefer a totally clean
notebook as starting point for some work. But a new user, or potential
new customer, might well panic at an essentially blank window. (The
faint horizontal line with it's "+" icon at the top of a new notebook
window is at least a starting point.

Similarly for once the new user has typed and possibly evaluated some
input: what should go there? what's the correct form? what can I do with
it? So WRI has attempted to provide some guidance directly in the
notebook, outside the Documentation Center. (Whether it has the intended
effect is a separate question.)

For example, suppose the new user, or somebody just trying out
Mathematica, successfully types and evaluates:

Plot[Exp[-x] Cos[x], {x, -Pi/2, Pi/2}]

And possibly (probably?) the user wants to enhance the graph. How do
that? Well, the Next-computation Suggestions Bar provides an immediate
and obvious way to approach it -- without having to look up Plot, wade
through the long list of Options.

I write the above as somebody who has helped hundreds of university
students learn Mathematica and who realizes how much more efficient the
learning would have been over the years had such front end doo-dads been
available. They're like bicycle training wheels: they can help you get
started, but you can get rid of them when they get in the way.

Re specialized applications:

One of the things I hated about another technical computing product
that's very popular, especially in engineering circles, was that to do
so many things -- at least at one point, even to do symbolic
manipulations -- you had to purchase separate add-on products. By
contrast, one of the things I've appreciated about Mathematica from the
start was the inclusion, in fact, integration, of graphics and symbolics
with numerics; and increasingly, the migration of add-on packages into
the kernel. (Surely part of the reason is that software and hardware
advances permit doing so.)

On the other hand, there are areas of applicability where WRI can expect
to target specialized products that are, I presume, more expensive than
plain Mathematica. I see no reason why they should not leverage the
Mathematica platform to produce such products -- especially if the
revenue thereby generated can help support maintenance and further
development of Mathematica itself.

Re maintaining & improving Mathematica:

Nothing I wrote above is meant to minimize the importance of other
things that need to be done, from fixing bugs to maintaining a stable
notebook appearance -- e.g., not willfully changing the default font
family or font color for Section, Text, etc., cells. And by all means,
make it MUCH easier to produce and deploy packages, including their
documentation.
> From: Murray Eisenberg [mailto:mur...@math.umass.edu]
>
> As a possible, simple-minded explanation of what WRI is up to: surely
> they're faced at any given time with a given customer base. To gain new
> customers, they need to add new areas of applicability, whether through
> adding them directly to Mathematica or by creating new Mathematica-based
> products.

Richard Fateman

unread,
May 14, 2013, 3:15:26 AM5/14/13
to
Wolfram runs a software business. This generally
entails periodic new releases, generally with new
bugs, in order to encourage sales. The fact that
it does symbolic mathematics doesn't matter so much.
After all, the company employs marketing, sales,
accountants, legal staff, random programmers
for web stuff, graphics designers,etc. and a
few "subject matter experts".

If you don't like what a program does, you should
consider not buying the program.



djmpark

unread,
May 14, 2013, 3:15:42 AM5/14/13
to
I don't believe the "training wheels" model can really achieve the
objective. Are these people preschoolers? The situation is rather something
like this. Suppose all education was conducted orally until the junior year
in college. No or little writing. Then the students are to get into some
serious writing work. They are to write a critique of Marcel Proust's
Remembrance of Things Past. They do get some powerful tools to do this: a
computer with Microsoft Word, which has spell checking and some passable
syntax and grammar checking; a dictionary and French/English lexicon, and
French and English versions of Proust's work and maybe a couple grammars.
And since the students have never written much before, Word has been
augmented with training wheels. A little button always appears at the start
of a new paragraph with choices 1) Would you like to type a new sentence? 2)
Would you like to enter a sentence in free spoken form? 3) Would you like
Literary|Alpha to search for ideas on some topic? 4) Would you like to start
a new Section? At the end of a paragraph a Suggestions box will appear with
something like "Would you like us to add a sentence on Marcel's health
problems in relation to the topic?" Gee, I never thought about health
problems. So nice to remind me of that. Several weeks of this and they
should be up to speed.

Do you believe that method would achieve some worthwhile objective? Isn't it
rather that it usually takes years for a student to become really good at
expressing and manipulating ideas in written form? It's not surprising that
some students, without much experience, would become terrified at a blank
sheet of paper. Now add in mathematics and all of the new active and
dynamical possibilities for expressing and manipulating mathematical ideas
and don't we have a considerably greater learned skill? You can't replace
extended education and practice by software. It's the failure to get
Mathematica into early education that is the problem and getting it there is
the remedy.

As far as the development of Applications goes I don't see why WRI couldn't
buy or commission good ones and incorporate them as standard add-ons.
Remember that a good application might have many specialized convenience or
display routines for the subject matter and it would really be somewhat of a
burden to have all of these in the core Mathematica, both for WRI and for
users who would have thousands and thousands more routines thrown in their
faces. If WRI tries to ameliorate the situation by a truncated set of
routines then they end up with unpolished and inconvenient capabilities.
Most users might use only one or a few Applications.

The major problem with Mathematica Applications is that they are a new
medium and we are still learning how to write them. Unfortunately,
mathematical skill and skill at writing Applications seldom go together. I
won't even begin to explain all the quirky things that happen! Yet a good
Application needs both good mathematics and good design.

Nasser M. Abbasi

unread,
May 14, 2013, 3:14:53 AM5/14/13
to
On 5/12/2013 2:28 AM, djmpark wrote:

> For example, if one
> types:
>
> Carm
>
> and then uses Ctrl+K to complete the command, there is only one choice,
> CarmichaelLambda. In Mathematica 8 the symbol would be automatically
>completed and the cursor would be left at the end of the word. But now it brings up a menu,
> even though there is only one choice, and one must click the menu. But you
> are not finished yet! No there is another menu (somewhat displaced so you
> may miss it), which is the equivalent of Ctrl+Shift+K and which we could
> have done if we wanted, so one must by-pass that by clicking at the end of
> CarmichaelLambda to get back to the normal typing entry. That's two extra
> clicks added.


fyi, using version 9.01, on windows 7, the steps are

Carm Ctrl+k then hit ENTER and continue typing.

i.e. hitting ENTER will automatically select the top and
only choice and move the cursor to the end of the current
word. Then if one continues typing, then this will automatically
remove that small another window that comes up.

--Nasser

Murray Eisenberg

unread,
May 15, 2013, 2:53:17 AM5/15/13
to
As I already wrote, "Whether [the training wheels] has the intended effect is a separate question." That's an empirical question to be decided by experience of new learners and teachers of new learners.

Meanwhile, an experienced user can turn off the doo-dads.
> the remedy.. ..
>
>
> From: Murray Eisenberg [mailto:mur...@math.umass.edu]
>
> Re "clean" notebook interface:
>
> An experienced Mathematica user might well prefer a totally clean notebook
> as starting point for some work. But a new user, or potential new customer,
> might well panic at an essentially blank window. (The faint horizontal line
> with it's "+" icon at the top of a new notebook window is at least a
> starting point.
>
> Similarly for once the new user has typed and possibly evaluated some input:
> what should go there? what's the correct form? what can I do with it? So WRI
> has attempted to provide some guidance directly in the notebook, outside the
> Documentation Center. (Whether it has the intended effect is a separate
> question.)
>
> For example, suppose the new user, or somebody just trying out Mathematica,
> successfully types and evaluates:
>
> Plot[Exp[-x] Cos[x], {x, -Pi/2, Pi/2}]
>
> And possibly (probably?) the user wants to enhance the graph. How do that?
> Well, the Next-computation Suggestions Bar provides an immediate and obvious
> way to approach it -- without having to look up Plot, wade through the long
> list of Options.
>
> I write the above as somebody who has helped hundreds of university students
> learn Mathematica and who realizes how much more efficient the learning
> would have been over the years had such front end doo-dads been available.
> They're like bicycle training wheels: they can help you get started, but you
> can get rid of them when they get in the way.. ..

George Woodrow III

unread,
May 15, 2013, 2:53:29 AM5/15/13
to
Picking this part of the thread for a comment -- I have read all of them.

I am also a long time user -- since version 1. Over that time, the users of computers, to say nothing of users of Mathematica, have changed.

Initially, one could expect that a user would have either some experience or the willingness to spend time to get that expertise. The cost (I spent $800 for Mathematica 1.1, or about $1600 in today's money) was a barrier for the casual user.

I don't think that is true anymore. In addition, the scope of Mathematica has increased to the point where no one can be an expert at all aspects of it. The Assistants (from the input assistant to the Suggestions bar to the various palettes) are all ways to bridge the gap. They could work better, but for many tasks, I find some of them to be useful.

To offer a comparison: I started Macintosh development at about the same time. Apple provided a three volume Inside Macintosh, which I read and used extensively. Although I did not consider myself to be an expert, I could do whatever my coding tasks required. Over the years, Apple came out with the 40(?) volume Inside Macintosh, and I only read those bits I needed to get my job done. Now, of course, there is no printed documentation, and I rely on the assistants in Xcode to provide specific help, and to point to guides and overviews.

The assistance provided in Mathematica is essentially the same as what I have in Xcode. It is not as complete, and is certainly in need of a couple of bug-fix passes, but I think that it is the way to go.

On top of basic level of assistance is the help that a new user needs. For experts, it should be possible to turn these things off. You can do so for the suggestions bar, as well as most of the other options. The input assistant (the little plus sign on the horizontal insertion bar) is not a problem for me, but it should be possible to turn it off as well.

I think that the real problem is that the notebook interface paradigm has been stretched past its breaking point. I don't think that the same metaphor works for both printed presentation and screen. The recent problems with the default notebook style is in part the result of an effort to satisfy two different requirement sets. (Granted that there are also aesthetic issues -- the use of Arial, the size and color of the Title, Sections, etc.)

Once it became possible to make an entire 'document' with interactive elements, the need for a GUI designer like Interface Builder (or the current Storyboard) should have been obvious. You *can* get most of the work done with the present tools, but it is a lot more work than it needs to be. This issue will come to a head if there is ever a native iPad version of Mathematica.

For advanced users, it would be useful if Wolfram Workbench were developed so that it would be a tool on par with Xcode. (I am sure that there are equivalent examples for Windows and probably Linux.) It would really be great if the 'developer' model were more fully integrated with Mathematica. (My guess is that Apple devotes a lot more resources to their tool than Wolfram does. It is a chicken-and-egg thing: if the tools were better, then more people would use them, but in their current state only die-hards use them, which indicates to Wolfram that their money is better spent elsewhere.)

For beginners, Wolfram|Alpha seems to be the gateway drug of choice. I like the way that Mathematica can provide Wolfram language code for free-text input. I don't use this function that much, but I am sure that it can be enhanced. The real problem here is not so much learning syntax, but understanding how to translate real-world problems into mathematics.

In my opinion, the only workable solution is to move from the one-size-fits-all paradigm to something else. Wolfram Workbench is one attempt at this diversification, and would be useful if it worked better. (I feel like I am going back to the 1990s when I crank Workbench up.) The notebook interface still works for doing basic work, but is probably not the best way to create interactive applications, particularly if they need to be full-screen. I hope that the developers at Wolfram realize this when they try to make an iPad version of Mathematica. Personally, I think a better choice would be to develop tools to target an app as 'fully interactive' for deployment on either desktop or a mobile device. At a more basic level, it needs to be realized that the paradigm of the 1980s is over -- the primary way of interacting with documents is on the screen, and everything needs to be reconsidered, including stylesheets, layout, etc. There is still a use for documents that will exist as print (or PDF), but the needs for this type of document should not constrain what is the most common use. For example, a small percentage of users will want to generate LaTex output. This functionality should work seamlessly, but it should not be the primary focus of the user interface.


For all users, the best thing would be to have essentially a bug-fix and stability release. Eliminating a lot of the current 'gotchas' would help everyone. This would include an aesthetic pass. It should also include adding to the documentation a lot of the information that is currently only available through tech support. I note that prior to version 6, there were .1 revisions (4.1, 4.2, for example), rather than the 0.1 revisions in more recent versions. This may be just a shift in naming conventions, but I seem to recall that the 'tenth' increments had a lot more bug fixes than the the 'hundredth'. I would not mind seeing a 9.1 release that addressed many of the issues raised in this thread and elsewhere.


One more thing: I think that the best way to increase Wolfram's customer base is to make the product more available. Now, the student prices are already very attractive. However, the cost for Mathematica on-line is a bit high (in my opinion). The highest cost is that to third-party programmers providing a stand alone app using Mathematica. While there are many interesting things on the Demonstrations site, they are by and large 'toy' apps. Making an app useful to a lot of people using CDF player is problematic, given the constraints. (The most notable of this is letting the user import their own data. The second is safeguarding my IP.) I'd like to see a model where one could sell a Mathematica-based app at an app store for $5.00 and possibly make a little money. The iPhone did not really take off until the app store opened, and I think that the same type of thing could happen for Mathematica.


I don't think that most of the comments on this topic are anywhere close to being incorrect or not useful. We may be non-typical users, but we are the type of people who will continue to use Mathematica long after the initial reason for purchasing it has passed. I have had several interesting conversations with WRI people about these topics, via e-mail or at their conferences. It is likely that the only way that things will change is to achieve a critical mass in this feedback.


george woodrow
> WolframAlpha routine. And you can also get it just by typing =. I wonder
> From: Murray Eisenberg [mailto:mur...@math.umass.edu]
>

David Bailey

unread,
May 15, 2013, 2:53:35 AM5/15/13
to
On 13/05/2013 08:48, Murray Eisenberg wrote:> Well put: "ephemera in
ephemera out."
>
> As a possible, simple-minded explanation of what WRI is up to: surely
they're faced at any given time with a given customer base. To gain new
customers, they need to add new areas of applicability, whether through
adding them directly to Mathematica or by creating new Mathematica-based
products.
>
................................

>> Mathematics and Mathematica are intrinsically difficult enough as it is.
>> That makes it all the more important that WRI present users with a
stable,
>> robust, easy to use basic interface. WRI had not done the best job they
>> could at this and not what one would expect for a relatively expensive
>> product.
>>
>>
>> David Park

I think there is a serious problem faced by many software developers who
have a stable product evolved over many versions.

They simply have to go on innovating, even if the changes don't make a
lot of sense - because otherwise, why should users pay for expensive
upgrades?

Many people prefer earlier versions of Microsoft Office, and a great
many people avoid Windows 8. I think there is a warning here for WRI.

I almost think there is a case for a clean-up version of Mathematica
that sorts out a whole variety of irritations (everyone probably has a
different list) such as:

1) No multi-level UNDO!

2) Glitches associated with the startup of Mathematica.

3) A review of the Dynamic system so as to make it really robust.

4) Not enough control of error messages (e.g. the cut off after 4
messages of a particular type).

etc.

Perhaps WRI should create that list of cleanup tasks by consulting its
user base!

After the cleanup version, it might make sense to pause for a while, and
just do bug fixes.

David Bailey
http://www.dbaileyconsultancy.co.uk

W Craig Carter

unread,
May 15, 2013, 2:53:46 AM5/15/13
to

Dear David,

I see your point and am somewhat sympathetic, but I agree with Murray's
training wheels simile and its educational benefits. I also agree with
Murray's final insight on that improvements to Mathematica, its
Front-End, Package development and general innovation are equally
important but need not conflict with the appearance of the "training
wheels".

Students of any age face learning curve hurdles. With hints,
suggestions, and worked examples, the progress is generally faster and
does produce an additional outside the classroom learning opportunity.
If there is a range of sophistication of the hints, students quickly
learn to ignore the ones that become obvious by experience and focus on
those which lead to helpful or novel directions. My recent experience is
that the predictive interface becomes "click-pathway" to the
documentation--which is a good thing. I typically turn off the
predictive interface when I am doing my own development, but do turn it
on occasionally so that I remind myself of the students' experience.

There is some risk that a student will be lead down a path that isn't
optimal for mastery (here I include the free-form input button).
However, it is interesting to me that in the last year that there has
been a shift in my students: they are already users of Alpha and are
pleasantly surprised that Alpha is incorporated into Mathematica.
Eventually, Mathematica becomes a tool of choice in their other
physical science classwork--but they continue to incorporate Alpha.

Regarding the analogy to writing, you are correct that students should
develop writing and critical thinking skills by combining practice of
increasing sophistication with other learning paths. Writing quality is
weakly coupled to the word processor by increasing the facility of
editing and the rudimentary grammar checking; these may reduce the
barrier to the mechanics of writing and free up intellectual bandwidth
for content. Is this very much different to Mathematica's syntax
checking and predictive interface?

I was intrigued by the "Mr. Clippy" suggestion of adding a sentence
about Proust's health. Proust was an insomniac and was obsessive about
creating insulating sound barriers to drown out the sounds of passing
carriages. It strikes me that this might have played a role in the
dreamlike quality of his oeuvre. I recall one passage in the early part
of "Temps Perdu" where the first-person has a reverie of being a young
boy lying awake listening for a locomotive in the distance. Hmmm,
perhaps that might be good fodder for a critical paper?

As always, David, I appreciate your perspective and viewpoint of the
importance of elegant presentation, and your continued advocacy of
including CAS systems as early as practicable in education.

Craig

As a post-script that is back on topic:

I believe the blog was an excellent example of the power of combining
data with graphics. Regardless of the topic, I can imagine ways I can
borrow some of those techniques for my own work. I'm not so interested
in the social media topic either and, as SW points out, some of the
results are (satisfyingly) obvious. However, the non-obvious
observations such as "Icelanders have more contacts", "people from
Illinois move to California at a higher rate than do people from Ohio",
"book interest is flat with age group, but music interest declines,
personal philosophy has a local minimum around 30" do intrigue me.
> the remedy.
>
> As far as the development of Applications goes I don't see why WRI couldn't
> buy or commission good ones and incorporate them as standard add-ons.
> Remember that a good application might have many specialized convenience or
> display routines for the subject matter and it would really be somewhat of a
> burden to have all of these in the core Mathematica, both for WRI and for
> users who would have thousands and thousands more routines thrown in their
> faces. If WRI tries to ameliorate the situation by a truncated set of
> routines then they end up with unpolished and inconvenient capabilities.
> Most users might use only one or a few Applications.
>
> The major problem with Mathematica Applications is that they are a new
> medium and we are still learning how to write them. Unfortunately,
> mathematical skill and skill at writing Applications seldom go together. I
> won't even begin to explain all the quirky things that happen! Yet a good
> Application needs both good mathematics and good design.
>
>
> David Park
> djm...@comcast.net
> http://home.comcast.net/~djmpark/index.html
>
>
>
> From: Murray Eisenberg [mailto:mur...@math.umass.edu]
>
> Re "clean" notebook interface:
>
> An experienced Mathematica user might well prefer a totally clean notebook
> as starting point for some work. But a new user, or potential new customer,
> might well panic at an essentially blank window. (The faint horizontal line
> with it's "+" icon at the top of a new notebook window is at least a
> starting point.
>
> Similarly for once the new user has typed and possibly evaluated some input:
> what should go there? what's the correct form? what can I do with it? So WRI
> has attempted to provide some guidance directly in the notebook, outside the
> Documentation Center. (Whether it has the intended effect is a separate
> question.)
>
> For example, suppose the new user, or somebody just trying out Mathematica,
> successfully types and evaluates:
>
> Plot[Exp[-x] Cos[x], {x, -Pi/2, Pi/2}]
>
> And possibly (probably?) the user wants to enhance the graph. How do that?
> Well, the Next-computation Suggestions Bar provides an immediate and obvious
> way to approach it -- without having to look up Plot, wade through the long
> list of Options.
>
> I write the above as somebody who has helped hundreds of university students
> learn Mathematica and who realizes how much more efficient the learning
> would have been over the years had such front end doo-dads been available.
> They're like bicycle training wheels: they can help you get started, but you
> can get rid of them when they get in the way.
>
> Re specialized applications:
>
> One of the things I hated about another technical computing product that's
> very popular, especially in engineering circles, was that to do so many
> things -- at least at one point, even to do symbolic manipulations -- you
> had to purchase separate add-on products. By contrast, one of the things
> I've appreciated about Mathematica from the start was the inclusion, in
> fact, integration, of graphics and symbolics with numerics; and
> increasingly, the migration of add-on packages into the kernel. (Surely part
> of the reason is that software and hardware advances permit doing so.)
>
> On the other hand, there are areas of applicability where WRI can expect to
> target specialized products that are, I presume, more expensive than plain
> Mathematica. I see no reason why they should not leverage the Mathematica
> platform to produce such products -- especially if the revenue thereby
> generated can help support maintenance and further development of
> Mathematica itself.
>
> Re maintaining & improving Mathematica:
>
> Nothing I wrote above is meant to minimize the importance of other things
> that need to be done, from fixing bugs to maintaining a stable notebook
> appearance -- e.g., not willfully changing the default font family or font
> color for Section, Text, etc., cells. And by all means, make it MUCH asier

djmpark

unread,
May 15, 2013, 2:53:52 AM5/15/13
to
I just reply to one aspect of your comments.

I believe the basic design of the notebook interface is fairly good. The
classical format of presenting technical material in serial form using text,
equations and diagrams combined in sectional groupings is thousands of years
old. It has worked very well, it is what people know, it is the uniform
current practice, and it should not be lightly abandoned.

This style can be extended to include active elements, active calculation
and various dynamical presentations, both within the notebook or as side
windows. Such notebooks can be orders of magnitude superior to static
documents. But even working from a familiar and intuitive base style, there
is much to learn to implement this. I have gradually evolved a number of
principles, some of them adapted from Tufte, but I won't expound on them
here other than to say: use a light touch and eliminate any feature that
does not clarify an idea or convey information, no matter how nifty it might
seem in its own right.

George Woodrow III

unread,
May 15, 2013, 2:53:57 AM5/15/13
to
I appreciate your comments. It was not my intention to suggest that the
notebook interface should be abandoned. For a lot of what I do in
Mathematica, it is very good. It is pretty close to the blank sheet of
paper you describe.

I wish it were easier to make a document/app that was essentially
displayed as a dynamic user interface alone. I have time to explore this
at length now that I have 'retired', and I hope that existing structures
(palettes??) can be adapted without too much effort. It may turn out
that for advanced work, an analogue to Workbench will be useful for UI
design and implementation.

There are points of strain, though. I don't think that a default
stylesheet will work that can be optimized both for 'print' and screen.
I am ready to be wrong about this, but the current default stylesheet
seems to please no one.

I am a big fan of Tufte as well. Many of his comments about software
design from the era of small screens that became moot with the advent of
large monitors are again relevant for mobile devices. It has always been
one of my design goals to make my software as elegant as his printed
books. I could achieve this goal when writing native apps for the
Macintosh, at the expense of a lot of time and a lot of code. I can be
100 to 1000 times more productive with Mathematica, but it remains to be
seen if I can match the level of elegance in interface design I can when
I use Xcode.

george woodrow

Szabolcs Horvát

unread,
May 15, 2013, 2:54:07 AM5/15/13
to

While some individual points are debatable, I also completely agree
with David's main message. Mathematica needs more focus, particularly
some work on stability and robustness. Even if it would come at a cost
of new features (there are many features I'd like to see, but you can't
have everything).

Re: "if I click in an existing Input cell and do a line return the
Messages window opens with a contact WRI if this happens message"

This bug (on OS X) is really annoying when typing code in another
language in a Mathematica string. If will sometimes completely ruin
the typed text if I press return several times while inside a string.
It's a bit ironic that this bug appeared in the same release which
brought us RLink (which I'm using these days, i.e. I'm typing a lot of
R code inside Mathematica strings).

Szabolcs Horvát

unread,
May 16, 2013, 3:28:32 AM5/16/13
to

Well, lots of things can be proposed and everyone has different ideas.

I think that what's really needed for WRI is not to get too distracted by
various proposals, but *focus* on doing a few things well, and especially
focus on fixing bugs.

Primarily silent wrong result bugs.

The two nastiest examples (that affected me) tat I can recall are:

Tally[] with a custom test was broken in version 6, and gave wrong results
silently. It wasn't fixed in minor releases, we had to wait 2 years for 7.

IsomorphicGraphQ[] was broken in 8 and gave wrong results silently. It
also crashed sometimes. The crash was fixed in a minor version, but the
silent wrong result (which I consider a much worse bug) was not fixed until
v9 two years later.

These silent wrong results are very serious problems because they are
completely unexpected and should be fixed as soon as they are discovered.

They are not at all in the same class as an incorrect result for a definite
integral with a singularity, which is expected---no CAS will be perfect in
this. Such a bug in either Tally or IsomorphicGraphQ is not expected




On 15 May 2013 05:04, Peter Klamser <kla...@googlemail.com> wrote:

> This is an interesting discussion. But if it can be useful, we have to
> make short proposals. Nobody has the time to read long texts.
>
> A) First proposal: Identify useless or false constructions in Mathematica
>
> aa) Eliminating Chop[] for complex numbers. Complex numbers are
> oderless and therefore nobody call estimate, weather the distance of 1
> + 10^-google i to the real numbers is small or big. Chop[] is the
> result of Mathematica design, that it presents often complex results, where
> real values are the simpler result and can be reached by
> ComplexExpand[].
> The simplest solution is always the best solution.
>
> B) Mathematica should be integrated seamless in Tex without using copy and
> paste. The should be the cell type Tex, and the printout and save
> modus Tex, where all other cells are suppressed.
>
> Peter
>
>
>
> 2013/5/15 Szabolcs Horv=C3=A1t <szho...@gmail.com>:
> >
> > While some individual points are debatable, I also completely agree
> > with David's main message. Mathematica needs more focus, particularly
> > some work on stability and robustness. Even if it would come at a cost
> > of new features (there are many features I'd like to see, but you can't
> > have everything).
> >
> > Re: "if I click in an existing Input cell and do a line return the
> > Messages window opens with a contact WRI if this happens message"
> >
> > This bug (on OS X) is really annoying when typing code in another
> > language in a Mathematica string. If will sometimes completely ruin
> > the typed text if I press return several times while inside a string.
> > It's a bit ironic that this bug appeared in the same release which
> > brought us RLink (which I'm using these days, i.e. I'm typing a lot of
> > R code inside Mathematica strings).
> >
> > On 2013-05-12 07:28:34 +0000, djmpark said:
> >> (I've renamed this and started a new thread because my reply is not
> exactly
> >> to the question.)
> >>
> >> Oh, what a wonderful Wolfram blog! Earlier Stephen hinted at
> Mathematica as
> >> an iPhone app. Now it's data mining Facebook data (Gee I wonder if
> >> Zuckerberg has thought of that? He might be able to develop a great
> business
> >> model.) Can Twitter be far behind? There are many significant
> mathematical
> >> equations that will fit into 64 characters - or whatever the limit is.
> >> Ramanujan would probably have done well on Twitter. And women are more
> >> interested in personal relationships and men are more interested in
> sports?
> >> Who would have thought? The average person on Facebook has 342 friends=
> >> see why WRI couldn't have fixed these problems by now. (Or introduced =
an
> >> actually useful feature to spell check a selection such as a Text cell
> or a
> >> Section.)
> >>
> >> The Version 9 command completion feature, which used to be great, no
> longer
> >> works well. I have turned off the auto completion feature but what is
> left
> >> still does not work as well as the Version 8 behavior. For example, i=
f
> one
> >> types:
> >>
> >> Carm
> >>
> >> and then uses Ctrl+K to complete the command, there is only one choice=
,
> >> CarmichaelLambda. In Mathematica 8 the symbol would be automatically
> >> completed and the cursor would be left at the end of the word. But now
> >> it brings up a menu,
> >> even though there is only one choice, and one must click the menu. But
> you
> >> are not finished yet! No there is another menu (somewhat displaced so
> you
> >> may miss it), which is the equivalent of Ctrl+Shift+K and which we cou=
ld
> >> have done if we wanted, so one must by-pass that by clicking at the en=
d
> of
> >> CarmichaelLambda to get back to the normal typing entry. That's two
> extra
> >> clicks added. You might say that's not much, but when it's at the basi=
c
> >> entry point for material in a notebook it is a lot.
> >>
> >> One has to wonder how many parsers there are in Mathematica for kernel=
,
> >> front end, packages, workbench and how their behavior shifts around
> between
> >> versions? Can one copy and paste an expression without its underlying
> >> representation changing? I suspect this may be a nagging underlying
> source
> >> of instability.
> >>
> >> I realize and appreciate that WRI continues to add new capabilities to
> >> Mathematica and this inevitably results in learning and stability
> problems.
> >> There could be better design efforts on these things and more
> professional
> >> testing so the designs would stick and work well. Progress might be
> slower
> >> but it would be surer.
> >>
> >> Doing mathematics is not social media. It's not done that well on an
> iPad.
> >> And iPhone, iPad technology is not necessarily appropriate for
> Mathematica.
> >> People do not want to scroll two 25" screens with their hands. Just as=
k
> >> Microsoft.
> >>
> >> Mathematics and Mathematica are intrinsically difficult enough as it i=
s.
> >> That makes it all the more important that WRI present users with a
> stable,
> >> robust, easy to use basic interface. WRI had not done the best job the=
y
> >> could at this and not what one would expect for a relatively expensive
> >> product.
> >>
> >>
> >> David Park
> >> djm...@comcast.net
> >> http://home.comcast.net/~djmpark/index.html
> >>
> >>
> >> From: r.b.n...@gmail.com [mailto:r.b.n...@gmail.com]
> >>
> >>
> >> I'm interested in making word cloud graphics, as demonstrated in the
> recent
> >> Wolfram Blog post
> >> http://blog.wolfram.com/2013/04/24/data-science-of-the-facebook-world/=

Peter Klamser

unread,
May 16, 2013, 3:28:42 AM5/16/13
to
This is an interesting discussion. But if it can be useful, we have to
make short proposals. Nobody has the time to read long texts.

A) First proposal: Identify useless or false constructions in Mathematica

aa) Eliminating Chop[] for complex numbers. Complex numbers are
oderless and therefore nobody call estimate, weather the distance of 1
+ 10^-google i to the real numbers is small or big. Chop[] is the
result of Mathematica design, that it presents often complex results, where
real values are the simpler result and can be reached by
ComplexExpand[].
The simplest solution is always the best solution.

B) Mathematica should be integrated seamless in Tex without using copy and
paste. The should be the cell type Tex, and the printout and save
modus Tex, where all other cells are suppressed.

Peter



2013/5/15 Szabolcs Horv=E1t <szho...@gmail.com>:
>
> While some individual points are debatable, I also completely agree
> with David's main message. Mathematica needs more focus, particularly
> some work on stability and robustness. Even if it would come at a cost
> of new features (there are many features I'd like to see, but you can't
> have everything).
>
> Re: "if I click in an existing Input cell and do a line return the
> Messages window opens with a contact WRI if this happens message"
>
> This bug (on OS X) is really annoying when typing code in another
> language in a Mathematica string. If will sometimes completely ruin
> the typed text if I press return several times while inside a string.
> It's a bit ironic that this bug appeared in the same release which
> brought us RLink (which I'm using these days, i.e. I'm typing a lot of
> R code inside Mathematica strings).
>
> On 2013-05-12 07:28:34 +0000, djmpark said:
>> (I've renamed this and started a new thread because my reply is not exac=
tly
>> to the question.)
>>
>> Oh, what a wonderful Wolfram blog! Earlier Stephen hinted at Mathematica=
as
>> an iPhone app. Now it's data mining Facebook data (Gee I wonder if
>> Zuckerberg has thought of that? He might be able to develop a great busi=
ness
>> model.) Can Twitter be far behind? There are many significant mathematic=
al
>> equations that will fit into 64 characters - or whatever the limit is.
>> Ramanujan would probably have done well on Twitter. And women are more
>> interested in personal relationships and men are more interested in spor=
ts?
>> Who would have thought? The average person on Facebook has 342 friends! =
Well
>> there are friends and there are friends. Montaigne wrote that his friend=
ship
>> with Etienne de La Bo=E9tie was such that "So many coincidences are ne=
eded to
>> build [it up] that it is a lot if fortune can do it once in three
>> centuries." One might say, ephemera in ephemera out.
>>
>> For the dwindling few of us who still have desktop computers and large
>> screens, or maybe two large screens, who are interested in learning or d=
oing
>> some extended mathematics, and the even fewer who would like to write
>> literate Mathematica notebooks as technical documents, I wonder if Steph=
en
>> could find some time to attend to basic Mathematica, fixing its problems=
and
>> fulfilling its vision?
>>
>> Mathematica lacks stability. Things that worked fine in one version don'=
t
>> work in the next. Especially troubling to me is the basic user interface=
.
>> This got much worse in Version 9 with outright bugs that are in your fac=
e
>> all the time. For example: often if I click in an existing Input cell an=
d do
>> a line return the Messages window opens with a contact WRI if this happe=
ns
>> message. Or if one clicks after a word in a Text like cell and uses Ctrl=
+K
>> for spell checking the message window again opens with a similar message=
. I
>> like to use spell check a lot so this is especially annoying to me. I do=
n't
>> see why WRI couldn't have fixed these problems by now. (Or introduced an
>> actually useful feature to spell check a selection such as a Text cell o=
r a
>> Section.)
>>
>> The Version 9 command completion feature, which used to be great, no lon=
ger
>> works well. I have turned off the auto completion feature but what is le=
ft
>> still does not work as well as the Version 8 behavior. For example, if =
one
>> types:
>>
>> Carm
>>
>> and then uses Ctrl+K to complete the command, there is only one choice,
>> CarmichaelLambda. In Mathematica 8 the symbol would be automatically
>> completed and the cursor would be left at the end of the word. But now
>> it brings up a menu,
>> even though there is only one choice, and one must click the menu. But y=
ou
>> are not finished yet! No there is another menu (somewhat displaced so yo=
u
>> may miss it), which is the equivalent of Ctrl+Shift+K and which we could
>> have done if we wanted, so one must by-pass that by clicking at the end =
of
>> CarmichaelLambda to get back to the normal typing entry. That's two extr=
a
>> clicks added. You might say that's not much, but when it's at the basic
>> entry point for material in a notebook it is a lot.
>>
>> One has to wonder how many parsers there are in Mathematica for kernel,
>> front end, packages, workbench and how their behavior shifts around betw=
een
>> versions? Can one copy and paste an expression without its underlying
>> representation changing? I suspect this may be a nagging underlying sour=
ce
>> of instability.
>>
>> I realize and appreciate that WRI continues to add new capabilities to
>> Mathematica and this inevitably results in learning and stability proble=
ms.
>> There could be better design efforts on these things and more profession=
al
>> testing so the designs would stick and work well. Progress might be slo=
wer
>> but it would be surer.
>>
>> Doing mathematics is not social media. It's not done that well on an iPa=
d.
>> And iPhone, iPad technology is not necessarily appropriate for Mathemati=
ca.
>> People do not want to scroll two 25" screens with their hands. Just ask
>> Microsoft.
>>
>> Mathematics and Mathematica are intrinsically difficult enough as it is.
>> That makes it all the more important that WRI present users with a stabl=
e,
>> robust, easy to use basic interface. WRI had not done the best job they
>> could at this and not what one would expect for a relatively expensive
>> product.
>>
>>
>> David Park
>> djm...@comcast.net
>> http://home.comcast.net/~djmpark/index.html
>>
>>
>> From: r.b.n...@gmail.com [mailto:r.b.n...@gmail.com]
>>
>>
>> I'm interested in making word cloud graphics, as demonstrated in the rec=
ent
>> Wolfram Blog post
>> http://blog.wolfram.com/2013/04/24/data-science-of-the-facebook-world/ (=

djmpark

unread,
May 16, 2013, 3:28:50 AM5/16/13
to
Alexei, have you tried the KeyEquations and References sections of
Presentations?

KeyEquations allows you to maintain a list of key equations for a notebook.
You have complete control of the formatting of the equation, the label of
the equation, and the display of the reference in text cells. You can have
numbered and unnumbered equations. The text references for numbered
equations are dynamically updated if the table is changed.

This brings up an interesting topic. Equation references have always been a
weak spot in static serial documents. You have to leave where you are and go
find the equation. Often it may be difficult to find the equation if the
equations are sparse or not well marked. In any case you have to maneuver
between two locations in the document. With dynamics we can click on the
reference and be automatically transported to the location of the referenced
equation. That is an unimaginative and poor use of dynamic tools! It
violates a prime principle of dynamic notebooks. "Don't jerk the reader
around!" Instead of transporting the reader to where the information happens
to be in a notebook (with the added problem of getting back), bring the
information to him where he is and where he needs to use it.

With KeyEquations you have complete control of the format of the reference.
I just did an example where I formatted the reference such that a Tooltip
that displays the equation appears on the reference and in addition I added
a small Paste button that can be used to paste the equation into your
notebook where you want it. This same technique could be used for serving up
all kinds of information to the reader. That's being nice to the reader and
treating him with respect.
From: Alexei Boulbitch [mailto:Alexei.B...@iee.lu]


3. When writing articles using Mathematica as a redactor I need referencing
of literature, numbered equations and figures. I do not need referencing
anything else. Indeed, there is such a feature in Mathematica, I use it, and
it is a headache.

One can compare the easiness of making such a task with EndNote for
references and MathType for numeration of equations. Both these programs do
it in one-two clicks.

In the same time Mathematica requires to (1) mark the corresponding cell,
(2) click Menu/Cell/CellTags/Add Remove Cell Tag (3) type the tag, (4) close
the "Add Remove Cell Tag" dialog (5) when in the text go to
Menu/Insert/Automatic Numbering (6) in the dialog "Create Automatic
Numbering Object" choose the desired cell tag, (7) in another its window
choose the right type of object, say, "EquationNumbered" then (8) click OK.

Did you count the number of clicks? It is not 8 it is 15.

But that is not all, since at the very last step, in the dialog "Create
Automatic Numbering Object", in its window "Counter" you need to choose a
right item out of 71 available! And you need to each time scroll through it.

Now imagine a normal paper with about 10 to 15 numbered formulas each is
referenced between 0 and 5 times, on average 3 times each, about 10 Figures,
each referenced at least once and about 30 references, each cited at least
once in the text. Overall you reference about 70 times per paper, and each
time you go through this whole procedure. And all these 70 times you scroll
through those 71 items! I think I really underestimated the problem, when
calling it simply "a headache" above.

Why not to improve this feature? Why not at least to make it easy to
customise the list of the "Create Automatic Numbering Object"/"Counter"
dialog, to enable us to choose those items that we need and not to show
those we do not?


These features I would like to see improved. Just before I finish, I would
like to say, that already as it is Mathematica is the greatest thing, and I
am grateful for it to Mr. Stephen Wolfram and his colleagues.

Alexei




Alexei BOULBITCH, Dr., habil.
IEE S.A.
ZAE Weiergewan,
11, rue Edmond Reuter,
L-5326 Contern, LUXEMBOURG

Office phone : +352-2454-2566
Office fax: +352-2454-3566
mobile phone: +49 151 52 40 66 44

e-mail: alexei.b...@iee.lu





Andrzej Kozlowski

unread,
May 17, 2013, 4:34:05 AM5/17/13
to

On 16 May 2013, at 09:28, Peter Klamser <kla...@googlemail.com> wrote:

> This is an interesting discussion. But if it can be useful, we have to
> make short proposals. Nobody has the time to read long texts.
>
> A) First proposal: Identify useless or false constructions in Mathematica
>
> aa) Eliminating Chop[] for complex numbers. Complex numbers are
> oderless and therefore nobody call estimate, weather the distance of 1
> + 10^-google i to the real numbers is small or big.

You are mistaken. The issue of order and the issue of distance are entirely different and unrelated. The complex numbers are a one dimensional complex Hilbert space with the standard inner product, hence a (complete) metric space. The distance between two complex numbers is well defined and so it the distance of a complex number from the real line. Also, it would be crazy if Mathematica itself decided that complex numbers which are sufficiently close to the real line are actually real one. This sort of thing should be left to the user (obviously!) and this is exactly what Chop does (it has a second argument, you know).
If I understand your suggestion correctly, it is probably the worst suggestion for an "improvement" in Mathematica I have ever read on this forum.
Fortunately, it is 100% sure that it will be ignored as all such suggestions usually are.

Andrzej Kozlowski


> Chop[] is the
> result of Mathematica design, that it presents often complex results, where
> real values are the simpler result and can be reached by
> ComplexExpand[].
> The simplest solution is always the best solution.
>
> B) Mathematica should be integrated seamless in Tex without using copy and
> paste. The should be the cell type Tex, and the printout and save
> modus Tex, where all other cells are suppressed.
>
> Peter
>
>
>
> 2013/5/15 Szabolcs Horv=E1t <szho...@gmail.com>:
>>
>> While some individual points are debatable, I also completely agree
>> with David's main message. Mathematica needs more focus, particularly
>> some work on stability and robustness. Even if it would come at a cost
>> of new features (there are many features I'd like to see, but you can't
>> have everything).
>>
>> Re: "if I click in an existing Input cell and do a line return the
>> Messages window opens with a contact WRI if this happens message"
>>
>> This bug (on OS X) is really annoying when typing code in another
>> language in a Mathematica string. If will sometimes completely ruin
>> the typed text if I press return several times while inside a string.
>> It's a bit ironic that this bug appeared in the same release which
>> brought us RLink (which I'm using these days, i.e. I'm typing a lot of
>> R code inside Mathematica strings).
>>
>> On 2013-05-12 07:28:34 +0000, djmpark said:

Fred Simons

unread,
May 17, 2013, 4:34:21 AM5/17/13
to
Like David Park and Raul Martinez, I am a user of Mathematica since
version 1. Since I am (was) really very enthousiastic about Mathematica,
in my courses on Mathematica that I regularly present to professionals
who are going to use Mathematica or want to deepen their knowledge of
this package, I had no problem in convincing them how powerfull and
strong Mathematica is (was).

Now we have Mathematica 9. My feeling about this version becomes more
and more negative. We have the problem with the sudden change of the
default style between version 8 and version 9. Going back in version 9
to the style of Mathematica 8 is not bug free, so I, and the
participants of my courses, have problems with the course material.

Mathematica 9 is very unstable. For me it is the poorest version that I
have used since the frontend was added. In many of my notebooks, I
cannot use simple commands like selecting a name and pressing shift-F1
for going to the help, or ctrl( for converting a selection to a
mathematica formula. The result is that I get the message Mathematica 9
stopped working...

Last Tuesday I gave a course on interactivity in Mathematica.
Mathematica 9 was running on 7 platforms. On at least 5 of them
Mathematica had to be restarted during the course because of it started
showing incorrect output. When things like this happen, I cannot
recommend Mathematica to a potential new user ....

But what worries me most is my feeling that WRI seems not to be
interested in producing a stable, reasonable bugfree release.

I read some examples in this thread. My personal example is that there
is a bug in Mathematica with respect to the MINGW-compiler. That bug
forces me to keep using Mathematica 8 for my applications that use
compilation. The bug is found by WRI (good work!) and I was informed
about it. But the bug is not repaired in the latest releases ...

Like many of you, I hope that WRI will lay their priority on the quality
of the software, instead of on the number of included functions.
Personally, I am very happy with the functions available in Mathematica 8.

Fred Simons
Eindhoven University of Technology

Op 13-5-2013 9:49, R Martinez schreef:

Murray Eisenberg

unread,
May 17, 2013, 4:34:27 AM5/17/13
to
If I understand this proposal aa), then I completely disagree. It is *essential* to have the ability to use a function Chop that, e.g., does the following:

Chop[4. + 10.^-16 I]
4.

The reason is that even when one starts with strictly real functions, it is often the case that Mathematica uses complex-function methods and, due to roundoff, returns results with some pure imaginary "fuzz".

On May 16, 2013, at 3:28 AM, Peter Klamser <kla...@googlemail.com> wrote:

> . .. A) First proposal: Identify useless or false constructions in Mathematica
>
> aa) Eliminating Chop[] for complex numbers. Complex numbers are
> oderless and therefore nobody call estimate, weather the distance of 1
> + 10^-google i to the real numbers is small or big. Chop[] is the
> result of Mathematica design, that it presents often complex results, where
> real values are the simpler result and can be reached by
> ComplexExpand[].
> The simplest solution is always the best solution.

Peter Klamser

unread,
May 17, 2013, 4:34:32 AM5/17/13
to
... thank you for the response.

Every WRI employee writes this since years, but "fuzz" stays "fuzz"
and "fuzz" is not essential.

Peter

2013/5/16 Murray Eisenberg <mur...@math.umass.edu>:

Dushan Mitrovich

unread,
May 17, 2013, 4:34:38 AM5/17/13
to
djmpark wrote:
> use a light touch and eliminate any feature that
> does not clarify an idea or convey information, no matter
> how nifty it might seem in its own right.

Amen!

As still pretty much of a beginner, I often have to look up a
Mathematica command in 'ref/'. And too often I'm dismayed to see the
simplest example of its use showing some cute and/or clever application
that leaves me scratching my head about how to understand the command's
operation, and little the wiser for the look-up.

- Dushan

Andrzej Kozlowski

unread,
May 18, 2013, 2:38:17 AM5/18/13
to
I agree with almost all of this with a couple of important exceptions.
Firstly, Mathematica 9 has lots of, what to me, is tremendously
important mathematical functionality. I am referring to functions such
as RandomFunction and numerous functions related to stochastic
processes, including Levy processes etc. For example, you can now
generate a path of a Wiener process in Mathematica 9 like this:

ListLinePlot[RandomFunction[WienerProcess[], {0, 1000, 0.1}], AxesOrigin -> {0, 0}]

Try programming this yourself in Mathematica 8 (not too hard but not
trivial either) and then compare performance. You can also do this just
as easily with much more complicated stochastic processes, where even
achieving any reasonably efficient result with Mathematica 8 will be a
tough job. This is enormously important for applications in all kinds of
areas of science and in mathematical finance. I don't know of any other
program at this price level that can match this.

I mention this fact in order to make a point that nobody has been
making: these sort of things are important for many Mathematical users,
in fact infinitely more so that the kind basic language issues that
Richard Fateman has been carping about for over 20 years. These kind of
functionality is why many people use Mathematica. I therefore absolutely
disagree with the statement: "I am very happy with the functions
available in Mathematica 8". Or rather, Mathematica 8 was fine (although
it could not, for example, fit the Meixner prosess to the S&P500 stock
price without lots of extra work) but Mathematica 9 is a marvel (and, of
course, it can do it easily).

There are of course other areas of mathematics and science where the
same can be said. While I agree that we probably do not need many more
basic language functions, there is actually no limit to how many
mathematical functions Mathematica can accommodate. User created
packages are not really suitable for any work that is computation
intensive.

Now, of course, basic stability is the most fundamental issue: there is
not point having a program with the most magnificent computational
abilities if it is going to crash all the time. I also agree that the
FrontEnd has fallen far behind the Kernel in stability - this really
does need to be given the highest order of priority. But don't forget
that these two things do not really compete with one another. People who
work on mathematical functions are not the same as the ones who work on
the front end - these are two different specialities and different
teams. It's pointless to say: we have enough mathematical functions,
let's now concentrate on eliminating the Front End bugs. It doesn't work
this way.

Andrzej Kozlowski

Andrzej Kozlowski

unread,
May 18, 2013, 2:38:29 AM5/18/13
to
But of course they do not have an ordering. But they do have size! A
complex number has length: called its modulus. A complex number can be
very small: when its modulus is small, and very large. Of course there
are uncountably many complex numbers with the same modulus and you can't
order them. But it is possible to decide whether a complex number is
close to the real line or not, there is no need for any ordering here.

By the way, Mathworld is of course quite correct here but honestly and
with all modesty, I do not consider it more authoritative on this topic
than myself.

Andrzej Kozlowski





On 17 May 2013, at 11:49, Peter Klamser <kla...@googlemail.com> wrote:

> http://mathworld.wolfram.com/ComplexNumber.html says:
>
> "Unlike real numbers, complex numbers do not have a natural ordering,
> so there is no analog of complex-valued inequalities. This property is
> not so surprising however when they are viewed as being elements in
> the complex plane, since points in a plane also lack a natural
> ordering."
>
> Peter
>
> 2013/5/17 Andrzej Kozlowski <akozl...@gmail.com>:
>>
>> On 16 May 2013, at 09:28, Peter Klamser <kla...@googlemail.com> wrote:
>>
>>> This is an interesting discussion. But if it can be useful, we have to
>>> make short proposals. Nobody has the time to read long texts.
>>>
>>> A) First proposal: Identify useless or false constructions in Mathematica
>>>
>>> aa) Eliminating Chop[] for complex numbers. Complex numbers are
>>> oderless and therefore nobody call estimate, weather the distance of 1
>>> + 10^-google i to the real numbers is small or big.
>>
>> You are mistaken. The issue of order and the issue of distance are entirely different and unrelated. The complex numbers are a one dimensional complex Hilbert space with the standard inner product, hence a (complete) metric space. The distance between two complex numbers is well defined and so it the distance of a complex number from the real line. Also, it would be crazy if Mathematica itself decided that complex numbers which are sufficiently close to the real line are actually real one. This sort of thing should be left to the user (obviously!) and this is exactly what Chop does (it has a second argument, you know).
>> If I understand your suggestion correctly, it is probably the worst suggestion for an "improvement" in Mathematica I have ever read on this forum.
>> Fortunately, it is 100% sure that it will be ignored as all such suggestions usually are.
>>
>> Andrzej Kozlowski
>>
>>
>>> Chop[] is the
>>> result of Mathematica design, that it presents often complex results, where
>>> real values are the simpler result and can be reached by
>>> ComplexExpand[].
>>> The simplest solution is always the best solution.
>>>
>>>>> with Etienne de La BoE9tie was such that "So many coincidences = are needed to

Murray Eisenberg

unread,
May 18, 2013, 2:38:42 AM5/18/13
to
Responses interspersed below.

On May 17, 2013, at 4:35 AM, Fred Simons <f.h.s...@tue.nl> wrote:

> Mathematica 9 is very unstable. For me it is the poorest version that I
> have used since the frontend was added. In many of my notebooks, I
> cannot use simple commands like selecting a name and pressing shift-F1
> for going to the help, or ctrl( for converting a selection to a
> mathematica formula. The result is that I get the message Mathematica 9
> stopped working.

That's odd! In 9.0.1 under OS X, fn F1 does bring up the ref page on a function if the cursor is immediately after the name or if the name is selected.

And if in a Text cell I type, say a+b, select it, and press Ctrl(, then it does become a math formula.

> Last Tuesday I gave a course on interactivity in Mathematica.
> Mathematica 9 was running on 7 platforms. On at least 5 of them
> Mathematica had to be restarted during the course because of it started
> showing incorrect output. When things like this happen, I cannot
> recommend Mathematica to a potential new user.

I think we would all like to know just what sort of input was giving such problems, and on exactly which OS platforms.

Peter Klamser

unread,
May 18, 2013, 2:37:53 AM5/18/13
to
>>>> there are friends and there are friends. Montaigne wrote that his frie=
ndship
>>>> with Etienne de La Bo=E9tie was such that "So many coincidences are =
needed to
>>>> build [it up] that it is a lot if fortune can do it once in three
>>>> centuries." One might say, ephemera in ephemera out.
>>>>
>>>> For the dwindling few of us who still have desktop computers and large
>>>> screens, or maybe two large screens, who are interested in learning or=
doing
>>>> some extended mathematics, and the even fewer who would like to write
>>>> literate Mathematica notebooks as technical documents, I wonder if Ste=
phen
>>>> could find some time to attend to basic Mathematica, fixing its proble=
ms and
>>>> fulfilling its vision?
>>>>
>>>> Mathematica lacks stability. Things that worked fine in one version do=
n't
>>>> work in the next. Especially troubling to me is the basic user interfa=
ce
>

leigh pascoe

unread,
May 18, 2013, 2:38:00 AM5/18/13
to
Le 17/05/2013 10:35, Fred Simons a =C3=A9crit :
> Like David Park and Raul Martinez, I am a user of Mathematica since
> version 1. Since I am (was) really very enthousiastic about Mathematica,
> in my courses on Mathematica that I regularly present to professionals
> who are going to use Mathematica or want to deepen their knowledge of
> this package, I had no problem in convincing them how powerfull and
> strong Mathematica is (was).
>
> Now we have Mathematica 9. My feeling about this version becomes more
> and more negative. We have the problem with the sudden change of the
> default style between version 8 and version 9. Going back in version 9
> to the style of Mathematica 8 is not bug free, so I, and the
> participants of my courses, have problems with the course material.
>
> Mathematica 9 is very unstable. For me it is the poorest version that I
> have used since the frontend was added. In many of my notebooks, I
> cannot use simple commands like selecting a name and pressing shift-F1
> for going to the help, or ctrl( for converting a selection to a
> mathematica formula. The result is that I get the message Mathematica 9
> stopped working...
>
> Last Tuesday I gave a course on interactivity in Mathematica.
> Mathematica 9 was running on 7 platforms. On at least 5 of them
> Mathematica had to be restarted during the course because of it started
> showing incorrect output. When things like this happen, I cannot
> recommend Mathematica to a potential new user ....
>
> But what worries me most is my feeling that WRI seems not to be
> interested in producing a stable, reasonable bugfree release.
>
> I read some examples in this thread. My personal example is that there
> is a bug in Mathematica with respect to the MINGW-compiler. That bug
> forces me to keep using Mathematica 8 for my applications that use
> compilation. The bug is found by WRI (good work!) and I was informed
> about it. But the bug is not repaired in the latest releases ...
>
> Like many of you, I hope that WRI will lay their priority on the quality
> of the software, instead of on the number of included functions.
> Personally, I am very happy with the functions available in Mathematica 8.
>
> Fred Simons
> Eindhoven University of Technology
>
> Op 13-5-2013 9:49, R Martinez schreef:
>> All,
>>
>> Count me as one who has been using Mathematica since Version 1, and who uses Mathematica for serious Mathematics and for teaching. Mathematica enables me to do things expeditiously that would take a tremendous amount of effort to do otherwise. So I love Mathematica. I wish I'd had it when I was in college.
>>
>> Having said that, I agree with many of David Park's comments, especially about the Front End and stability. I would like to see Wolfram Research pay attention to David's constructive criticisms.
>>
>> Adding my bit to David's comments about Front End stability, I'm one who complained about the new default notebook style that surfaced in Mathematica 9. The fonts and text color used in the new default style are ugly. Moreover, opening an old Mathematica 8 default notebook in Mathematica 9 changed all the fonts and colors to the new undesirable ones. I complained to Wolfram (apparently I was not alone) and a workaround was found
by including the Mathematica 8 version notebook as a style that one has to select (as opposed to the default style). So Wolfram was responsive, but the lack of foresight remains: Why not reverse roles and include the new default notebook style as an option and keep the old one as default? This would address one aspect of stability that David eloquently describes.
>>
>> So yes, Wolfram, please pay attention to Mathematica and the effect changes on users, particularly the stability issue. Change is good, but it has to be done well.
>>
>> Raul Martinez
>>
>>
>
>
I would agree about the instability of Mathematica 9. I have posted
previously about the program freezing sporadically with subsequent loss
of unsaved work. I was not the only one to have a similar problem and
post it on the discussion group. However there was no response to my
questions. I am currently working on a note book that I have to restart
several times per hour as a result of crashes/freezing. It seems to be
related somewhat to dynamic content, but as I am unable to reliably
reproduce the behaviour I can't post the problem or contact technical
services.

I for one would welcome an update that fixed any instabilities.

On the other hand I am already using functions new to Mathematica 9,
such as ContinuousMarkovProcess, so the addition of new functionality is
also welcome. I have little interest in Mathematica for an I-pad or
telephone, which I regard as largely a gimmick.

LP

Fred Simons

unread,
May 19, 2013, 5:46:05 AM5/19/13
to
I run the windows version of Mathematica 9. Indeed, when I start a fresh
notebook and test e.g. the F1 functionality, it works. But I said that I
have a lot of notebooks in which this, and other handy tools, do not
work. All these notebooks contain a lot of interactivity. So the
problem is notebook dependent, probably in relation with the dynamics.
As Leigh Pascoe made a similar remark.

With respect to Murray's last question: all errors had to do with
Dynamic showing incorrect inconsistent results.

Finally: though I personally do not need the new functions in
Mathematica 9, I can very well imagine that they are useful to others. I
was not proposing that WRI should not look for improved functionality.

Regards,

Fred



Op 18-5-2013 8:40, Murray Eisenberg schreef:
> Responses interspersed below.
>
> On May 17, 2013, at 4:35 AM, Fred Simons <f.h.s...@tue.nl> wrote:
>
>> Mathematica 9 is very unstable. For me it is the poorest version that I
>> have used since the frontend was added. In many of my notebooks, I
>> cannot use simple commands like selecting a name and pressing shift-F1
>> for going to the help, or ctrl( for converting a selection to a
>> mathematica formula. The result is that I get the message Mathematica 9
>> stopped working.
> That's odd! In 9.0.1 under OS X, fn F1 does bring up the ref page on a function if the cursor is immediately after the name or if the name is selected.
>
> And if in a Text cell I type, say a+b, select it, and press Ctrl(, then it does become a math formula.
>
>> Last Tuesday I gave a course on interactivity in Mathematica.
>> Mathematica 9 was running on 7 platforms. On at least 5 of them
>> Mathematica had to be restarted during the course because of it started
>> showing incorrect output. When things like this happen, I cannot
>> recommend Mathematica to a potential new user.
> I think we would all like to know just what sort of input was giving such problems, and on exactly which OS platforms.
>
> ---
> Murray Eisenberg mur...@math.umass.edu
> Mathematics & Statistics Dept.
> Lederle Graduate Research Tower phone 413 549-1020 (H)
> University of Massachusetts 413 545-2838 (W)
> 710 North Pleasant Street fax 413 545-1801
> Amherst, MA 01003-9305
>
>
>
>
>
>
>
>
> -----
> Geen virus gevonden in dit bericht.
> Gecontroleerd door AVG - www.avg.com
> Versie: 2013.0.3336 / Virusdatabase: 3162/6334 - datum van uitgifte: 05/17/13
>
> .
>


Murray Eisenberg

unread,
May 19, 2013, 5:46:10 AM5/19/13
to
Yes, it's a very basic fact that there's no linear ordering of the complex numbers compatible with the field operations. (It's an often-assigned exercise in a first course in complex analysis.)

(Note though, that the coefficients of the imaginary parts of complex numbers form the real field, which is ordered as usual.)

But I don't see the relevance of that to needing a Chop facility. The point remains that complex methods are often used to solve strictly real problems, but due to roundoff resulting form working with approximate numbers, you may obtain a complex result with tiny imaginary part that you wish to disregard. That's what Chop does.
>>>>> there are friends and there are friends. Montaigne wrote that his friendship
>>>>> with Etienne de La Bo=E9tie was such that "So many coincidences are needed to
>>>>> build [it up] that it is a lot if fortune can do it once in three
>>>>> centuries." One might say, ephemera in ephemera out.
>>>>>
>>>>> For the dwindling few of us who still have desktop computers and large
>>>>> screens, or maybe two large screens, who are interested in learning ordoing
>>>>> some extended mathematics, and the even fewer who would like to write
>>>>> literate Mathematica notebooks as technical documents, I wonder if Stephen
>>>>> could find some time to attend to basic Mathematica, fixing its problems and
>>>>> fulfilling its vision?
>>>>>
>>>>> Mathematica lacks stability. Things that worked fine in one version don't
>>>>> work in the next. Especially troubling to me is the basic user interface

Roland Franzius

unread,
May 19, 2013, 5:46:38 AM5/19/13
to
Am 18.05.2013 08:38, schrieb Murray Eisenberg:

> On May 17, 2013, at 4:35 AM, Fred Simons <f.h.s...@tue.nl> wrote:
>
>> Last Tuesday I gave a course on interactivity in Mathematica.
>> Mathematica 9 was running on 7 platforms. On at least 5 of them
>> Mathematica had to be restarted during the course because of it started
>> showing incorrect output. When things like this happen, I cannot
>> recommend Mathematica to a potential new user.
>
> I think we would all like to know just what sort of input was giving such problems, and on exactly which OS platforms.

Some of us may know all about these facts.

In a course, it will need about three weeks until everybody has learned
that the Mathematica kernel doesn't forgive or forget.

Another question was always, how to let people work on the same shared
working dirctory in a course.

Better first teach them to copy everything to an own home directory and
make a copy to an archiv folder before you start.

In Linux environments we never managed to conserve a stable environment,
especially with respect to fonts. Since every Linux user needs a
software repair assistant, we gave up.

But now, heaving held courses in Mathematical Physics since 1995 under
the realistic experimental title "Mathematica Laboratory" here are some
simple points.

For beeing rated as a really good and easy to handle instruction and
evaluation test system, Mathematica has to come with, at least, three
important innovations

1: in place execution of a Clear command by colouring a definition
head and execute a right click

2: a shortcut for shutting down and restarting the kernel and for
executing intializition cells again

3: saving automatically the text history of the current notebook before
evaluations and during the complete editing procedd, for the text part.
Every known text or graphics systems has an editing stack with Undo and
Redo.

But task 3: would perhaps require separation of text and formatting
parts in notebooks.

On the other hand, why not, at least, automatically saving a parallel
text.m version? Or just the complete notebook without output.

Sometimes now since Windows 7, a mostly self animated cursor corrupts
text, jumping in the middle of typing to a random position somewhere and
there is chance zero to restore a working text version together with the
editing, done before the typing error occurs.

For point 2: I always added a MenuKey Entry in the Windows
TextResources MenuSetup.tr file, but now, the different versions of
Mathematica cannot share the user-edited initialization files any more.



I don't want to complain here about:

Missing language support

Useless Find and Replace.

You cannot even search for the extended character set using escape input
or by highlighting a string without using copy and paste.

Sometimes, if things grow too difficult to transfer to newer
implemetations I save the text as an .m file, open it in Word or WinEdt
and replace things using the procedures we know from TeX.

Of course, when you have managed to use Export und Import and
RegularExpressions in Mathematica you can handle complex editing
yourself. But to learn programming an editor, on the other hand, needs
some years experience.

For beginners, complex editing should be as easy as using the little
Find and Replace applet in text processors.


--

Roland Franzius



paulm...@gmail.com

unread,
May 19, 2013, 5:47:11 AM5/19/13
to
I have (maybe) a minority perspective on Mathematica being an engineer. I used it long ago at university at version 1. The next time I would use it would be a wolfram approved ebay purchase of version 4. I have used it ever since, but am still rookie in some ways.

I believe WRI is attempting to broaden the user base rather than deepen the product. They are doing this by adding (from our perspective) non-value add features to lure people in. The argument is the learning curve is less which should lead to greater sales. This is not how it works at any place I have been.

The only engineering sales force that matters is engineers. If they can't argue for the product, it will not happen. Engineers can't argue for something they are unable use until after purchase and additional training. If you want engineers to demonstrate something or argue for it, you have to do more than offer wizards and connections to WolframAlpha which only apply after the sale. Engineers need to show understanding and capability. Managers have to show accounting they are saving money by buying Mathematica. Improvements in quality of OUR products or ability to address greater problems is not quantifiable to the brigade of MBAs who run modern businesses. There has to be quantifiable savings. This has to be demonstrated by engineering staff before purchase and framed in terms of reduced need for time (salary expense).

I think this can only be achieved by making the online education material targeted to a specific audience. This material must solve real problems in a way that conveys the underlying capability.

I have been told by WRI that most users will only use 5% (at most) of Mathematicas total ability. LoL, if only everyone would use the same 5%.

If you want us to be able to sell it, you have to provide training for free so we can get started solving engineering problems prior to purchase. Combine this with a 60 day trial and you could save a lot of WRI development dollars on bells and whistles that won't increase sales. Help us help you! Stop trying to treat sales tools as a profit center!


paulm...@gmail.com

unread,
May 19, 2013, 5:47:28 AM5/19/13
to
Another "missing item" is toolbox.wolfram.com. There are many functions people write that would be amazing useful to others but will never be shared. I have shared some potential toolbox entries here like a function that receives evenly spaced time/data pairs and returns FFT in terms of Hz. Handy to have laying around. I started a Toolbox.nb that I refer to often. It would be great to have an "open source" sharing mechanism to have the community support each other. Some of the things in my toolbox:

1. Cool graphing functions with very simple legends
2. Canned functions for unique file formats
3. Easier ways to measure time than Timing[]
4. Database access routines
5. Initialization stuff
6. Functions to communicate over Ethernet
7. Functions to talk to external COTS test equipment

It would be cool to have a community place to store and share this stuff. Like a sourceforge model for Mathematica. Peer reviewed notebooks or external applications to extend Mathematica.

Any chance of this?

Thanks,
paul

David Bailey

unread,
May 19, 2013, 5:46:16 AM5/19/13
to
On 18/05/2013 07:38, Murray Eisenberg wrote:> Responses interspersed below.

>
> That's odd! In 9.0.1 under OS X, fn F1 does bring up the ref page on
a function if the cursor is immediately after the name or if the name is
selected.
>
> And if in a Text cell I type, say a+b, select it, and press Ctrl(,
then it does become a math formula.
>

>
> I think we would all like to know just what sort of input was giving
such problems, and on exactly which OS platforms.
>

I don't doubt for a second that the author observed the behaviour he
describes, because the FrontEnd is a GUI program, and like any GUI
program, if it is badly designed, it can suffer from all sorts of race
hazards that don't always reproduce on other machines, even though they
may reproduce easily on one particular machine with one particular user.
For example, every key down and key up event gets fed into a GUI
program, and the timing, and hence the way that these are interspersed
with other messages may depend on the human operator and hardware factors.

I think WRI should put a lot of effort into providing a logging
mechanism for the FE that can record enough information to pinpoint what
is going on in these situations, and then fix them.

To me, the FE has never been completely stable since version 6.0 came out.

David Bailey
http://www.dbaileyconsultancy.co.uk


Richard Fateman

unread,
May 19, 2013, 5:46:27 AM5/19/13
to
Rising to the bait..

On 5/17/13 11:38 PM, Andrzej Kozlowski wrote:
> I mention this fact in order to make a point that nobody has been
> making: these sort of things are important for many Mathematical users,
> in fact infinitely more so that the kind basic language issues that
> Richard Fateman has been carping about for over 20 years. These kind of
> functionality is why many people use Mathematica. I therefore absolutely
> disagree with the statement: "I am very happy with the functions
> available in Mathematica 8".

Clearly one can continue to add libraries to Mathematica. Each time
some computational functionality is added 'built in' it replaces a
functionality (or potential functionality) that could be implemented
in the Mathematica language, and may make someone somewhere happy.
Many? I wonder how many people doing statistics are just waiting
for extra features to be added to Mathematica (vs. using systems
that already provide such features, and have done so for many years)..

Possibly some other people will be inconvenienced by cost, size,
complexity, etc. One hopes, not by much, if the design of features
is properly orthogonal to other features. I do not object to
the goal that a computer algebra system should generally be
extensible and extended to cover as much of math as can be
done "nicely". There are some designs that are especially
uncomfortable -- for example imagine the result of merging pre-existing
systems each of which has a different notion of "integer".

My concern has been and continues to be based on the observation
that Mathematica fails to fulfill reasonable expectations on
simple things, for example arithmetic and comparison of floating
point numbers. Therefore
a package built on this foundation of sand may fail in mysterious
(to typical users) ways. A package built by savvy programmers
internal to WRI may fail less frequently than one built for
similar purposes by an "outsider".

RJF




?iso-8859-1?Q?J=E1nos_L=F6bb?=

unread,
May 19, 2013, 5:47:16 AM5/19/13
to
I can imagine the following "natural" ordering of complex numbers.

Imagine the Riemann sphere and take a real number epsilon, epsilon <<1. Then start to 'peel' this Riemann sphere, like an orange from the (0,0,1) point down to the (0,0,0) point and lay it down on the 2 dimensional plane. You will get a Cornu spiral with thickness epsilon. Then you can define an epsilon-metric on it by selecting one of the end points and define the the 'distance' as the length of the curve from that end point. You can get the real distance by tending with epsilon to 0. Then you will have a "natural" metric and with that an ordering of the complex numbers.

So the process is to project the complex number to the Riemann sphere and find where it is placed on the above described 0-thickness Cornu spiral.

J=E1nos

On May 18, 2013, at 2:40 AM, Andrzej Kozlowski <akozl...@gmail.com> wrote:

> But of course they do not have an ordering. But they do have size! A
> complex number has length: called its modulus. A complex number can be
> very small: when its modulus is small, and very large. Of course there
> are uncountably many complex numbers with the same modulus and you can't
> order them. But it is possible to decide whether a complex number is
> close to the real line or not, there is no need for any ordering here.
>
> By the way, Mathworld is of course quite correct here but honestly and
> with all modesty, I do not consider it more authoritative on this topic
> than myself.
>
> Andrzej Kozlowski
>
>
>
>
>
>>>>>> Who would have thought? The average person on Facebook has 342 friends! Well
>>>>>> there are friends and there are friends. Montaigne wrote that his friendship
>>>>>> with Etienne de La BoE9tie was such that "So many coincidences are needed to

Andrzej Kozlowski

unread,
May 20, 2013, 5:03:08 AM5/20/13
to
A metric does not give you an "ordering", of course: it only gives you a
distance between numbers. A norm (which is a mathematical formulation of
the concept of "size") does give an ordering (a norm defines distance
but distance does not necessarily come from a norm): you can always says
that an object comes before another object if the norm of the former
object is smaller than that of the latter. But the kind of orderings
that one is interested in, in the context of algebraic structures such
as complex numbers and real numbers are those that are compatible with
these structures. In other words, you want things like
if a< b then a+x< b+ x etc. And this is what you can't get in the case
of complex numbers. There is no way to define < that will satisfy such
rules. (Note that |a|<|b| does not imply that |a+x|<|b+x|, for example.)

That's a pretty trivial fact, which does not need any any advanced
mathematics or MathWorld.

Also, it has completely no relation to the size of complex numbers (they
are simply 2 dimensional vectors and they have the natural concept of
size taught in high school), and, needless to say, all this discussion
has exactly zero relevance to the function Chop.


Andrzej Kozlowski

Andrzej Kozlowski

unread,
May 20, 2013, 5:03:13 AM5/20/13
to
I got a bit carried away in my use of the word "ordering", so I feel I
need to write a few more words, even though this entire discussion is a
complete red herring and has no relevance at all to Mathematica. (But it
was not I who started it )

Normally when one uses the concept of an order or ordering one requires
anti-symmetry, that is: if a<=b and b<=a then a=b. If you require
that, having a norm will not give you an ordering, since, of course, a
number of elements can have the same norm and not be equal. This is, in
fact, called a pre-order.

So the modulus of a complex number defines a pre-order. But even this
pre-order in not compatible with the algebraic structure. In fact there
no compatible pre-order (not just order) can be defined.

Andrzej Kozlowski
>>> complex number has length: called its modulus. A complex number can = be
>>>>>> 2013/5/15 Szabolcs HorvE1t <szho...@gmail.com>:
>>>>>>>
>>>>>>> While some individual points are debatable, I also completely =
agree
>>>>>>> with David's main message. Mathematica needs more focus, =
particularly
>>>>>>> some work on stability and robustness. Even if it would come at =
a cost
>>>>>>> of new features (there are many features I'd like to see, but =
you can't
>>>>>>> have everything).
>>>>>>>
>>>>>>> Re: "if I click in an existing Input cell and do a line return =
the
>>>>>>> Messages window opens with a contact WRI if this happens =
message"
>>>>>>>
>>>>>>> This bug (on OS X) is really annoying when typing code in =
another
>>>>>>> language in a Mathematica string. If will sometimes completely =
ruin
>>>>>>> the typed text if I press return several times while inside a =
string.
>>>>>>> It's a bit ironic that this bug appeared in the same release =
which
>>>>>>> brought us RLink (which I'm using these days, i.e. I'm typing a =
lot of
>>>>>>> R code inside Mathematica strings).
>>>>>>>
>>>>>>> On 2013-05-12 07:28:34 +0000, djmpark said:
>>>>>>>> (I've renamed this and started a new thread because my reply is =
not exactly
>>>>>>>> to the question.)
>>>>>>>>
>>>>>>>> Oh, what a wonderful Wolfram blog! Earlier Stephen hinted at =
Mathematica as
>>>>>>>> an iPhone app. Now it's data mining Facebook data (Gee I wonder =
if
>>>>>>>> Zuckerberg has thought of that? He might be able to develop a =
great business
>>>>>>>> model.) Can Twitter be far behind? There are many significant =
mathematical
>>>>>>>> equations that will fit into 64 characters - or whatever the =
limit is.
>>>>>>>> Ramanujan would probably have done well on Twitter. And women =
are more
>>>>>>>> interested in personal relationships and men are more =
interested in sports?
>>>>>>>> Who would have thought? The average person on Facebook has 342 =
friends! Well
>>>>>>>> there are friends and there are friends. Montaigne wrote that =
his friendship
>>>>>>>> with Etienne de La BoE9tie was such that "So many coincidences =
are needed to
>>>>>>>> build [it up] that it is a lot if fortune can do it once in =
three
>>>>>>>> centuries." One might say, ephemera in ephemera out.
>>>>>>>>
>>>>>>>> For the dwindling few of us who still have desktop computers =
and large
>>>>>>>> screens, or maybe two large screens, who are interested in =
learning or doing
>>>>>>>> some extended mathematics, and the even fewer who would like to =
write
>>>>>>>> literate Mathematica notebooks as technical documents, I wonder =
if Stephen
>>>>>>>> could find some time to attend to basic Mathematica, fixing its =
problems and
>>>>>>>> fulfilling its vision?
>>>>>>>>
>>>>>>>> Mathematica lacks stability. Things that worked fine in one =
version don't
>>>>>>>> work in the next. Especially troubling to me is the basic user =
interface
>>>>>
>>>
>>>
>>
>>
>


Ernst H.K. Stelzer

unread,
May 20, 2013, 5:03:22 AM5/20/13
to
This is a very good suggestion. Stackexchange addresses this issue to a certain extent, particulalrly when questioneers and answerees continue to edit their questions/answers and point to the most complete answer. However, the editors are very sensitive to to simply providing the code for a reasonable problem if it is not phrased as a question, which I appreciate and do not wish to discuss here.

Whenever I find interesting code here on mathgroup or on Stackexchange I copy it into one of my MathGroupTippsAndTricks notebooks and make sure it is in a format I will understand months or years later. However, this concept fails once the notebooks contain too many dynamic entries and become excessively large.

I have also started to write more complete packages (.m) with comments and full names. But how do I share them with the community?

There are also many sites for C-programmers looking for snippets of various kinds, but I have yet to come across one that can be searched ...

I agree with Paul, sharing notebooks, functions and code-snippets is a very serious task where Wolfram has to make an effort and either do it themselves or via supporting the community and where a good search functionality is absolutely essential. The demonstrations project is by no means sufficient, particulalrly since it does not allow code that imports and exports data.

Sincerely

Ernst

(possibly quite short, since sent via Outlook Web Access)

Prof. Dr. Ernst H.K. Stelzer
Physikalische Biologie/Physical Biology (FB 15, IZN)
Buchmann Institute for Molecular Life Sciences (BMLS)
Centre of Excellence Macromeolecular Complexes (CEF-MC)
Goethe Universit=E4t Frankfurt am Main (Campus Riedberg)
Max-von-Laue Stra=DFe 15
D-60438 Frankfurt am Main, Germany

http://www.bmls.de http://www.uni-frankfurt.de
http://www.researcherid.com/rid/A-7648-2011
http://www.physikalischebiologie.de
________________________________________
From: paulm...@gmail.com [paulm...@gmail.com]
Sent: 19 May 2013 11:51
Subject: Re: Work on Basic Mathematica Stephen!

Ingolf Dahl

unread,
May 20, 2013, 5:03:42 AM5/20/13
to
Paul, have you checked http://library.wolfram.com/? There you could submit
your toolboxes. If you put your tools somewhere else, e.g. on your own web
page, you might post a link at
http://www.mathematica-users.org/webMathematica/wiki/wiki.jsp?pageName=Links
,
or if you have a whole "Application package" to advertise, you might
announce it at
http://www.mathematica-users.org/webMathematica/wiki/wiki.jsp?pageName=Packa
ges .
On my computer, I have during the years collected around 75 such packages
from different contributors.

Best regards

Ingolf Dahl
Sweden

David Annetts

unread,
May 20, 2013, 5:03:02 AM5/20/13
to
Hi Paul,

Before WRI went off on their demonstrations trip (...), there was
MathSource. Remanents are here : http://library.wolfram.com/.

D.

mathgroup

unread,
May 22, 2013, 2:18:21 AM5/22/13
to
I want to comment on my experience , limited of course, with students of
Engineering, Engineers and Professors of Engineering.....my background is
Physics...

First, I get the impression that , in the main, Symbolic Computation, etc.
is not something they are really interested in......After I retired, I took
several courses in Electromagnetics, one Graduate and the other
Undergraduate......No one suggested the use of or taught the potential
applications of Mathematica....Even in the Graduate course, I was the only
student using Symbolic software ......in fact, the students did everything
by hand and whenever something required software, such as Antenna patterns,
out came M-------b with some code , etc....and that was the end of it....So,
the students knew no better....and the Professors didn’t care or werent
interested themselves in the benefits of learning and solving problems
Symbolically....I asked one Professor if I could give a class lecture on the
use of Mathematica for Electromagnetics...He agreed but than said 'I can
only give you about ten minutes'....I respectfully declined the offer....

So, how does WRI expand its market?....IMO, there have to be dedicated
Teachers on how to use Mathematica in what I'll call the Research Mode not
just define given functions from the text and plot it.......from what I have
seen of the attitude of Instructors and Professors I'm anything but
Optimistic....I went to our local Colleges and suggested a sequence of
courses in Mathematica ending with Animation and Simulation....That got me
nowhere especially with the Math Depts...so, in part, I see people who are
stuck in pencil and paper and refuse to get out of it....

Again, of course, this is my limited experience...Perhaps others have had
different and better ones...

Jerry Blimbaum



-----Original Message-----
From: paulm...@gmail.com
Sent: Sunday, May 19, 2013 4:50 AM
Subject: Re: Work on Basic Mathematica Stephen!

Szabolcs Horvát

unread,
May 23, 2013, 3:51:35 AM5/23/13
to
There have been discussions about this among the users of
http://mathematica.stackexchange.com

I agree that Mathematica does have a need for more communication
between users, and especially sharing code. As Ingolf mentioned,
there's library.wolfram.com, but I don't think most people will go
looking there. It has too many irrelevant things and some seem to be
completely unrelated and added by some automated program … (see e.g.
this recent addition:
http://library.wolfram.com/infocenter/Articles/8369/ ) Another problem
is that it's not easy to update items from there quickly enough (sites
like GitHub/BitBucket/GoogleCode are better but they're not Mathematica
specific).

The best way to share your packages at the moment is probably to use
them in answers to problems posted here or to
mathematica.stackexchange.com

There's also this:
http://meta.mathematica.stackexchange.com/questions/428/what-third-party-packages-do-you-use

But it's not really suitable for sharing code.

I learn about most such packages from mentions on Mathematica.SE (or
possibly here).

http://mathematica-users.org/ is very nice as a concept but for some
reason it hasn't been picked up by the community yet. Maybe that's
because it has been slow/unaccessible a lot.




Richard Fateman

unread,
May 23, 2013, 3:51:55 AM5/23/13
to
On 5/21/2013 11:18 PM, mathgroup wrote:
> I want to comment on my experience , limited of course, with students of
> Engineering, Engineers and Professors of Engineering.....my background is
> Physics...
>
> First, I get the impression that , in the main, Symbolic Computation, etc.
> is not something they are really interested in...
...
> Again, of course, this is my limited experience...Perhaps others have had
> different and better ones...
>
> Jerry Blimbaum
>
>

I think your experience is typical, and that the "sweet spot" for
engineering computation is not in symbolic computation nor Mathematica
in particular. Certainly educators don't view symbolic computation
as key to any particular course that is in the core curriculum. See
for example...

my own institution, University of California at Berkeley describes the
curriculum here:
http://coe.berkeley.edu/students/current-undergraduates/handouts-and-items-for-main-page/2011-12%20Announcement.pdf

no mention of Mathematica, though a numeric program is mentioned
in the TITLE of one course on computer programming.

Searching through the whole ME web site reveals that a few courses
allow that proficiency in some programming language, which could be
in Mathematica, is recommended or required. Proficiency in Mathematica
as a job skill... uh, monster.com lists 19 jobs with a keyword of
Mathematica. at least 6 of them are at Mathematica Policy Research,
unrelated to the program. Over 1000 for some others.

Usually the "killer app" for computer algebra is thought to be something
related to education or perhaps testing. There are too
few actual "mathematical researchers" to make much of a market.

So one strategy for WRI is to make Mathematica competitive in areas
that have little or nothing to do with symbolic computation. And
that is what it is doing.

Web design and service
Knowledge, uh, stuff. Data base
Graphics, animation, games,
Numerics, statistics, traditional application packages (e.g. signals,
materials, control...)
Business "analytics"


So all you people who say that SW should buckle down and do
the symbolic math right (or do the arbitrary precision
arithmetic or intervals or other fundamentals right).

yeah, you can ask for that, but don't hold your breath. WRI
is a commercial operation.

RJF







djmpark

unread,
May 23, 2013, 3:54:37 AM5/23/13
to
It will be done by example. Several people will work together,
exchanging Mathematica notebooks or working on a common notebook. The
notebooks will be what I call "literate"; they will look something like
a technical paper or report, but they will take advantage of all the
active and dynamic features of Mathematica, and contain generated
knowledge in the form of active and immediately accessible routines and
definitions developed in the course of the effort.

The notebooks will be of higher integrity than paper and pencil work, or
using Mathematica as a programmed calculator and copying out because of
all the self-proofing and additional checks that can be performed. (Of
course, one can still make errors but they should be rarer and not the
common variety.)

That all this can be done in a single application is a tremendous
advantage.

Someday other people will see what they are doing and the advantages are
so great they will want to do the same thing. The task is getting more
people to write and use good examples.


David Park
djm...@comcast.net
http://home.comcast.net/~djmpark/index.html




From: mathgroup [mailto:fizz...@knology.net]

I want to comment on my experience , limited of course, with students of Engineering, Engineers and Professors of Engineering.....my background is Physics...

First, I get the impression that , in the main, Symbolic Computation, etc.
is not something they are really interested in......After I retired, I took several courses in Electromagnetics, one Graduate and the other Undergraduate......No one suggested the use of or taught the potential applications of Mathematica....Even in the Graduate course, I was the only student using Symbolic software ......in fact, the students did everything by hand and whenever something required software, such as Antenna patterns, out came M-------b with some code , etc....and that was the end of it....So, the students knew no better....and the Professors didnC3=A2=E2=82=AC=E2=84=A2t care or werent interested themselves in the benefits of learning and solving problems Symbolically....I asked one Professor if I could give a class lecture on the
use of Mathematica for Electromagnetics...He agreed but than said 'I can
only give you about ten minutes'....I respectfully declined the offer....

So, how does WRI expand its market?....IMO, there have to be dedicated Teachers on how to use Mathematica in what I'll call the Research Mode not just define given functions from the text and plot it.......from what I have seen of the attitude of Instructors and Professors I'm anything but Optimistic....I went to our local Colleges and suggested a sequence of courses in Mathematica ending with Animation and Simulation....That got me nowhere especially with the Math Depts...so, in part, I see people who are stuck in pencil and paper and refuse to get out of it....

Again, of course, this is my limited experience...Perhaps others have had different and better ones...

Jerry Blimbaum



mathgroup

unread,
May 23, 2013, 3:56:19 AM5/23/13
to
David...

But that was exactly my point...I tried so hard with our Community College
and University to get Mathematica into the curriculum....or, as I said, to
give some lectures and examples on the use of Mathematica....and ALL of
them, Engineering, Math and Physics Depts said 'Thanks but No Thanks', as
if they have something against Mathematica....It seemed that the idea that
students would not use pencil and paper in as laborious a manner as possible
really bothered them....Not once did they think perhaps this might lead to a
real enjoyment of technical subjects and perhaps to much better
understanding of their course work......even when I was working I was
affectionately known as 'The Mathematica Nut'...although, I'm reminded of
something that Nietzsche said....

"Overzealousness on the part of one person can lead the others to
Apostasy".....

jerry blimbaum
the students knew no better....and the Professors didn’t care or werent

W Craig Carter

unread,
May 24, 2013, 5:23:39 AM5/24/13
to
I can only comment about my experience as well, but I beg to differ.

I believe my Mathematica-intensive sophomore course for materials
scientists has resulted in Mathematica as being the tool of choice for
the remainder of a student's undergraduate education---and know of many
cases where students continue to use Mathematica as a tool for graduate
research and private sector careers.

I've been teaching this course for about 12 years and have won MIT's
institute-wide teaching award and the school of engineering teaching
award; both awards derive primarily from the results of this course.

I only have student accounts and letters, and off-hand comments from
other faculty about the benefits of my course; these are uniformly
positive but the sample is probably biased. I am hoping to get an
objective critical assessment of the educational benefits of this
course---resources to get assessment are rare.

Helen Read and Murray Eisenberg, I believe, also teach successful
Mathematica-Intensive courses; they may have obtained objective
assessment.

W Craig Carter
Professor of Materials Science, MIT



On May 23, 13, at 4:06 AM, Richard Fateman wrote:

> On 5/21/2013 11:18 PM, mathgroup wrote:
>> I want to comment on my experience , limited of course, with students of
>> Engineering, Engineers and Professors of Engineering.....my background is
>> Physics...
>>
>> First, I get the impression that , in the main, Symbolic Computation, etc.
>> is not something they are really interested in...
> ...
>> Again, of course, this is my limited experience...Perhaps others have had
>> different and better ones...
>>
>> Jerry Blimbaum
>>
>>
>

djmpark

unread,
May 24, 2013, 5:26:22 AM5/24/13
to
There are two subjects here, third party applications and collecting
useful routines that have appeared on the several groups.

It is difficult to collect and organize various routines that have
appeared on the groups. They may not be well enough developed and you
may not know where to put them so you can find them. Putting them in a
regular notebook may not be too great. Also, you could spend a lot of
time collecting routines, most of which you will never use. You might
have more important things to do.

Nevertheless, here is one suggestion for doing it. In
$UserBaseDirectory/Applications create a Toolbox folder. Then in this
folder create a set of packages for various classifications of routines,
say Graphics.m, Formatting.m, etc. The BeginPackage statement for
Graphics.m would look like:

BeginPackage["Toolbox`Graphics`"]

Then add routines you have collected. (I'm assuming you know how to put
routines into a package.) You will have to make certain you have
provided usage messages for them, and they better be pretty complete
because you are not going to have Function pages for more complete
information. You can load the package with:

<< Toolbox`Graphics`

You could find what routines are in the package by evaluating:

?Toolbox`Graphics`*

One method to add some documentation might be to create a
Toolbox/Graphics folder and add notebooks that gave examples for
specific routines you were most interested in.

So that is one framework.

The first thing to say about third party Applications is that developing
them is hard. They usually have to be in a well-defined area. You have
to get everything right because every misstep quickly sheds uses. I
don't know if we know how to get everything right! You need good
mathematics and a good interface and the same person is seldom good at
both. The Application should blend with regular Mathematica and use
regular Mathematica conventions and interface. Don't make your own
interface and do use regular Mathematica documentation. That's what
users know and you just can't ask them to learn a different system. Give
the user an initial positive experience by showing them some examples
that are simple enough that they can relate to, but interesting enough
so they will be pleased with the results, and most of all that WORK.
Users will forgive problems at the periphery, they can be fixed, but
they won't forgive very many obstacles on the first day.
From: Szabolcs Horv=C3=A1t [mailto:szho...@gmail.com]


On 2013-05-19 09:47:28 +0000, paulm...@gmail.com said:

There have been discussions about this among the users of http://mathematica.stackexchange.com

I agree that Mathematica does have a need for more communication between users, and especially sharing code. As Ingolf mentioned, there's library.wolfram.com, but I don't think most people will go looking there. It has too many irrelevant things and some seem to be completely unrelated and added by some automated program =C3=A2=E2=82=AC=C2=A6 (see e.g.

Richard Fateman

unread,
May 24, 2013, 5:27:04 AM5/24/13
to
On 5/23/2013 12:56 AM, mathgroup wrote:
> David...
>
> But that was exactly my point...I tried so hard with our Community College
> and University to get Mathematica into the curriculum....or, as I said, to
> give some lectures and examples on the use of Mathematica....and ALL of
> them, Engineering, Math and Physics Depts said 'Thanks but No Thanks', as
> if they have something against Mathematica....It seemed that the idea that
> students would not use pencil and paper in as laborious a manner as possible
> really bothered them....Not once did they think perhaps this might lead to a
> real enjoyment of technical subjects and perhaps to much better
> understanding of their course work......even when I was working I was
> affectionately known as 'The Mathematica Nut'...although, I'm reminded of
> something that Nietzsche said....

People are naturally interested in optimizing their jobs.
Teachers don't want to change their courses, learn new things, make hard
decisions like what to REMOVE from the course to make
space for Mathematica, or deal with Nuts.

If a teacher is shown a program that does the same thing as what he
(or she) teaches, it strongly suggests that it is not worth teaching.
Also it strongly
suggests to the student that it is not worth learning.

Regarding djmpark's vision.. do we believe that notebooks based on
Mathematica will have higher integrity? Possibly lower, at
least to the extent that the author is explicitly dependent on
Mathematica, bugs and all, rather than clear presentation that can
be understood and read by other humans. Would you believe a theorem
that was "proved" by Mathematica using methods that you could not
understand and might in fact be secret as well as erroneous?

A traditional presentation could implicitly be based on Mathematica or
other computer programs, but would have to be refined and endorsed
by humans.

Or it could be done entirely by hand. The background might
contain an alternative "proof by computer" or "data files / method to
reproduce results". Or the background and foreground could be
interleaved as literate programming. Evidence to date is that most
programmers are unable to write correct code most of the time.
Demanding that they write literate code is a step beyond correct.

Incidentally, fostering a library of free contributed code has
difficulties.

Most code contributed by users is poor. Even if it works for
the particular application that prompted the user to program it, it
is unlikely to be general, bug-free, efficient, etc. Most users
are poor programmers.

Also, why should it be free? Should Wolfram be the only person to
profit from the sale of programs?

>

mathgroup

unread,
May 24, 2013, 5:28:47 AM5/24/13
to
I had to chuckle at your use of the word 'conceal'.....unfortunately, I
agree with your comment....mentioning Mathematica seems akin to
treason.....that was the reaction I felt...


jb


-----Original Message-----
From: Murray Eisenberg
Sent: Thursday, May 23, 2013 10:00 AM
To: mathgroup
Subject: Re: Work on Basic Mathematica Stephen!

This is not an uncommon situation at colleges and universities.

Too many of the old fogies -- and, more dangerously, the "young fogies" --
know about Ma. . t. .b and cannot imagine why anybody who needs to do
computing would use anything else. After all, it was good enough for them.
(Exception: Canadians who thing the same about M . . . e.)

Similarly, too many mathematicians cannot see why their students should not
learn how to carry out long and complex symbolic calculations, e.g.,
symbolic integration, with paper and pencil; after all, they had to do it.
Oddly enough, some of these same mathematicians use powerful symbolic
programs to do their own research in number theory, algebraic geometry, etc.

But I'm sympathetic to the view that there shouldn't be a course in a
mathematics department on Mathematica per se. Just as there shouldn't be a
course there in LaTeX per se. Just as Computer Science departments say they
don't have a course in any programming language.

So if one is to make any headway, then one has to almost conceal the
Mathematica within a mathematics course whose subject is some mathematical
topics, or an engineering course whose subject is some engineering topic,
etc. Just as, e.g., in some "junior year writing" courses taught by math
departments, LaTeX is introduced and students have to do some or all of
their papers in LaTeX. Or a mathematics department course in complex
analysis where small teams of students do projects presenting some topic via
a Mathematica notebook (where a couple of the projects might be teaching
some Mathematica basics).

Perhaps this "sneaky" way is not the most efficient way for teaching and
learning Mathematica, but it can work. In fact, Stephen Wolfram wrote in
"The Mathematica Book" some years ago that, after learning a few basics and
trying some simple examples from the book (today, the Documentation Center),
"You will probably find it best to start by picking a specific problem to
work on. Pick a problem that you understand well. . . Then go through each
step in solving the problem, learning what you need to know about
Mathematica to do it."


On May 23, 2013, at 4:10 AM, mathgroup <fizz...@knology.net> wrote:

> David...
>
> But that was exactly my point...I tried so hard with our Community College
> and University to get Mathematica into the curriculum....or, as I said, to
> give some lectures and examples on the use of Mathematica....and ALL of
> them, Engineering, Math and Physics Depts said 'Thanks but No Thanks',
> as
> if they have something against Mathematica....It seemed that the idea that
> students would not use pencil and paper in as laborious a manner as
> possible
> really bothered them....Not once did they think perhaps this might lead to
> a
> real enjoyment of technical subjects and perhaps to much better
> understanding of their course work......even when I was working I was
> affectionately known as 'The Mathematica Nut'...although, I'm reminded of
> something that Nietzsche said....
>
> From: mathgroup [mailto:fizz...@knology.net]
>
> I want to comment on my experience , limited of course, with students of
> Engineering, Engineers and Professors of Engineering.....my background is
> Physics...
>
> First, I get the impression that , in the main, Symbolic Computation,
> etc.
> is not something they are really interested in......After I retired, I
> took
> several courses in Electromagnetics, one Graduate and the other
> Undergraduate......No one suggested the use of or taught the potential
> applications of Mathematica....Even in the Graduate course, I was the only
> student using Symbolic software ......in fact, the students did everything
> by hand and whenever something required software, such as Antenna
> patterns,
> out came M-------b with some code , etc....and that was the end of
> it....So,
> the students knew no better....and the Professors didn’t care or werent
> interested themselves in the benefits of learning and solving problems
> Symbolically....I asked one Professor if I could give a class lecture on
> the
> use of Mathematica for Electromagnetics...He agreed but than said 'I can
> only give you about ten minutes'....I respectfully declined the offer....
>
> So, how does WRI expand its market?....IMO, there have to be dedicated
> Teachers on how to use Mathematica in what I'll call the Research Mode not
> just define given functions from the text and plot it.......from what I
> have
> seen of the attitude of Instructors and Professors I'm anything but
> Optimistic....I went to our local Colleges and suggested a sequence of
> courses in Mathematica ending with Animation and Simulation....That got
> me
> nowhere especially with the Math Depts...so, in part, I see people who are
> stuck in pencil and paper and refuse to get out of it....
>
> Again, of course, this is my limited experience...Perhaps others have had
> different and better ones...
>
> Jerry Blimbaum
>
>
>
> -----Original Message-----
> From: paulm...@gmail.com
> Sent: Sunday, May 19, 2013 4:50 AM
> To: math...@smc.vnet.net
> Subject: Re: Work on Basic Mathematica Stephen!
>

Murray Eisenberg

unread,
May 24, 2013, 5:23:18 AM5/24/13
to
> the students knew no better....and the Professors didn't care or weren't

djmpark

unread,
May 24, 2013, 5:26:01 AM5/24/13
to
Well it is frustrating but we can't just say that we could write great
documents using Mathematica but we have to actually do it and then try to
show them to a few individuals. Then maybe some of them will say: "That's
great, I want to do that also." Then maybe it will grow. I like to say: "The
great masterpieces have yet to be written."

But maybe the barriers are just too high.

Then, what is the purpose of the notebook interface and all the types of
dynamic display? Is it only for users private enjoyment?

Andrzej Kozlowski

unread,
May 25, 2013, 5:34:57 AM5/25/13
to
Well, to disappoint everyone I have to confess that here, at Warsaw
University, we are going to have a university wide course in
Mathematica, open to all students of mathematics, natural sciences,
economics and finance and even (oh horror!) computer science (in fact, I
am not in the process of trying to "sell" this course to my the students
in my analysis for computer science class). We have actually received a
grant, quite substantial by Polish standards, to implement such a
course, and, of course, since everyone likes extra money, this has meant
that there has been no opposition or grumbling about it from any "old
fogies" (except perhaps one guy who complained that Mathematica was not
open source but we quickly stifled him).

An even greater heresy: the course also is going to involve some
knowledge of Wolfram Alpha: in fact it is entitled "Mathematics with
Mathematica and Wolfram Alpha". (To RJF - no, we are not going to teach
anything about any other CAS. If anyone likes to use something other
than Mathematica they can learn it itself, but won't get any credit for
it). Actually, our course is going to be a "supervised, self-study and
Internet based course". In other words, we (the project authors, who are
getting paid for designing and realising it) will prepare study
materials (scripts, videos, problems in different disciplines that can
be solved with the help of Mathematica or Wolfram|Alpha, tests, etc. but
there won't be any lectures. There will however be tests and students
will be able to get credit for passing them - otherwise, of course, it
would be hard to get them interested.

A large part of the grant is for buying a fairly large number of copies
of Mathematica (in addition to the ones that are already here).

Our motives for designing this project are quite selfish (and I don't
only mean the fact that we are going to be paid for this). There are
several of us who want to use Mathematica in our courses and it is a
pain to have to waste time on teaching students the basics of
Mathematica. Soon there will be several new courses available to math
and science students in which Mathematica will be used. One of them is a
new course on the differential geometry of curves and surfaces, which
will be offered in addition to the already existing one which does not
use any computer software. (Students will be able to take both
sequentially - they are going to be sufficiently different for this to
make sense). There is also a course that I have taught in the past, for
which there has been a big demand among students of finance - on
modelling jump processes. Contrary to the strange ideas RJF got from my
earlier post, this is not something that statistics packages have been
doing for years, actually it involves things that are pretty new (so
much that there are still unresolved problems with some of the
algorithms) and, in fact, I am proud to admit to having played a certain
role in this implementation in Mathematica.

We actually have quite a few people here who although they themselves
don't use Mathematica or CAS systems at all, have shown a lot of
interest in having students learn such things. The main interest is, in
fact, not so much in symbolic computation but in graphics used to
illustrate various phenomena in topology, complex analysis etc. Although
one might expect that there should already be lots of such illustrations
available on the Internet (or even on Wolfram's Demonstrations Site"
this does not seem to be actually the case.

Of course, all of this is at this time only in its infancy. About a year
from now I should be able to say something about the success or failure
of this project. At this time the thing that worries me the most is the
amount of work I foresee in trying to realise all we have promised in
the proposal.

Andrzej Kozlowski



On 24 May 2013, at 12:27, mathgroup <fizz...@knology.net> wrote:

> I had to chuckle at your use of the word 'conceal'.....unfortunately, I
> agree with your comment....mentioning Mathematica seems akin to
> treason.....that was the reaction I felt...
>
>
> jb
>
>
> -----Original Message-----
> From: Murray Eisenberg
> Sent: Thursday, May 23, 2013 10:00 AM
> To: mathgroup
> Subject: Re: Work on Basic Mathematica Stephen!
>
>> David...
>>
>> But that was exactly my point...I tried so hard with our Community College
>> and University to get Mathematica into the curriculum....or, as I said, to
>> give some lectures and examples on the use of Mathematica....and ALL of
>> them, Engineering, Math and Physics Depts said 'Thanks but No Thanks',
>> as
>> if they have something against Mathematica....It seemed that the idea that
>> students would not use pencil and paper in as laborious a manner as
>> possible
>> really bothered them....Not once did they think perhaps this might lead to
>> a
>> real enjoyment of technical subjects and perhaps to much better
>> understanding of their course work......even when I was working I was
>> affectionately known as 'The Mathematica Nut'...although, I'm reminded of
>> something that Nietzsche said....
>>
>> "Overzealousness on the part of one person can lead the others to
>> Apostasy".....
>>
>> jerry blimbaum
>>
>> David Park
>> djm...@comcast.net
>> http://home.comcast.net/~djmpark/index.html
>>
>>
>>
>>
>> From: mathgroup [mailto:fizz...@knology.net]
>>

djmpark

unread,
May 25, 2013, 5:35:18 AM5/25/13
to
Yes, I believe if Mathematica notebooks are written using reasonable
procedures they will definitely have higher integrity. Hand written or
transcribed documents contain significant levels of error and omission. V.I.
Arnold wrote: "Every working mathematician knows that if one does not
control oneself (best of all by examples), then after some ten pages half of
all the signs in formulae will be wrong and twos will find their way from
denominators into numerators." I believe that Stephen Wolfram wrote
something in the Mathematica Book to the effect that when you do things by
hand you can be sloppy and fix things up as you go along but with
Mathematica you have to be precise and complete from the start. For those of
us not as quick minded as Stephen maybe the sloppiness never does get fixed
up. That's one of the advantages of Mathematica, but perhaps not the most
important advantage.

In explaining methods or presenting proofs or derivations to a reader or
student it IS very useful to be precise and complete from the start. Does
the reader know what the objects are that the discussion is about? Does he
have any experience with them? There are zillions of cases where Mathematica
could be used to generate object examples and present them in various ways
before we started reasoning about them. I'm certain that mathematicians
usually work with concrete examples and become quite familiar with them
before they transcend them for abstract proofs. Suppose you want to teach
contraction of concrete tensor arrays. In the books you will seldom see
examples beyond a couple of matrices, or maybe rarely a 3rd order tensor in
two or three dimensions. They take too much space. What good is an example
if it runs over two or three printed pages? With Mathematica one can easily
generate and manipulate such examples. One could extract or highlight
particular parts of an array to clarify operations. One could do various
examples, which one might eschew in a written document because of the space
requirement. And of course these kind of things are particularly susceptible
to copying and misprint errors.

Does the reader know what the starting point is? Does he know clearly what
is given? Does he know the axioms and tools he can use in doing
calculations, derivations or proofs? Could the reader bring up the axioms in
a separate window to inspect them when needed? Does he have them in an
active form so he could apply them to expressions or see them applied by the
writer?

The criterion for a reasonable procedure for writing notebooks for the
purpose of conveying information to another person is: CALCULATE EVERYTHING.
Do not do calculation by word processing. This requires a hierarchical depth
in your routines. (How much hierarchical depth? Enough to do the job.) You
must be able to work at the various levels of calculation needed in
understanding the material. Mathematica does not always, or even often,
provide hierarchical depth. The Mathematica Integrate routine is a poor tool
if you are teaching integration techniques to calculus students.
Nevertheless, Mathematica has the facilities for providing hierarchical
depth where needed - so just do it.

Mathematica notebooks are better because material can be presented in
understandable steps, with annotation and explanation, and since everything
is calculated and the results presented in various forms, there is a great
deal of self-proofing in the document. Also active routines are provided for
the reader to provide additional checks.

That is higher integrity.

Richard Fateman

unread,
May 25, 2013, 5:35:38 AM5/25/13
to
On 5/24/2013 10:07 AM, djmpark wrote:
> Yes, I believe if Mathematica notebooks are written using reasonable
> procedures they will definitely have higher integrity
<snip>
> That's one of the advantages of Mathematica, but perhaps not the most
> important advantage.
there is an interesting and controversial article by Demillo and Lipton
on Social
Processes and Proofs.. easily found on the web, but also see the
rejoinders etc.

Can you imagine the reception of you running down the hall to show your
academic colleagues or co-researchers your "proof by Mathematica"?

(note: not "result from Mathematica" but proof.)

Personally I would especially hesitate to believe any numerical result
that was not entirely done by computation in integers.

I have no particular issue with an appendix, carefully annotated etc
that allows one to reproduce a computation. Mathematica's rule-based paradigm might be less readable than some other schemes.

RJF


djmpark

unread,
May 25, 2013, 5:35:58 AM5/25/13
to
I didn't say anything at all about a "proof by Mathematica". Mathematica is
just a writing and communication medium and it's far better and has higher
integrity than anything you know how to use.

Richard Fateman

unread,
May 26, 2013, 4:38:23 AM5/26/13
to
On 5/25/2013 2:34 AM, Andrzej Kozlowski wrote:
> Well, to disappoint everyone I have to confess that here, at Warsaw
> University, we are going to have a university wide course in
> Mathematica, open to all students of mathematics, natural sciences,
> economics and finance and even (oh horror!) computer science (in fact, I
> am not in the process of trying to "sell" this course to my the students
> in my analysis for computer science class).

Do you have courses that are not open to all students?

As has been pointed out in the past, Mathematica has numerous
disadvantages for use in computer science. For example, it
misconstrues common terms like List. Its algorithms are secret.
Its arithmetic is unique.

<snip>

>
> Of course, all of this is at this time only in its infancy. About a year
> from now I should be able to say something about the success or failure
> of this project.

Do you have some kind of plan in place to evaluate its success or failure?
Most "innovations" in education are not evaluated and are just
replaced by other "innovations."

I think it is unfortunate that you are spending resources
to pay for Mathematica licenses. I would hope that WRI would grant
licenses as its part in this experiment.


Richard Fateman

unread,
May 26, 2013, 4:36:42 AM5/26/13
to
On 5/25/2013 2:34 AM, Andrzej Kozlowski wrote:
<snip>

(except perhaps one guy who complained that Mathematica was not
> open source but we quickly stifled him).
Really? Easily?
See
http://www.zdnet.com/open-sources-fortunes-in-poland-could-be-about-to-change-thanks-to-education-7000008611/

>
> An even greater heresy: the course also is going to involve some
> knowledge of Wolfram Alpha: in fact it is entitled "Mathematics with
> Mathematica and Wolfram Alpha". (To RJF - no, we are not going to teach
> anything about any other CAS. If anyone likes to use something other
> than Mathematica they can learn it itself, but won't get any credit for
> it).

Since such a variety of mathematical computations are included in
Mathematica, I would be curious as to what parts of Mathematics are
selected. Will the course mention how Mathematica is implemented, or
will it be used as a "black box"?

Actually, our course is going to be a "supervised, self-study and
> Internet based course". In other words, we (the project authors, who are
> getting paid for designing and realising it) will prepare study
> materials (scripts, videos, problems in different disciplines that can
> be solved with the help of Mathematica or Wolfram|Alpha, tests, etc. but
> there won't be any lectures.

Sounds like a good idea. After the material is constructed, you will
presumably be able to drop your involvement and let students interact
with the material without you. And you can go do something else. You
could even be fired!

There will however be tests and students
> will be able to get credit for passing them - otherwise, of course, it
> would be hard to get them interested.

An interesting problem that comes up with MOOCs is how to assign credit
for people taking courses on the internet, remotely. Would you expect
students to take exams in person? Would they have access to a computer?
Would the computer be on the internet? Would they cheat?
Just asking.

>
> A large part of the grant is for buying a fairly large number of copies
> of Mathematica (in addition to the ones that are already here).
A shame.

>
> Our motives for designing this project are quite selfish (and I don't
> only mean the fact that we are going to be paid for this). There are
> several of us who want to use Mathematica in our courses and it is a
> pain to have to waste time on teaching students the basics of
> Mathematica.

So this course on Mathematica is a required prerequisite for these
courses? Or if they need only the basics, why would you need to spend
any time on it in your course?

Soon there will be several new courses available to math
> and science students in which Mathematica will be used. One of them is a
> new course on the differential geometry of curves and surfaces, which
> will be offered in addition to the already existing one which does not
> use any computer software.

Will students in the two versions take the same exams? Could you
compare the results?


(Students will be able to take both
> sequentially - they are going to be sufficiently different for this to
> make sense).

I would be surprised if there was so much demand for differential
geometry courses. How many students are we talking about? 10? 100? 1000?

There is also a course that I have taught in the past, for
> which there has been a big demand among students of finance - on
> modelling jump processes.


Contrary to the strange ideas RJF got from my
> earlier post, this is not something that statistics packages have been
> doing for years, actually it involves things that are pretty new (so
> much that there are still unresolved problems with some of the
> algorithms) and, in fact, I am proud to admit to having played a certain
> role in this implementation in Mathematica.
>
See
http://cran.r-project.org/web/packages/EMJumpDiffusion/EMJumpDiffusion.pdf

or
http://www.proba.jussieu.fr/pageperso/tankov/tankov_voltchkova.pdf

To see what statistics packages have been doing for years.

If Mathematica is so great with this stuff, why is there a new feature
of a link to R?

My take on R is that it is more or less the lingua franca of statistics.
I am not a statistician by training, and I have not used R.


> We actually have quite a few people here who although they themselves
> don't use Mathematica or CAS systems at all, have shown a lot of
> interest in having students learn such things.

Can you be more quantitative? Quite a few = 5? 10? people = faculty?
staff? graduate students?

The main interest is, in
> fact, not so much in symbolic computation but in graphics used to
> illustrate various phenomena in topology, complex analysis etc.

This is quite revelatory. If the big selling point for Mathematica is
graphics, what other graphics packages are available? To me the graphics
is not central to symbolic computation, just a user-friendly
easy-to-demo component added on. I think of symbolic computation as
fundamentally the representation and manipulation of non-numeric
"formula" data. But some people view graphics = symbolic.

Although
> one might expect that there should already be lots of such illustrations
> available on the Internet (or even on Wolfram's Demonstrations Site"
> this does not seem to be actually the case.

Google finds 205,000 pages mentioning gnuplot examples. There
are many other programs for scientific visualization, some free.

>
> Of course, all of this is at this time only in its infancy. About a year
> from now I should be able to say something about the success or failure
> of this project. At this time the thing that worries me the most is the
> amount of work I foresee in trying to realise all we have promised in
> the proposal.

Is any part of the proposal available online in English so as to see
what you actually promised?


John Doty

unread,
May 27, 2013, 4:21:29 AM5/27/13
to
I'm another Mathematica old-timer. In early versions, Mathematica had a simple basic vocabulary of definitions, augmentable by "add-ons". This was a good thing. The basics could be covered by an actual book you could hold in your hand. But now, Mathematica has a vast flat vocabulary supported by vast flat documentation. This is not a big problem for those of us who are already familiar with it, but I can't see how a new user can cope.

John Doty

unread,
May 27, 2013, 4:21:49 AM5/27/13
to
On Sunday, May 26, 2013 2:38:23 AM UTC-6, Richard Fateman wrote:

> As has been pointed out in the past, Mathematica has numerous
> disadvantages for use in computer science.

By "computer science" you seem to mean "the ideology of my academic clique". A real computer science education would expose the student to a wide variety of models of computation. Mathematica's model is both eccentric and very productive, so in that sense it's a good candidate for an educational tool in computer science.

> For example, it
> misconstrues common terms like List.

"List" is a perfectly good English word, with multiple meanings. Lisp lists have strange properties and historical baggage that grocery lists lack, so an English major might object that it's *you* who are abusing the word. Mathematica's List[] expressions are suitable for a pattern replacement system that repeatedly evaluates by default.

If you don't like Mathematica's lists, I suppose you really must hate Haskell's ;-)

> Its algorithms are secret.

I think it highly probable that the processor you're using to read this is of secret, proprietary design. Even if it's "open hardware" (unlikely), it's almost certainly implemented in silicon using a secret, proprietary process. You're a "black box" user just like the rest of us. In every case, you have to decide when to go past an interface for more insight, and when the implementation details are unimportant.

>
> Its arithmetic is unique.

Another advantage. Do you really believe that there's a single model of computer arithmetic that suits all purposes?

Ingolf Dahl

unread,
May 27, 2013, 4:21:08 AM5/27/13
to
Andrzej,
I think this really sounds interesting, and hope to hear more about your
experiences later here. Of course there are questions and problems with it,
all new projects are "impossible" in one or another way. The really
interesting thing is to know if these impossibilities can be handled in some
good way. Good luck!

Ingolf Dahl
Sweden

> -----Original Message-----
> From: Andrzej Kozlowski [mailto:akozl...@gmail.com]
> Sent: den 25 maj 2013 11:42
> To: math...@smc.vnet.net
> Subject: Re: Work on Basic Mathematica Stephen!
>
> Well, to disappoint everyone I have to confess that here, at Warsaw
University, we are
> going to have a university wide course in Mathematica, open to all
students of mathematics,
> natural sciences, economics and finance and even (oh horror!) computer
science (in fact, I
> am not in the process of trying to "sell" this course to my the students
in my analysis for
> computer science class). We have actually received a grant, quite
substantial by Polish
> standards, to implement such a course, and, of course, since everyone
likes extra money, this
> has meant that there has been no opposition or grumbling about it from any
"old fogies"
> (except perhaps one guy who complained that Mathematica was not open
source but we
> quickly stifled him).
>
> An even greater heresy: the course also is going to involve some knowledge
of Wolfram
> Alpha: in fact it is entitled "Mathematics with Mathematica and Wolfram
Alpha". (To RJF -
> no, we are not going to teach anything about any other CAS. If anyone
likes to use
> something other than Mathematica they can learn it itself, but won't get
any credit for it).
> Actually, our course is going to be a "supervised, self-study and Internet
based course". In
> other words, we (the project authors, who are getting paid for designing
and realising it) will
> prepare study materials (scripts, videos, problems in different
disciplines that can be solved
> with the help of Mathematica or Wolfram|Alpha, tests, etc. but there won't
be any lectures.
> There will however be tests and students will be able to get credit for
passing them -
> otherwise, of course, it would be hard to get them interested.
>
> A large part of the grant is for buying a fairly large number of copies of
Mathematica (in
> addition to the ones that are already here).
>
> Our motives for designing this project are quite selfish (and I don't only
mean the fact that
> we are going to be paid for this). There are several of us who want to use
Mathematica in
> our courses and it is a pain to have to waste time on teaching students
the basics of
> Mathematica. Soon there will be several new courses available to math and
science students
> in which Mathematica will be used. One of them is a new course on the
differential
> geometry of curves and surfaces, which will be offered in addition to the
already existing
> one which does not use any computer software. (Students will be able to
take both
> sequentially - they are going to be sufficiently different for this to
make sense). There is also
> a course that I have taught in the past, for which there has been a big
demand among
> students of finance - on modelling jump processes. Contrary to the strange
ideas RJF got
> from my earlier post, this is not something that statistics packages have
been doing for years,
> actually it involves things that are pretty new (so much that there are
still unresolved
> problems with some of the
> algorithms) and, in fact, I am proud to admit to having played a certain
role in this
> implementation in Mathematica.
>
> We actually have quite a few people here who although they themselves
don't use
> Mathematica or CAS systems at all, have shown a lot of interest in having
students learn
> such things. The main interest is, in fact, not so much in symbolic
computation but in
> graphics used to illustrate various phenomena in topology, complex
analysis etc. Although
> one might expect that there should already be lots of such illustrations
available on the
> Internet (or even on Wolfram's Demonstrations Site"
> this does not seem to be actually the case.
>
> Of course, all of this is at this time only in its infancy. About a year
from now I should be
> able to say something about the success or failure of this project. At
this time the thing that
> worries me the most is the amount of work I foresee in trying to realise
all we have promised
> in the proposal.
>
> >> David Park
> >> djm...@comcast.net
> >> http://home.comcast.net/~djmpark/index.html
> >>
> >>
> >>
> >>

fd

unread,
May 28, 2013, 3:46:58 AM5/28/13
to
All,

This is a very interesting debate. I wrote a longer answer with some experiences I had while mentoring a colleague into Mathematica, but apparently google groups lost it.

The core point I'd like to make is that the greatest things about Mathematica are, in my opinion, its language and its principles. I think Mathematica structure is far truer to mathematics than other languages. The missing bit for me is deployability; Mathematica would be more useful to me in my work if its deployment aspect worked more like a true programming language, like java applets or iPad apps, without restrictions to import user data and so on, which is a similar point others have already made in this thread.

Best


fd

unread,
May 28, 2013, 3:47:19 AM5/28/13
to
djmpark

I'm getting a bit late, but, anyway, hope it's relevant.

I couldn't agree more with you djmpark. Only recently I've been using Mathematica (4 years+ of use) and it is my favorite software and working tool. But the truth is that it has stability and memory issues; I have often lost work because it crashed in the middle of a small computation, it consumed my machine's memory and so on.

Conceptually, I think it is a tool well ahead its time and I grant that it shouldn't be easy to implement, but my main critic is less the implementation and more the business model WRI uses to market Mathematica and to expand its user basis.

One basic fact WRI doesn't seem to understand is: Mathematica is disadvantaged because people are used to another programming paradigm. This could explain why another system, a far inferior software, is the prime modelling tool in universities (at least to the extend I've seen, I'm the only heavy Mathematica user I know).

I'm mentoring a newcomer in my work and it was hard to convince her that Mathematica was better for what we do. At the end, and that's more to the point I intend to make, she only set for Mathematica because it allowed her to connect to databases without having to buy expensive toolboxes. After a bit of a struggle to overcome the learning barrier, I (hopefully) enlisted another soldier to the Mathematica ranks, but so far it is the two of us against the department :-)

I guess the point I'd like to make is that people usually decide for a tool not because of some philosophical reason, but based on what they can get their hands on and make work. But Mathematica's paradigm already scares people away, and, apart the database example I gave above, it also seems to try to tie users' hands as much as possible.

Another example that comes to mind are the CDFs: it is a great idea, but when it comes to deployment, for example, it restricts the user from displaying external data. One example that comes to mind is gapminder, whose graphs are more or less trivially done in Mathematica... except for the deployment, which requires CDF enterprise; not really easy for any user to implement. A few years back we were approached by another institution to help create a similar thing; they were blown away by the graphs I produced with Mathematica, but would we be able to deploy it easily for a non-Mathematica user (the project was cut-off for other reasons)?

Anyway, I'm NOT advocating that Mathematica should be open source. In fact I'd be quite unhappy about it. But there's something missing on it that's hindering its adoption. I think it could be a great tool for people to, say, publish visualisations online quickly for their simulation results, currently people think about Java for such tasks. I'd love to see, for example, away of Mathematica producing compiled 'applets', which work independent of Wolfram interpreters. After all, if Mathematica is more than a software - it wants to be a language and a programming paradigm - users should be able to freely express the products of that language to others, without WRI trying to be the middle men.

David Bailey

unread,
May 28, 2013, 3:47:39 AM5/28/13
to
I think that is an absolutely wonderful decision. I wish I was of
student age (and spoke Polish!) to avail myself of it, and the
associated maths courses.

I think mathematicians, and more particularly, users of maths, have a
range of styles of thought, and the every concrete approach, which
Mathematica encourages, would certainly have appealed to me.

To give a specific example, I remember trying to learn about group
theory. For a long time, groups seemed somehow vague to me. I learned
the axioms of what counted as a group, and thought "Yeah well - so
what!". I learned (or tried to learn) assorted other definitions, such
as "normal subgroup", and of course, I looked at various tiny examples
of groups. However, what I really needed was software which would let me
make examples that were big enough to begin to see why all those
definitions were any use - software that let me explore. I am the sort
of person who finds it hard to learn something that doesn't seem any use
- even if I know that everyone says it really will be useful once I get
to understand it!

As to the issue of alternative CAS software, I did chemistry, and nobody
worried about the fact that all our NMR machines were Varian, or that
the infra red machines were made by Perkin Elmer, or that we learned to
program the type of computer owned by the university - a technical
university course inevitably focuses its students on certain products.

You say the focus will be on graphics rather than symbolic computation,
but I must say, I think symbolic computation is the more exciting part -
because it opens up entirely new possibilities.

Take symbolic integration as an example. I know there are those who
would say students should be told to solve all their integrals with
Mathematica (and take a calculator to add their bills when they shop)
but I am not thinking that way. It is easy to make a construct in
Mathematica that displays like an integral, but doesn't evaluate. Using
this, students could explore strategies such as change of variable -
simply using pattern replacement and simplification. Mathematica would
be contributing no skills that the students didn't already know - simply
adding some muscle to help explore more substantial problems.

I wish you success!

David Bailey
http://www.dbaileyconsultancy.co.uk





Richard Fateman

unread,
May 28, 2013, 3:49:00 AM5/28/13
to
On 5/27/2013 1:21 AM, John Doty wrote:
> On Sunday, May 26, 2013 2:38:23 AM UTC-6, Richard Fateman wrote:
>
>> As has been pointed out in the past, Mathematica has numerous
>> disadvantages for use in computer science.
>
> By "computer science" you seem to mean "the ideology of my academic clique".
I suppose each academic clique (as you say) has its own ideology.
Perhaps yours is mathematics or physics. Suppose that I wrote a
text book that purported to "do all of mathematics" but defined
zero as a fuzz-ball (oops, Mathematica already does that)..
etc etc.

> A real computer science education would expose the student to a wide
> variety of models of computation.

Learning Mathematica (only) exposes a student to a singularly erroneous
model of computation, compatible with ordinary consistent computing in
a few areas (like integer arithmetic, small precision floats, sometimes)

> Mathematica's model is both eccentric and very productive,

Nice that you concede it is eccentric. Productive perhaps if you do not
encounter a quirk. Especially a hidden quirk that gives the wrong
answer but no warning. And if you are not in a hurry for numerical
results.


> so in that sense it's a good candidate for an educational tool in computer science.

Educational in the sense of showing a computer science student studying
compilers and programming languages a design gone wrong. Harmful if it
is used as an example of how to design an algorithmic language.
Probably OK in its sub-language for specifying graphics.


>
>> For example, it
>> misconstrues common terms like List.
>
> "List" is a perfectly good English word, with multiple meanings.

So are Group, Ring, Field, Set, Union. In fact, most technical terms in
mathematics are common words with multiple meanings in some natural
language (often English, but sometimes French, e.g. clique)


> Lisp lists have strange properties and historical baggage that grocery lists lack,

>so an English major might object that it's *you* who are abusing the word.

>Mathematica's List[] expressions are suitable for a pattern replacement

>system that repeatedly evaluates by default.

I do not see any connection here. It is possible to write a linked list
in Mathematica and still use its evaluation. e.g.
consider using node[element,RestOfList]. Instead of [A,B,C] use
node[A,node[B,node[C,Nil]]]. A node here is like a lisp "cons" cell.
In fact there are other computer algebra systems written in lisp that
use lisp lists and have similar evaluation strategies to Mathematica.

>
> If you don't like Mathematica's lists, I suppose you really must hate Haskell's ;-)
>
>> Its algorithms are secret.

As compared to the algorithms in alternative programs, some of which
are described in detail, and perhaps even shown in open source.

>
> I think it highly probable that the processor you're using to read this is of secret,

> proprietary design. Even if it's "open hardware" (unlikely), it's almost certainly

>implemented in silicon using a secret, proprietary process. You're a "black box"

> user just like the rest of us. In every case, you have to decide when to go past

>an interface for more insight, and when the implementation details are unimportant.
>

The processor I'm using may of course have non-deterministic aspects.
Indeed it might be struck by a cosmic ray and do something bizarre.
However, its expected behavior is described in sufficient detail
that Intel and AMD chips can be claimed to be, at some level
indistinguishable.

>>
>> Its arithmetic is unique.

Perhaps I should have said "unique and discredited by the academic
clique that goes by the name Numerical Analysis."
>
> Another advantage. Do you really believe that there's a single model of

> computer arithmetic that suits all purposes?

I cannot say what "all purposes" might encompass. For example, a
fraudulent accountant might want something "special".

I will say that for scientific computing it is probably a bad feature
to have finite numbers x such that x ==0 and x+1 == x.

RJF
>


Alexei Boulbitch

unread,
May 28, 2013, 3:45:16 AM5/28/13
to

Well, to disappoint everyone I have to confess that here, at Warsaw
University, we are going to have a university wide course in
Mathematica, open to all students of mathematics, natural sciences,
economics and finance and even (oh horror!) computer science (in fact, I
am not in the process of trying to "sell" this course to my the students
in my analysis for computer science class). We have actually received a
grant, quite substantial by Polish standards, to implement such a
course, and, of course, since everyone likes extra money, this has meant
that there has been no opposition or grumbling about it from any "old
fogies" (except perhaps one guy who complained that Mathematica was not
open source but we quickly stifled him)...


Of course, all of this is at this time only in its infancy. About a year
from now I should be able to say something about the success or failure
of this project. At this time the thing that worries me the most is the
amount of work I foresee in trying to realise all we have promised in
the proposal.



Andrzej Kozlowski

Great, Andrzej!

Best, Alexei

Alexei BOULBITCH, Dr., habil.
IEE S.A.
ZAE Weiergewan,
11, rue Edmond Reuter,
L-5326 Contern, LUXEMBOURG

Office phone : +352-2454-2566
Office fax: +352-2454-3566
mobile phone: +49 151 52 40 66 44

e-mail: alexei.b...@iee.lu<mailto:alexei.b...@iee.lu>


Alexei Boulbitch

unread,
May 28, 2013, 3:49:21 AM5/28/13
to

Below I shortly site two posts arbitrarily picked up from few more, where the authors are discussing reasons why the offer of Mathematica as a tool for analytic calculations is often rejected.

All these reasons are, of course, solid, and I know at least one more such reason, if not a few.

However, there is the fact that Mathematica cannot make some simple analytical operations that are easily done by hand. As one of multiple examples one can have a look at the recently discussed problem of custom ordering of elements of expression. One can follow the thread initiated here: http://forums.wolfram.com/mathgroup/archive/2013/Apr/msg00198.html.

Alternatively, one can do some such operations with Mathematica, but this requires a good knowledge of Mathematica programming to achieve things that could be easily achieved by hand, the knowledge being far beyond the elementary one. I am making such calculations and have lots of examples requiring such a programming. I know by experience that using Mathematica pays off, and each of us knows that, of course. But why do we think that a newbie also knows that?

I believe that the outcome is that a new user (let it be a student, an engineer, or a professor) will be rejected by his first (second, third,... tenth) experience. I observed several such cases.

And this actually is a very serious reason. Important that it is not in society or psychology, but in Mathematica itself.

I think that at least partially the situation depends upon the incompleteness of the analytical sub-package of Mathematica. I believe, it misses several easy-to-use functions to make some common elements of calculation. The examples of some of such functions (but not limited to) may be found in the Presentations/Manipulations sub-package of David Park. For example, such as bringing a custom factor out of parentheses, multiplying of numerator and denominator by the same factor, completing the square and others. Especially important are the functions addressing parts of expressions and enabling one making transformations there, leaving the rest of expression untouched. Important, that they all should be as intuitive as possible.

The second point is that examples shown in the Menu/Help for operations on analytics are often too elementary. A certain number of examples should, indeed, be simple in order to guide a newbie, but there should also be more complex ones covering different aspects of use of the function in question alone and in combinations. Their complexity should increase gradually. There should also be lengthily tutorials on analytics.

Mathematica is great already as it is. However, I believe that until this is not fixed, Mathematica will not become a common tool of choice for making analytics, though it has all potential for that.

Alexei


David...

But that was exactly my point...I tried so hard with our Community College
and University to get Mathematica into the curriculum....or, as I said, to
give some lectures and examples on the use of Mathematica....and ALL of
them, Engineering, Math and Physics Depts said 'Thanks but No Thanks', as
if they have something against Mathematica....It seemed that the idea that
students would not use pencil and paper in as laborious a manner as possible
really bothered them....Not once did they think perhaps this might lead to a
real enjoyment of technical subjects and perhaps to much better
understanding of their course work......even when I was working I was
affectionately known as 'The Mathematica Nut'...although, I'm reminded of
something that Nietzsche said....

"Overzealousness on the part of one person can lead the others to
Apostasy".....

jerry blimbaum


...Similarly, too many mathematicians cannot see why their students should

not learn how to carry out long and complex symbolic calculations, e.g.,

symbolic integration, with paper and pencil; after all, they had to do

it. Oddly enough, some of these same mathematicians use powerful

symbolic programs to do their own research in number theory, algebraic

geometry, etc...

Murray Eisenberg

fd

unread,
May 29, 2013, 3:47:08 AM5/29/13
to
Without getting too much into a polemic here, there's one point I think deserves defense:


"The processor I'm using may of course have non-deterministic aspects.
Indeed it might be struck by a cosmic ray and do something bizarre.
However, its expected behavior is described in sufficient detail
that Intel and AMD chips can be claimed to be, at some level
indistinguishable."


As far as I know none of the algorithms in Mathematica are outside reach the of ordinary mathematical knowledge. I believe that a big chunk of Mathematica could be reimplemented only with what's on maths handbooks. Their view on how to name functions, however, is much better than the usual on the numerical analysis community.






Andrzej Kozlowski

unread,
May 29, 2013, 3:48:29 AM5/29/13
to
First, I would like to thank everyone who has written with expressions
of support for our project and wishes for its success. It is still a
very early stage and obviously success is not guaranteed. However, I
think that if the results do not turn out as we expect we will have only
ourselves to blame, for the starting conditions are almost ideal.
Essentially we have got now everything that I have ever wanted and could
expect to get for this sort of purpose and I think we have a very good
plan so I think it is now a question of whether we still have enough
energy for the implementation and how much our other commitments
interfere with this. Fortunately my main partner in this enterprise is a
young female mathematician (about the same age as my daughter) who is
quite knowledgable about Mathematica, has been using it for a few years
for really serious research work and (unlike me) is full of energy and
not so easily distracted.

The idea of this project has been maturing in my mind for many years,
most of which I spent teaching at universities in Japan. In my last
Japanese university Mathematica was used quite extensively but basically
only for teaching calculus. That worked about as well as described by
others in many posts recently and in more distant past. There were the
usual problems: the competition for time between mathematics and
Mathematica, the fact that a Mathematica based course had to be taught
by a Mathematica enthusiast or it would not be taught at all, and,
perhaps the most serious, that, since Mathematica could not be used in
the examinations, students had little incentive to devote enough time to
it to get to the point where they could do things that were non trivial
enough to be enjoyable. Already then I had some ideas of how one could
attempt to overcome these difficulties but being a "gaijin" I was a
little too isolated even to get an opportunity to test them. The
situation changed quite radically in this respect when I moved over
here.

The main idea, not particularly original but, it seems to me, rather
rarely tried, is that students should be the main "driving force" of
this kind of project. The problems with faculty driven projects have
already been discussed many times and they seem to be the same
everywhere. The situation here is similar to other places: in the
mathematics department we have a few mathematica users, a few users of
other mathematical programs and a lot more people who use computers
mainly for e-mail and perhaps Latex (there are also some who still
prefer pen and paper). But almost everybody I have talked to, is in
favour of the idea of students being able to use math software for the
purpose of illustrating geometrically the concepts taught in lectures
(almost everyone likes this aspect and most people with they had more
skill in this area, but of course are not willing to spend any time on
acquiring them). Using software for computations, as have been noted, is
more controversial. Generally most mathematicians are indeed opposed to
computers being used for computations in the "normal course" but are
quite happy about additional "computation centred" courses in the same
are being available, so this is another thing we are attempting to
realise.

Returning to "conceptual illustrations" (rather than straight
"computations"): although as has been noted, there is an enormous number
of all kinds of mathematical illustrations on the Internet, including
Java animations and the Wolfram Demonstrations site, yet what is
available is very often not quite what is wanted. One reason for that is
probably that the maths department at Warsaw University sees itself as a
rather elite institution. One result of that is that many of our courses
are "monographical" and lecturers try to avoid "standard" examples or
"cliche" problems. We do not, in fact, teach calculus in the sense that
this term is used in the US - instead we have analysis courses with
detailed proofs even for computer science students. Topics such as
"integration techniques" are dealt with in one lecture, and we never
have exam problems in which students are simply asked to compute some
integral. It is assumed that many of these techniques they had already
learned in high school or, if not, can learn by themselves from
textbooks. So the issue of using (or not using) Mathematica to do this
sort of calculations hardly arises. Instead one needs to find, what I
would say are, more subtle ways of using Mathematica. One such
"technique" that I try to stress to students is in connection with
proofs of and counterexamples to mathematical statements.

Problems here are rarely formulated in the form "prove the following
statement". Instead, the usual form is "prove the following statement,
if it is true, and if not, find a counter-example." Now, in this sort of
situation, which resembles real research in mathematics, often the
hardest thing is to decide whether one should attempt to prove a result
or to look for a counter-example. It is in this sort of situation that
looking at sophisticated graphic illustrations, or computing special
cases, and generally experimenting with Mathematica can very often
(particularly in problems in real and complex analysis) be very helpful.
In fact this is how I myself almost always approach any problem that is
susceptible to this sort of treatment (unfortunately a lot of my own
research, being concerned with infinite dimensional objects, is not).

One important element in this idea of "making students the driving
force" is that we have many rather good students, which means they are
capable of taking an additional work-load and that (and this is based on
experience) the majority of them enjoy Mathematica. It will probably be
incomprehensible to
RJF, but this seems particularly true of many of our computer science
students. One reason is that quite a few of them are naturally inclined
to mathematics as well as computer science. In fact, every year, some of
them decide that they would rather be mathematicians (which is perhaps
why we teach them all this abstract mathematics, a lot of which is
probably irrelevant to computer science) and some end up with two
degrees - in math and in computer science. Often for these students,
probably for reasons that are very similar to those described by David
Bailey in his very insightful post) find an approach to mathematics via
Mathematica more congenial to their way of thinking than the traditional
somewhat "Bourbakist" approaches which still prevail among
mathematicians. Another reason why computer science students are natural
audience of Mathematica based mathematics courses is that none of them
suffer from "computer allergy" that is still quite common among older
mathematicians and is sometimes found among younger ones, and that, of
course, they find programming very easy, which is not necessarily true
of all mathematics students. In fact, I have noticed that computer
science students, who often are already familiar with quite many
different languages (they often start programming long before entering
university) find programming in Mathematica intriguing and fun and
quickly learn to do (for me) quite amazing things.

Of course, another important thing was making sure that students can
actually get credit for doing work in Mathematica. The fact that they
also enjoy it helps, but students are human and like other humans are
not likely to do much serious work for nothing.

Well, there is plenty more I could still say on this topic, but I have
to get back to other things. So I just wanted to make a final comment on
one other matter. It's nothing new, I have written this before and it is
something that I differ about with some of the persons who have posted
in this thread. Briefly, I am not an enthusiast of using Mathematica for
"simple" symbolic manipulation. I am sure that may view of this is the
same as that of the great majority of mathematicians and that the reason
for this is not "conservatism". Generally we believe that in mathematics
computers should be used to do things that are too hard or too time
consuming for humans and human beings should do the things that humans
find easy. The reasons for this are practical (this is the only way to
really remain "in control" of your work - which is essential to avoid
producing nonsense) and educational (doing symbolic and even numerical
computations by hand is an essential activity that is needed to acquire
understanding of concepts).
Of course I do not object to Mathematica having capabilities I do not
need or intend to use or teach. If other people find them useful, they
could be a selling point for Mathematica and help to pay for the
development of more features that I want (of course, as long as the
issue of excessive complexity of interface is kept under control).

Andrzej Kozlowski









On 27 May 2013, at 10:24, Ingolf Dahl <ingol...@telia.com> wrote:

> Andrzej,
> I think this really sounds interesting, and hope to hear more about your
> experiences later here. Of course there are questions and problems with it,
> all new projects are "impossible" in one or another way. The really
> interesting thing is to know if these impossibilities can be handled in some
> good way. Good luck!
>
> Ingolf Dahl
> Sweden
>
>> -----Original Message-----
>> From: Andrzej Kozlowski [mailto:akozl...@gmail.com]
>> Sent: den 25 maj 2013 11:42
>> To: math...@smc.vnet.net
>> Subject: Re: Work on Basic Mathematica Stephen!
>>
>> Well, to disappoint everyone I have to confess that here, at Warsaw
> University, we are
>> going to have a university wide course in Mathematica, open to all
> students of mathematics,
>> natural sciences, economics and finance and even (oh horror!) computer
> science (in fact, I
>> am not in the process of trying to "sell" this course to my the students
> in my analysis for
>> computer science class). We have actually received a grant, quite
> substantial by Polish
>> standards, to implement such a course, and, of course, since everyone
> likes extra money, this
>> has meant that there has been no opposition or grumbling about it from any
> "old fogies"
>> (except perhaps one guy who complained that Mathematica was not open
> source but we
>> quickly stifled him).
>>
>> An even greater heresy: the course also is going to involve some knowledge
> of Wolfram
>> Alpha: in fact it is entitled "Mathematics with Mathematica and Wolfram
> Alpha". (To RJF -
>> no, we are not going to teach anything about any other CAS. If anyone
> likes to use
>> something other than Mathematica they can learn it itself, but won't get
> any credit for it).
>> Actually, our course is going to be a "supervised, self-study and Internet
> based course". In
>> other words, we (the project authors, who are getting paid for designing
> and realising it) will
>> prepare study materials (scripts, videos, problems in different
> disciplines that can be solved
>> with the help of Mathematica or Wolfram|Alpha, tests, etc. but there won't
> be any lectures.
>> There will however be tests and students will be able to get credit for
> passing them -
>> otherwise, of course, it would be hard to get them interested.
>>
>> Of course, all of this is at this time only in its infancy. About a year
> from now I should be
>> able to say something about the success or failure of this project. At
> this time the thing that
>> worries me the most is the amount of work I foresee in trying to realise
> all we have promised
>> in the proposal.
>>
>> Andrzej Kozlowski
>>
>>
>>
>> On 24 May 2013, at 12:27, mathgroup <fizz...@knology.net> wrote:
>>
>>> I had to chuckle at your use of the word 'conceal'.....unfortunately,
>>> I agree with your comment....mentioning Mathematica seems akin to
>>> treason.....that was the reaction I felt...
>>>
>>>
>>> jb
>>>
>>>
>>> -----Original Message-----
>>> From: Murray Eisenberg
>>> Sent: Thursday, May 23, 2013 10:00 AM
>>> To: mathgroup
>>> Subject: Re: Work on Basic Mathematica Stephen!
>>>
>>> This is not an uncommon situation at colleges and universities.
>>>
>>> Too many of the old fogies -- and, more dangerously, the "young
>>> fogies" -- know about Ma. . t. .b and cannot imagine why anybody who
>>> needs to do computing would use anything else. After all, it was good
> enough for them.
>>> (Exception: Canadians who thing the same about M . . . e.)
>>>
>>> Similarly, too many mathematicians cannot see why their students
>>> should not learn how to carry out long and complex symbolic
>>> calculations, e.g., symbolic integration, with paper and pencil; after
> all, they had to do it.
>>> Oddly enough, some of these same mathematicians use powerful symbolic
>>> programs to do their own research in number theory, algebraic geometry,
> etc.
>>>
>>> But I'm sympathetic to the view that there shouldn't be a course in a
>>> mathematics department on Mathematica per se. Just as there shouldn't
>>> be a course there in LaTeX per se. Just as Computer Science
>>> departments say they don't have a course in any programming language.
>>>
>>> So if one is to make any headway, then one has to almost conceal the
>>> Mathematica within a mathematics course whose subject is some
>>> mathematical topics, or an engineering course whose subject is some
>>> engineering topic, etc. Just as, e.g., in some "junior year writing"
>>> courses taught by math departments, LaTeX is introduced and students
>>> have to do some or all of their papers in LaTeX. Or a mathematics
>>> department course in complex analysis where small teams of students do
>>> projects presenting some topic via a Mathematica notebook (where a
>>> couple of the projects might be teaching some Mathematica basics).
>>>
>>> Perhaps this "sneaky" way is not the most efficient way for teaching
>>> and learning Mathematica, but it can work. In fact, Stephen Wolfram
>>> wrote in "The Mathematica Book" some years ago that, after learning a
>>> few basics and trying some simple examples from the book (today, the
>>> Documentation Center), "You will probably find it best to start by
>>> picking a specific problem to work on. Pick a problem that you
>>> understand well. . . Then go through each step in solving the problem,
>>> learning what you need to know about Mathematica to do it."
>>>
>>>
>>> On May 23, 2013, at 4:10 AM, mathgroup <fizz...@knology.net> wrote:
>>>
>>>> David...
>>>>
>>>> But that was exactly my point...I tried so hard with our Community
>>>> College and University to get Mathematica into the curriculum....or,
>>>> as I said, to give some lectures and examples on the use of
>>>> Mathematica....and ALL of them, Engineering, Math and Physics Depts
>>>> said 'Thanks but No Thanks', as if they have something against
>>>> Mathematica....It seemed that the idea that students would not use
>>>> pencil and paper in as laborious a manner as possible really bothered
>>>> them....Not once did they think perhaps this might lead to a real
>>>> enjoyment of technical subjects and perhaps to much better
>>>> understanding of their course work......even when I was working I was
>>>> affectionately known as 'The Mathematica Nut'...although, I'm
>>>> reminded of something that Nietzsche said....
>>>>
>>>> "Overzealousness on the part of one person can lead the others to
>>>> Apostasy".....
>>>>
>>>> jerry blimbaum
>>>>
>>> University of Massachusetts 413 45-2838 > (W)

János Löbb

unread,
May 30, 2013, 6:07:43 AM5/30/13
to
I think this course will be successful only if the majority of the
students already learned Mathematica in high school. So to make it
successful, about five more enthusiastic assistant lecturer should start
Saturday classes in those high schools right away, which feed into
Warsaw University.

J=E1nos
>>> actually it involves things that are pretty new (so much that there =
are
>> still unresolved
>>> problems with some of the
>>> algorithms) and, in fact, I am proud to admit to having played a =
certain
>> role in this
>>> implementation in Mathematica.
>>>
>>> We actually have quite a few people here who although they =
themselves
>> don't use
>>> Mathematica or CAS systems at all, have shown a lot of interest in =
having
>> students learn
>>> such things. The main interest is, in fact, not so much in symbolic
>> computation but in
>>> graphics used to illustrate various phenomena in topology, complex
>> analysis etc. Although
>>> one might expect that there should already be lots of such =
illustrations
>> available on the
>>> Internet (or even on Wolfram's Demonstrations Site"
>>> this does not seem to be actually the case.
>>>
>>> Of course, all of this is at this time only in its infancy. About a =
year
>> from now I should be
>>> able to say something about the success or failure of this project. =
At
>> this time the thing that
>>> worries me the most is the amount of work I foresee in trying to =
realise
>> all we have promised
>>> in the proposal.
>>>
>>> Andrzej Kozlowski
>>>
>>>
>>>
>>> On 24 May 2013, at 12:27, mathgroup <fizz...@knology.net> wrote:
>>>
>>>> I had to chuckle at your use of the word =
'conceal'.....unfortunately,
>>>> I agree with your comment....mentioning Mathematica seems akin to
>>>> treason.....that was the reaction I felt...
>>>>
>>>>
>>>> jb
>>>>
>>>>
>>>> -----Original Message-----
>>>> From: Murray Eisenberg
>>>> Sent: Thursday, May 23, 2013 10:00 AM
>>>> To: mathgroup
>>>> Subject: Re: Work on Basic Mathematica Stephen!
>>>>
>>>> This is not an uncommon situation at colleges and universities.
>>>>
>>>> Too many of the old fogies -- and, more dangerously, the "young
>>>> fogies" -- know about Ma. . t. .b and cannot imagine why anybody =
who
>>>> needs to do computing would use anything else. After all, it was =
good
>> enough for them.
>>>> (Exception: Canadians who thing the same about M . . . e.)
>>>>
>>>> Similarly, too many mathematicians cannot see why their students
>>>> should not learn how to carry out long and complex symbolic
>>>> calculations, e.g., symbolic integration, with paper and pencil; =
after
>> all, they had to do it.
>>>> Oddly enough, some of these same mathematicians use powerful =
symbolic
>>>> programs to do their own research in number theory, algebraic =
geometry,
>> etc.
>>>>
>>>> But I'm sympathetic to the view that there shouldn't be a course in =
a
>>>> mathematics department on Mathematica per se. Just as there =
shouldn't
>>>> be a course there in LaTeX per se. Just as Computer Science
>>>> departments say they don't have a course in any programming =
language.
>>>>
>>>> So if one is to make any headway, then one has to almost conceal =
the
>>>> Mathematica within a mathematics course whose subject is some
>>>> mathematical topics, or an engineering course whose subject is some
>>>> engineering topic, etc. Just as, e.g., in some "junior year =
writing"
>>>> courses taught by math departments, LaTeX is introduced and =
students
>>>> have to do some or all of their papers in LaTeX. Or a mathematics
>>>> department course in complex analysis where small teams of students =
do
>>>> projects presenting some topic via a Mathematica notebook (where a
>>>> couple of the projects might be teaching some Mathematica basics).
>>>>
>>>> Perhaps this "sneaky" way is not the most efficient way for =
teaching
>>>> and learning Mathematica, but it can work. In fact, Stephen Wolfram
>>>> wrote in "The Mathematica Book" some years ago that, after learning =
a
>>>> few basics and trying some simple examples from the book (today, =
the
>>>> Documentation Center), "You will probably find it best to start by
>>>> picking a specific problem to work on. Pick a problem that you
>>>> understand well. . . Then go through each step in solving the =
problem,
>>>> learning what you need to know about Mathematica to do it."
>>>>
>>>>
>>>> On May 23, 2013, at 4:10 AM, mathgroup <fizz...@knology.net> =
wrote:
>>>>
>>>>> David...
>>>>>
>>>>> But that was exactly my point...I tried so hard with our Community
>>>>> College and University to get Mathematica into the =
curriculum....or,
>>>>> as I said, to give some lectures and examples on the use of
>>>>> Mathematica....and ALL of them, Engineering, Math and Physics =
Depts
>>>>> said 'Thanks but No Thanks', as if they have something against
>>>>> Mathematica....It seemed that the idea that students would not use
>>>>> pencil and paper in as laborious a manner as possible really =
bothered
>>>>> them....Not once did they think perhaps this might lead to a real
>>>>> enjoyment of technical subjects and perhaps to much better
>>>>> understanding of their course work......even when I was working I =
was
>>>>> affectionately known as 'The Mathematica Nut'...although, I'm
>>>>> reminded of something that Nietzsche said....
>>>>>
>>>>> "Overzealousness on the part of one person can lead the others to
>>>>> Apostasy".....
>>>>>
>>>>> jerry blimbaum
>>>>>
>>>>> -----Original Message-----
>>>>> From: djmpark
>>>>> Sent: Wednesday, May 22, 2013 9:28 AM
>>>>> To: 'mathgroup ' ; math...@smc.vnet.net
>>>>> Subject: Re: Work on Basic Mathematica Stephen!
>>>>>
>>>>> It will be done by example. Several people will work together,
>>>>> exchanging Mathematica notebooks or working on a common notebook. =
The
>>>>> notebooks will be what I call "literate"; they will look something
>>>>> like a technical paper or report, but they will take advantage of =
all
>>>>> the active and dynamic features of Mathematica, and contain =
generated
>>>>> knowledge in the form of active and immediately accessible =
routines
>>>>> and definitions developed in the course of the effort.
>>>>>
>>>>> The notebooks will be of higher integrity than paper and pencil =
work,
>>>>> or using Mathematica as a programmed calculator and copying out
>>>>> because of all the self-proofing and additional checks that can be
>>>>> performed. (Of course, one can still make errors but they should =
be
>>>>> rarer and not the common
>>>>> variety.)
>>>>>
>>>>> That all this can be done in a single application is a tremendous
>>>>> advantage.
>>>>>
>>>>> Someday other people will see what they are doing and the =
advantages
>>>>> are so great they will want to do the same thing. The task is =
getting
>>>>> more people to write and use good examples.
>>>>>
>>>>>
>>>>> David Park
>>>>> djm...@comcast.net
>>>>> http://home.comcast.net/~djmpark/index.html
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> From: mathgroup [mailto:fizz...@knology.net]
>>>>>
>>>>> I want to comment on my experience , limited of course, with
>>>>> students of Engineering, Engineers and Professors of
>>>>> Engineering.....my background is Physics...
>>>>>
>>>>> First, I get the impression that , in the main, Symbolic
>>>>> Computation, etc.
>>>>> is not something they are really interested in......After I =
retired,
>>>>> I took several courses in Electromagnetics, one Graduate and the
>>>>> other Undergraduate......No one suggested the use of or taught the
>>>>> potential applications of Mathematica....Even in the Graduate =
course,
>>>>> I was the only student using Symbolic software ......in fact, the
>>>>> students did everything by hand and whenever something required
>>>>> software, such as Antenna patterns, out came M-------b with some =
code
>>>>> , etc....and that was the end of it....So, the students knew no
>>>>> better....and the Professors didn't care or weren't interested
>>>>> themselves in the benefits of learning and solving problems
>>>>> Symbolically....I asked one Professor if I could give a class =
lecture
>>>>> on the
>>>>> use of Mathematica for Electromagnetics...He agreed but than said =
'I
>> can
>>>>> only give you about ten minutes'....I respectfully declined the
>> offer....
>>>>>
>>>>> So, how does WRI expand its market?....IMO, there have to be
>>>>> dedicated Teachers on how to use Mathematica in what I'll call the
>>>>> Research Mode not just define given functions from the text and =
plot
>>>>> it.......from what I have seen of the attitude of Instructors and
>>>>> Professors I'm anything but Optimistic....I went to our local
>>>>> Colleges and suggested a sequence of courses in Mathematica =
ending
>>>>> with Animation and Simulation....That got me nowhere especially =
with
>>>>> the Math Depts...so, in part, I see people who are stuck in pencil
>>>>> and paper and refuse to get out of it....
>>>>>
>>>>> Again, of course, this is my limited experience...Perhaps others =
have
>>>>> had different and better ones...
>>>>>
>>>>> Jerry Blimbaum
>>>>>
>>>>>
>>>>>
>>>>> -----Original Message-----
>>>>> From: paulm...@gmail.com
>>>>> Sent: Sunday, May 19, 2013 4:50 AM
>>>>> To: math...@smc.vnet.net
>>>>> Subject: Re: Work on Basic Mathematica Stephen!
>>>>>
>>>>> I have (maybe) a minority perspective on Mathematica being an
>>>>> engineer. I used it long ago at university at version 1. The =
next
>>>>> time I would use it would be a wolfram approved ebay purchase of
>>>>> version 4. I have used it ever since, but am still rookie in some
>>>>> ways.
>>>>>
>>>>> I believe WRI is attempting to broaden the user base rather than
>>>>> deepen the product. They are doing this by adding (from our
>>>>> perspective) non-value add features to lure people in. The =
argument
>>>>> is the learning curve is less which should lead to greater sales.
>>>>> This is not how it works at any place I have been.
>>>>>
>>>>> The only engineering sales force that matters is engineers. If =
they
>>>>> can't argue for the product, it will not happen. Engineers can't
>>>>> argue for something they are unable use until after purchase and
>>>>> additional training.
>>>>> If you want engineers to demonstrate something or argue for it, =
you
>>>>> have to do more than offer wizards and connections to WolframAlpha
>>>>> which only apply after the sale. Engineers need to show
>>>>> understanding and capability.
>>>>> Managers have to show accounting they are saving money by buying
>>>>> Mathematica. Improvements in quality of OUR products or ability =
to
>>>>> address greater problems is not quantifiable to the brigade of =
MBAs
>>>>> who run modern businesses. There has to be quantifiable savings.
>>>>> This has to be demonstrated by engineering staff before purchase =
and
>>>>> framed in terms of reduced need for time (salary expense).
>>>>>
>>>>> I think this can only be achieved by making the online education
>>>>> material targeted to a specific audience. This material must =
solve
>>>>> real problems in a way that conveys the underlying capability.
>>>>>
>>>>> I have been told by WRI that most users will only use 5% (at most) =
of
>>>>> Mathematicas total ability. LoL, if only everyone would use the =
same
>> 5%.
>>>>>
>>>>> If you want us to be able to sell it, you have to provide training
>>>>> for free so we can get started solving engineering problems prior =
to
>>>>> purchase.
>>>>> Combine this with a 60 day trial and you could save a lot of WRI
>>>>> development dollars on bells and whistles that won't increase =
sales.
>>>>> Help us help you!
>>>>> Stop trying to treat sales tools as a profit center!
>>>>>
>>>>
>>>> ---
>>>> Murray Eisenberg
>> mur...@math.umass.edu
>>>> Mathematics & Statistics Dept.
>>>> Lederle Graduate Research Tower phone 413 549-1020 (H)
>>>> University of Massachusetts 413 =
45-2838 > (W)
>>>> 710 North Pleasant Street fax 413 =
545-1801
>>>> Amherst, MA 01003-9305
>>>>
>>>>
>>>>
>>>>
>>>>
>>>
>>
>>
>>
>
>


Murray Eisenberg

unread,
May 30, 2013, 6:08:25 AM5/30/13
to
"Spot on"! Of course the key here is what "simple" means. Where one
draws the line as to what must be done with paper and pencil and what
may be done by computer depends on who's drawing the line.

Here's an example of using Mathematica, due to Frank Wattenberg, that I
may have mentioned in other threads earlier: It's the standard Calculus
I problem of minimizing the total travel time when you are going to
rescue a drowning person first run along the edge of an ocean beach and
then swim out towards him. There are many variants (some involving a
dog, others concerning a utility line).

Once the student sets up the model and calculates the derivative of the
target function, finding critical points may be easy or it may be hard
-- Depending on what the parameters are.

A particularly interesting version of the problem, the one Frank
included in his calculus textbook, is to minimize the travel time of a
light ray going at an angle first through air and then water, or vice
versa. By solving the problem, you see what the refraction is as the
light passes from one medium to the other.

It so happens that the velocities of light in air and water, even when
rounded, are not too nice to deal with: you get a 4th degree polynomial.
There is a formula/method for solving quartic equations exactly, but
trying to implement it, without error, with paper and pencil is not
especially to be recommended.

That's where Mathematica can come into play: either get the exact
critical points symbolically in terms of coordinates of the two ends of
the light ray, then for particular pairs of coordinates take N; or else
use FindRoot.

By avoiding the distraction of solving the quartic, whether symbolically
or numerically and instead relegating that to the computer, one may now
ask and quickly answer many questions about the behavior of light. For
example, where do your toes appear to be as you soak in a tub of water?


On May 29, 2013, at 3:58 AM, Andrzej Kozlowski <akozl...@gmail.com> wrote:

> . . .I just wanted to make a final comment on
> one other matter. It's nothing new, I have written this before and it is
> something that I differ about with some of the persons who have posted
> in this thread. Briefly, I am not an enthusiast of using Mathematica for
> "simple" symbolic manipulation. I am sure that may view of this is the
> same as that of the great majority of mathematicians and that the reason
> for this is not "conservatism". Generally we believe that in mathematics
> computers should be used to do things that are too hard or too time
> consuming for humans and human beings should do the things that humans
> find easy. The reasons for this are practical (this is the only way to
> really remain "in control" of your work - which is essential to avoid
> producing nonsense) and educational (doing symbolic and even numerical
> computations by hand is an essential activity that is needed to acquire
> understanding of concepts).
> Of course I do not object to Mathematica having capabilities I do not
> need or intend to use or teach. If other people find them useful, they
> could be a selling point for Mathematica and help to pay for the
> development of more features that I want (of course, as long as the
> issue of excessive complexity of interface is kept under control).

---
Murray Eisenberg mur...@math.umass.edu
Mathematics & Statistics Dept.
Lederle Graduate Research Tower phone 413 549-1020 (H)
University of Massachusetts 413 545-2838 (W)
710 North Pleasant Street fax 413 545-1801
Amherst, MA 01003-9305






John Doty

unread,
May 30, 2013, 6:09:06 AM5/30/13
to
Changing the topic here.

On Tuesday, May 28, 2013 1:49:00 AM UTC-6, Richard Fateman wrote:

> Learning Mathematica (only) exposes a student to a singularly erroneous
> model of computation,

A personal, subjective judgement. However, I would agree that exposing the student to *any* single model of computation, to the exclusion of others, is destructive.

> Nice that you concede it is eccentric.

Concede? I praise its eccentricity! It takes me places other tools cannot easily go.

> Productive perhaps if you do not
> encounter a quirk.

There is no nontrivial quirk-free software.

> Especially a hidden quirk that gives the wrong
> answer but no warning.

Mathematica applied to real problems is pretty good here.

> And if you are not in a hurry for numerical
> results.

OK, let's consider how I use Mathematica in mixed-signal chip design. For my video chain chips, I start with two different approches in Mathematica. I have a nonlinear simulation environment that breaks the chip down into blocks, represented by functions, and composes a function representing the effect of a single clock step on the chip state from these functions. I iterate that function to "simulate". Some of the blocks are initially represented as Z transforms, so Mathematica's algebraic capabilities come in handy. The ease of partial evaluation helps with optimization: by evaluating as much of the function as possible before iterating it, special cases like consta nt inputs become very simple and fast.

I also have a Mathematica model that starts as symbolic Z and Fourier transforms, and models the chip as linear operators. For numerical results, these operators turn into matrices.

Once I've established the design parameters, I reduce the functional blocks to circuits and simulate with that fine Berkeley product, SPICE, the liguafranca of circuit simulation. You think Mathematica has problems? You've never used SPICE.

Linguistically, SPICE is an absolute mess. "Grammar" is utterly ad-hoc, and variable with dialect. "1N914B" is a perfectly good model name for a diode, but "2N2222A" cannot be used to name a transistor model in some dialects. There are a couple of dozen different dialects around, most containing incompatible proprietary extensions.

For quirky unpredictability, SPICE is much, much worse than Mathematica. SPICE users get used to seeing spurious "trap oscillations", large amounts of energy appearing out of nowhere, and ridiculous time steps. Tuning the numerics to get sane results is an arcane art. As a programming language, SPICE is about as sophisticated as BASIC, but much less regular. Nevertheless, SPICE is very widely used and very productive. In the end, people find that it gets the job done (although many get rather exasperated in the process!.

But the big problem with SPICE isn't that it's quirky and error-prone, but that it buries the problem in (mostly irrelevant) detail. I'm simulating thousands of transistors, each with ~100 model parameters, with state changing on picosecond time scales. My SPICE chip simulations tend to run at a billion times slower than real time. Data output is voluminous and difficult to analyze (sometimes I read it into Mathematica for reduction). These problems limit the range of questions I can practically ask of SPICE.

On the other hand, the iterated function approach in Mathematica is 10,000-100,000 times faster than the SPICE approach, so it's a lot better for probing high-level behavior. The linear algebra approach in Mathematica is even faster: bang a few matrices together and it tells me approximately what I'd get from averaging an unlimited number of simulation runs.

Because SPICE is so slow and detailed it's very difficult to use as a design tool, where the question is "I want this behavior, how do I get it?" It'sbetter for design verification: "I have this circuit, how will it behave?". The linear approach in Mathematica is the quickest for design optimization, but of course it can't probe nonlinear phenomena in "large signal" cases. The iterated function approach in Mathematica is a good compromise to bridge the gap.

So, when I have two Mathematica models and a SPICE model that agree that the design will meet requirements, and agree with each other where their capabilities overlap, I release the design to the layout contractor. One result is another SPICE model, extracted from the silicon geometry, for verification. This model is extremely complex, with tens of thousands of "parasitic" resistors and capacitors, but I'll run a few test cases through it before releasing the design to the mask aggregator. So, before any silicon is patterned, I get four fairly independent looks at the design from different viewpoints through two radically different tools.

There are still many things that can go wrong before I have an actual chip powered up and processing video. Some of them involve other software, but they have nothing to do with Mathematica, so I won't go into them here.

The real world simply doesn't work the way you imagine in this case. The design process involves cross checks between multiple tools and models, so few design errors escape detection. Furthermore, I haven't seen any errors attributable to the "quirks" of Mathematica in this process. I, of course, make and (hopefully) correct errors at a rapid pace. SPICE is rather treacherous. But correct and accurate calculation in Mathematica just isn't a problem in this engineering flow.

Nasser M. Abbasi

unread,
May 31, 2013, 3:15:57 AM5/31/13
to
On 5/30/2013 5:07 AM, J�nos L�bb wrote:
> I think this course will be successful only if the majority of the
> students already learned Mathematica in high school.

I do not think so. I've taken a Mathematica based course myself. It
was 100% Mathematica, i.e. everything from HW's to exams was
done using notebooks.

I had the feeling I was the only student in the class who even knew
that Mathematica existed before the class started.

Many students did not even know how to type a command in the notebook
when the course started, and many other basic things. So the first
2 weeks were are introduction to Mathematica.

It was a great course, and everyone seems at the end to have learned
many things. Did not see any one drop out or scream or anything. It was
a fun course actually even thought it was very hard work, because we used
Mathematica as a tool to learn physics. It was a physics course at UCI.

The teacher Dr Peter Taborek, is an expert in Mathematica as well as
being a Physics professor,and had his own book and software
based on Mathematica which we used.

http://alturl.com/qtq45

--Nasser

Richard Fateman

unread,
May 31, 2013, 3:15:16 AM5/31/13
to
On 5/30/2013 3:09 AM, John Doty wrote:
> Changing the topic here.
>
> On Tuesday, May 28, 2013 1:49:00 AM UTC-6, Richard Fateman wrote:
>
>> Learning Mathematica (only) exposes a student to a singularly
>> erroneous model of computation,
>
> A personal, subjective judgement. However, I would agree that
> exposing the student to *any* single model of computation, to the
> exclusion of others, is destructive.

Still, there are ones that are well-recognized as standard, a common
basis for software libraries, shared development environments, etc.
Others have been found lacking by refereed published articles
and have failed to gain adherents outside the originators. (Distrust
of significance arithmetic ala Mathematica is not a personal
subjective opinion only.).
>
>> Nice that you concede it is eccentric.
>
> Concede? I praise its eccentricity! It takes me places other tools
> cannot easily go.

I don't know what other tools you are considering. Certainly symbolic
computing goes places that numerical programs do not go (easily). That
doesn't really justify support for eccentric arithmetic. If you
say that eccentric arithmetic is praiseworthy, I find that peculiar.
>
>> Productive perhaps if you do not encounter a quirk.
>
> There is no nontrivial quirk-free software.

This is a non-sequitur.

Analogy:

Your shoelace is untied and you should tie it.
No, because elsewhere there are some untied shoelaces.


>
>> Especially a hidden quirk that gives the wrong answer but no
>> warning.
>
> Mathematica applied to real problems is pretty good here.

Maybe, but is "pretty good" the goal, and the occasional identified
errors be ignored?
>
>> And if you are not in a hurry for numerical results.
>
> OK, let's consider how I use Mathematica in mixed-signal chip design.

Please, too much.

<snip>

> You think Mathematica
> has problems? You've never used SPICE.

I've never used SPICE,though numbers of people have made academic
careers (at Berkeley) about it, and some people have made a great
deal of money directly or indirectly from it.

My impression is that the authors and implementers of SPICE
were substantially under-educated with respect to computer science
language design principles. Electrical engineers writing user
interfaces, initially in FORTRAN --> prospects look dim.
Wolfram got some excellent people doing UI early on.
>
>\
<snip>
.
>
> But the big problem with SPICE isn't that it's quirky and
> error-prone, but that it buries the problem in (mostly irrelevant)
> detail.

I'm not going to defend SPICE. I do assume that a better "shell"
can be developed (and, I'm pretty sure, has been) to steer SPICE.

>
> Because SPICE is so slow and detailed

I thought that the reason people used SPICE, esp. proprietary
improved versions, was that it was fast.

<snip>
> Furthermore, I
> haven't seen any errors attributable to the "quirks" of Mathematica
> in this process.

You may be using parts that work well. But you might have encountered
errors but not noticed. Would you have noticed if numeric results were
only good to 4 decimal digits rather than (say) 16?

<snip>

But correct and accurate
> calculation in Mathematica just isn't a problem in this engineering
> flow.

That certainly can happen. I am not asserting that results are
necessarily wrong!



Andrzej Kozlowski

unread,
May 31, 2013, 3:16:58 AM5/31/13
to
I think this is an excellent and quite fascinating account of serious
and genuinely useful application of some of Mathematica's vast
capabilities, which made me feel that the kind of stuff that the rest of
us do is more akin to playing. To my mind, it also should make very
clear (to anyone who had any doubts) the complete irrelevance of most of
the "criticism" of Mathematica that Richard Fateman has been posting for
over 2 decades (not that I expect him to stop doing it or even modify it
in anyway).

I don't think the points John's makes needs any further support so I
want to address just one issue: Richard's use of the words "erroneous,
incorrect, buggy" etc. This has, in fact, already been addressed by John
in the first sentence of his reply, but so briefly that I think there is
still some room for additional comment. Almost always when RJF uses such
words in connection with Mathemtica he is playing a kind of game, well
familiar to the veterans of this forum but which could confuse
newcomers. The idea is to make ambiguous statements that can be
interpreted in at least two ways: one could be called "strong" and the
other "weak". The "strong" interpretation is the one you hope will
influence people not very familiar with the topic (or with this sort of
rhetorical tricks), the weak one is what you turn to when pressed by
people who demand precise justification of your claims. When this
happens it turns out that the alleged "errors" are not at all what
people normally call errors but merely aspect of design that Richard
does not like (assuming, of course, that he does not have another hidden
motive that goes beyond disliking the working of Mathematica).
Thus, Richard whenever he sees a chance to influence someone who he
thinks is new to Mathematica, suggest that Mathematica's significance
arithmetic is prone to give wrong answers and is unreliable. But when
pressed, he has admitted on a number of occasions that:

1. Significance arithmetic, being a (faster) version of interval
arithmetic, can be useful when used by people who understand it and that
it is used quite reliably by many built-in Mathematica functions such as
NSolve (and also Solve).
2. It is easy to switch to fixed precision arithmetic whenever one wants
with a simple usage of Block.

In other words: significance arithmetic is a feature that Mathematica
offers in addition to standard, fixed precision arithmetic. How can more
be worse than less? Of course JRF when pressed, has admitted all this (I
can post references but I don't think he will deny it) and his
objections actually amount to just two things: the choice of
significance arithmetic as the deafult for extended precision
computations and the fact that Mathematica treats what are actually
intervals as "numbers" instead of just calling them something else
("fuzz balls"). Every time there is a serious discussion of these
things, he is forced to concede all these points but then, at the next
opportunity, he starts the whole things all over again. In the end, he
becomes so careless that he ends up writing comical nonsense like:


> I will say that for scientific computing it is probably a bad feature
> to have finite numbers x such that x ==0 and x+1 == x.

Excuse me? I have always assumed that every number system has at least
one finite number x such that x+1=x, this follows from the group
axiom. Also, by the way, if we are talking about group addition then
"x ==0 and x+1 == x" is a not very economical way to express
x==0.

More seriously, there are two things are being insinuated here, both of
them false. The first is that having "numbers" with unusual properties
is somehow "wrong" or even "eccentric" in mathematics. This is, of
course, completely false and one can give lots of examples. To take just
one: in non standard analysis one has infinitely many "infinitely small
numbers" x such that n x <1 for every positive integer n. This is both
logically sound and very useful in practical proofs and computations.
Exactly the same is true of "fuzz balls".

Another insinuation, equally false, is that an unsuspecting "naive" user
of Mathematica could fall into some trap because of this. Naive users of
Mathematica practically never use arbitrary precision arithmetic. Users
who need it will almost always look into the documentation and realise
that they won't be dealing with numbers in the ordinary sense but
intervals of variable size. This is why examples of the kind that RJF
loves posting never come up naturally. The only time they occur is
either then RJF posts them or sometimes when someone discovers low
precision numbers and tries things like:

1`0 == 0

True

1`0 == 1

True


But, of course, to be able to enter numbers with no precision you really
need to know, well, what it means for a number to have Precision 0. At
this point, I suspect, RJF will be tempted to come up with his favourite
example of the the kind of thing that awaits an unsuspecting user who
for some reason needs to evaluate:

z = 1.11111111111111111111;While[(z = 2*z - z) != 0, Print[z]]

Well, see it for yourself (in Mathematica 9) and decide if anyone would
find it so confusing.

Andrzej Kozlowski





On 30 May 2013, at 12:15, John Doty <noqsiae...@gmail.com> wrote:

> Changing the topic here.
>
> On Tuesday, May 28, 2013 1:49:00 AM UTC-6, Richard Fateman wrote:
>
>> Learning Mathematica (only) exposes a student to a singularly
erroneous
>> model of computation,
>
> A personal, subjective judgement. However, I would agree that exposing
the student to *any* single model of computation, to the exclusion of
others, is destructive.
>
>> Nice that you concede it is eccentric.
>
> Concede? I praise its eccentricity! It takes me places other tools
cannot easily go.
>
>> Productive perhaps if you do not
>> encounter a quirk.
>
> There is no nontrivial quirk-free software.
>
>> Especially a hidden quirk that gives the wrong
>> answer but no warning.
>
> Mathematica applied to real problems is pretty good here.
>
>> And if you are not in a hurry for numerical
>> results.
>
> OK, let's consider how I use Mathematica in mixed-signal chip design.
For my video chain chips, I start with two different approches in
Mathematica. I have a nonlinear simulation environment that breaks the
chip down into blocks, represented by functions, and composes a function
representing the effect of a single clock step on the chip state from
these functions. I iterate that function to "simulate". Some of the
blocks are initially represented as Z transforms, so Mathematica's
algebraic capabilities come in handy. The ease of partial evaluation
helps with optimization: by evaluating as much of the function as
possible before iterating it, special cases like consta nt inputs become
very simple and fast.
>
> I also have a Mathematica model that starts as symbolic Z and Fourier
transforms, and models the chip as linear operators. For numerical
results, these operators turn into matrices.
>
> Once I've established the design parameters, I reduce the functional
blocks to circuits and simulate with that fine Berkeley product, SPICE,
the liguafranca of circuit simulation. You think Mathematica has
problems? You've never used SPICE.
>
> Linguistically, SPICE is an absolute mess. "Grammar" is utterly
ad-hoc, and variable with dialect. "1N914B" is a perfectly good model
name for a diode, but "2N2222A" cannot be used to name a transistor
model in some dialects. There are a couple of dozen different dialects
around, most containing incompatible proprietary extensions.
>
> For quirky unpredictability, SPICE is much, much worse than
Mathematica. SPICE users get used to seeing spurious "trap
oscillations", large amounts of energy appearing out of nowhere, and
ridiculous time steps. Tuning the numerics to get sane results is an
arcane art. As a programming language, SPICE is about as sophisticated
as BASIC, but much less regular. Nevertheless, SPICE is very widely used
and very productive. In the end, people find that it gets the job done
(although many get rather exasperated in the process!.
>
> But the big problem with SPICE isn't that it's quirky and error-prone,
but that it buries the problem in (mostly irrelevant) detail. I'm
models, so few design errors escape detection. Furthermore, I haven't
seen any errors attributable to the "quirks" of Mathematica in this
process. I, of course, make and (hopefully) correct errors at a rapid
pace. SPICE is rather treacherous. But correct and accurate calculation

Kevin J. McCann

unread,
May 31, 2013, 3:18:40 AM5/31/13
to
A very interesting presentation. Thanks, John.

Kevin

David Bailey

unread,
May 31, 2013, 3:19:00 AM5/31/13
to
On 28/05/2013 08:46, fd wrote:> All,
I am wondering in what way you think Mathematica restricts your ability
to import user data! I would say there are a lot of options, and the
link to Java also gives you access to all of Java's I/O if necessary.

David Bailey
http://www.dbaileyconsultancy.co.uk


David Bailey

unread,
May 31, 2013, 3:19:20 AM5/31/13
to
On 28/05/2013 08:49, Richard Fateman wrote:
>
> I do not see any connection here. It is possible to write a linked list
> in Mathematica and still use its evaluation. e.g.
> consider using node[element,RestOfList]. Instead of [A,B,C] use
> node[A,node[B,node[C,Nil]]]. A node here is like a lisp "cons" cell.
> In fact there are other computer algebra systems written in lisp that
> use lisp lists and have similar evaluation strategies to Mathematica.
>

Yes you could, and you might find it instructive to do this, because you
would then see exactly why Stephen Wolfram chose to implement lists in a
different way!

Try using your implementation to implement some 1000 x 1000 matrix algebra!

OK - perhaps you wouldn't want to use your new list implementation for
linear algebra, but in that case, where would you want to use it? Lisp
lists are expensive to use unless the algorithm is tailored to generate
lists in reverse order, and consume them in forward order (OK you can
reverse a Lisp list, but that consumes space for a copy, but random
access is still inefficient).

Since the Lisp language was designed very early on, I would imagine its
list structure reflects the tiny memory spaces available at that time.
Garbage collection of varying sized objects is more complex and tends to
need some slack memory.

The decision to implement lists the Mathematica way, has been amply
vindicated in recent years. Because the mechanisms supplied to access
lists are not skewed towards sequential access, it has been possible to
produce packed arrays (and indeed sparse arrays) that work as drop in
replacements for the equivalent list structures - with enormous
performance gains.

Mathematica also gains from the decision to make lists mutable - again
this simplifies the design of algorithms and increases performance.

Clearly Mathematica lists also score in they must help internally to
avoid repeated evaluation. Clearly Mathematica must store some
information in the head of every object to keep track of objects that
need reevaluation, and you wouldn't want each list node to be bloated
out in that way.

Yes you could implement Lisp-style lists in Mathematica, and with a bit
more effort, you could also supply them with a nice syntax for
input/output, so try it and see how many people find them useful!

David Bailey
http://www.dbaileyconsultancy.co.uk



Daniel Lichtblau

unread,
Jun 1, 2013, 6:06:28 AM6/1/13
to
Others have commented on most issues raised in this subthread. I
wanted to
touch on just a few details.

On May 31, 2:15 am, Richard Fateman <fate...@cs.berkeley.edu> wrote:
> On 5/30/2013 3:09 AM, John Doty wrote:
>
> > Changing the topic here.
>
> > On Tuesday, May 28, 2013 1:49:00 AM UTC-6, Richard Fateman wrote:
>
> >> Learning Mathematica (only) exposes a student to a singularly
> >> erroneous model of computation,

I assume you (as ever) refer to significance arithmetic. If so,
while it is many things, "erroneous" is not one of them. It
operates as designed. You have expressed a couple of reasons
why you find that design not to your liking. The two that most
come to mind: bad behavior in iterations that "should" converge,
and fuzzy equality that you find to be unintuitive 9mostly this
arises at low precision).


> > A personal, subjective judgement. However, I would agree that
> > exposing the student to *any* single model of computation, to the
> > exclusion of others, is destructive.
>
> Still, there are ones that are well-recognized as standard, a common
> basis for software libraries, shared development environments, etc.
> Others have been found lacking by refereed published articles
> and have failed to gain adherents outside the originators. (Distrust
> of significance arithmetic ala Mathematica is not a personal
> subjective opinion only.).

No, but nor is it one that appears to be widely shared. As best I can
tell, most people in the field either do not write about it, or else
make the observation, correctly, that it is simply a first-order
approximation to interval arithmetic.

As such, it has most of the qualities of interval arithmetic. Among
these are the issue that results with "large" intervals are sometimes
not very useful. Knowing that one ended up with a large interval,
however,
can be useful: it tells one that either the problem is not well
conditioned, or the method of solving it was not (and specifically, it
may have been a bad idea to use intervals to assess error bounds).

Significance arithmetic brings a few advantages. One is that computations
are generally faster than their interval counterparts. Another is that it
is "significantly" easier to extend to functions for which interval
methods are out of reach (reason: one can compute derivatives but cannot
always find extrema for every function on every segment). A third is that
it is much easier to extend to complex values.

A drawback, relative to interval arithmetic, is that as a first-order
approximation, in terms of error propagation, significance arithmetic
breaks down at low precision where higher-order terms can cause the
estimates to be off. I will add that, at that point, intervals are going
to give results that are also not terribly useful.

I'm not sure what are the refereed articles referred to above. I suspect
they do not disagree in substantial ways with what I wrote though. That
is to say, error estimates may be too conservative, and at low precision
results may not be useful.

Fixed precision has its own advantages and disadvantages in terms of speed,
error estimation, and the like. We certainly use it in places, even if
significance arithmetic is the default behavior of bignum arithmetic in
top-level Mathematic. For implementation purposes we use both modes.


> > Mathematica applied to real problems is pretty good here.
>
> Maybe, but is "pretty good" the goal, and the occasional identified
> errors be ignored?

We do try to fix many bugs that are brought to our attention. We have a
better track record in some areas than others. I have no reason to
believe that numerics issues have received short shrift though.

Daniel Lichtblau
Wolfram Research

Richard Fateman

unread,
Jun 1, 2013, 6:06:48 AM6/1/13
to
On 5/31/2013 12:19 AM, David Bailey wrote:
> On 28/05/2013 08:49, Richard Fateman wrote:
>>
>> I do not see any connection here. It is possible to write a linked list
>> in Mathematica and still use its evaluation. e.g.
>> consider using node[element,RestOfList]. Instead of [A,B,C] use
>> node[A,node[B,node[C,Nil]]]. A node here is like a lisp "cons" cell.
>> In fact there are other computer algebra systems written in lisp that
>> use lisp lists and have similar evaluation strategies to Mathematica.
>>
>
> Yes you could, and you might find it instructive to do this, because you
> would then see exactly why Stephen Wolfram chose to implement lists in a
> different way!

I have no objection to a data type that might reasonably be called
Vector, or perhaps Sequence, that implements a data structure that uses
sequential storage. I object to calling it List.
>
> Try using your implementation to implement some 1000 x 1000 matrix algebra!

I would not particularly advise using linked lists for a dense matrix,
but linked lists for small matrices might be just fine, or sparse
matrices of large dimension but few entries. In the context of SYMBOLIC
matrices, one generally ends up using smallish sizes because of
explosive growth in costs for doing non-trivial operations with them.
In a numeric context, 1000x1000 or much much larger is more likely.

>
> OK - perhaps you wouldn't want to use your new list implementation for
> linear algebra, but in that case, where would you want to use it?

You think that linked lists are of no use? If you have access to
a computer science text on data structures, I suggest you look. Or
use Google for ... applications linked lists.

> Lisp
> lists are expensive to use unless the algorithm is tailored to generate
> lists in reverse order, and consume them in forward order (OK you can
> reverse a Lisp list, but that consumes space for a copy, but random
> access is still inefficient).

This is a silly argument. If you know in advance that the size of a
vector is n then you can allocate space for it in Mathematica or in Lisp
as a vector.
If you don't know the size,
adding one more element beyond the allocated space n requires O(n)
time for copying. For a linked list it is O(1) to add an element.
This has consequences for many applications including building queues,
algebraic expression trees, storage management etc. Perhaps you are
familiar with the related notion of a pointer, in the C language.

It is quite possible to write a lisp program that appends to the end of
a list in time O(1). If you have access to information on lisp, look up
nconc. It is, however a "destructive" operation, and not my favorite
way of building a list. If I want to reverse a list that I know is not
shared (i.e. I just constructed it!) I can use nreverse which is
quite fast, and reverses a list IN PLACE. Accessing elements in a linked
list of just a few elements (say, 8 or 10?) may be faster than accessing
elements in a vector, where array indexes may have to be translated into
byte addresses, checked against array bounds, before retrieving.
Note that once a linked list is stored in memory cache, accesses can be
quite fast.

If a lisp programmer wants to use an array, that is available in the
language. If a lisp programmer wants to use a linked list, that is
available too. If a Mathematica programmer wants to use a linked list,
there is the (admittedly clumsy) construction I suggested previously,
but basically it not an advertised option.

If you want to look for ways in which lisp can be expensive, I
suggest you learn more about it, for example understanding boxed/unboxed
numbers.

The idea that someone might write a slow program in a language
is not an indictment of the language if a slightly more experienced or
skilled or knowledgeable person could write an equivalent computation
that runs very fast. It would be nice if even naive programs written
by naive programmers were magically "optimized" into better programs.
This is a challenge in the design and implementation of languages.
E.g. "automatic parallelization" ...

My criticisms of Mathematica's language (EF) are
based on situations in which the language itself interferes with the
writing of efficient or mathematically consistent or even numerically
accurate programs. And it misuses names...


>
> Since the Lisp language was designed very early on, I would imagine its
> list structure reflects the tiny memory spaces available at that time.
> Garbage collection of varying sized objects is more complex and tends to
> need some slack memory.

Lisps on modern computers tend to have pointers that are close to the
normal size of words in the architecture. That is 32 or 64 bits.
Usually a few bits in a pointer are treated as tags.
But on the other hand there is usually no need to address individual
bytes -- if you address only words, you can mask off some of those bits
anyway.
>
> The decision to implement lists the Mathematica way, has been amply
> vindicated in recent years.

Um, I don't care that vectors work OK in Mathematica. They work OK
in Lisp too. In fact they provide a very efficient mechanism if you
declare them to be vectors of elements with a particular type. Then
they can be unboxed (which you could read about). If you have a vector
of elements of arbitrary stuff, you generally store pointers, just as
you have in Mathematica. Lisp declared vectors or arrays appear
to correspond to a generalization of PackedArray in Mathematica.
This notion in Lisp goes back quite a way, at least 1984.

I don't know of any reason to say that the use of the name List has
been vindicated. In seems to be potentially a source of confusion
to anyone who knows (say) programming in C, Lisp, ...

> Because the mechanisms supplied to access
> lists are not skewed towards sequential access, it has been possible to
> produce packed arrays (and indeed sparse arrays) that work as drop in
> replacements for the equivalent list structures - with enormous
> performance gains.

Um, if you want to argue that there are advantages to packed arrays
or sparse arrays, you will have to find someone else to argue with.
I agree.
>
> Mathematica also gains from the decision to make lists mutable - again
> this simplifies the design of algorithms and increases performance.

I have no idea what you are arguing about. Lists in lisp are mutable.
e.g. (setf x '(a b c)) (setf (second x) 'q) --->
x is the list (a q c)

"Lists" in Mathematica may not be. e.g.
f[n_]:=(Print[n];Hold[f[n]]);
q=Table[f[i],{i,1,3}]
q[2]= 2
FAILS.
ReleaseHold[q[2]] re-evaluates not just q[2], but every element in q.

It prints 1,2,3



>
> Clearly Mathematica lists also score in they must help internally to
> avoid repeated evaluation.

Just as arrays help? Oh, I forgot. They are the same as arrays.


> Clearly Mathematica must store some
> information in the head of every object to keep track of objects that
> need reevaluation, and you wouldn't want each list node to be bloated
> out in that way.

It actually works the other way. If some element of a "List" is
altered, then every element in that array must be re-evaluated. So it
is a big disadvantage. See the example above, with q[2].

If you wish to implement a "re-evaluate if it might matter" strategy,
you can do so by noting the dependency of variables on symbols. A linked
list cell is not a variable or a symbol. At least 2 other computer
algebra systems use such a strategy (one optionally).
>
> Yes you could implement Lisp-style lists in Mathematica, and with a bit
> more effort,
I showed how to do it.
you could also supply them with a nice syntax for
> input/output,
Surely.
so try it and see how many people find them useful!

The point I was making regarding "Lists" is that Wolfram is using a
word for something quite different from the list data structure.
This is one among a number of reasons to not use Mathematica for
computer science.

Linked lists are used all the time in Mathematica. g[h[x]] is a linked
list.


By the way f[x] or Sin[x] looks sort of like a "function" but with
square brackets. But it is not really. It has something to do with
rules, patterns, evaluation, etc. As I recall, in SMP, Wolfram's prior
CAS before Mathematica, such things were called Projections.
This was probably too confusing, In any case the term was dropped.
Maybe the people who knew other meanings for projection were able to
get to him (e.g. graphics people?) in a way that computer scientists
could not.

http://www.stephenwolfram.com/publications/articles/computing/81-smp/1/text.html


RJF

Richard Fateman

unread,
Jun 1, 2013, 6:07:09 AM6/1/13
to
On 5/31/2013 12:16 AM, Andrzej Kozlowski wrote:
> Excuse me? I have always assumed that every number system has at least
> one finite number x such that x+1=x, this follows from the group
> axiom. Also, by the way, if we are talking about group addition then
> "x ==0 and x+1 == x" is a not very economical way to express
> x==0.


I think that Andrzej is misreading/ miswriting...

It is fine to have an element x such that x+1=1. That
number is the identity under addition, or zero.

It is not ok to have an element such that x+1=x.

(When x and 1 are supposed to be modeling the real numbers).


As for the rest of the attacks...

z = 1.11111111111111111111;While[(z = 2*z - z) != 0, Print[z]]

Well, see it for yourself (in Mathematica 9) and decide if anyone would
find it so confusing.

Mathematica 9 has adopted my suggestion that numbers with no precision
be displayed differently (in a red box). Prior versions (up to 7 or 8?)
just displayed 0.

Andrzej misconstrues my comments principally in the sense that he
assumes I think it is OK to have a design that gives naive users wrong
answers if it is possible for a skilled user to bypass the
potential disasters by switching arithmetic (etc.)

No, it is a bad design.

The rest of Andrzej's comments are, I think not worth responding to.






Richard Fateman

unread,
Jun 1, 2013, 6:07:30 AM6/1/13
to
On 5/31/2013 12:16 AM, Andrzej Kozlowski wrote:
> I think this is an excellent and quite fascinating account of serious
> and genuinely useful application of some of Mathematica's vast
> capabilities,

Really I don't think he was using much of Mathematica's capabilities.

Symbolic Z transform and trying to optimize expressions by recognition
of constants.

> which made me feel that the kind of stuff that the rest of
> us do is more akin to playing.

Speak for yourself.

To my mind, it also should make very
> clear (to anyone who had any doubts) the complete irrelevance of most of
> the "criticism" of Mathematica that Richard Fateman has been posting for
> over 2 decades (not that I expect him to stop doing it or even modify it
> in anyway).

Certainly not in response to Doty or you.
>
> I don't think the points John's makes needs any further support

eh, he seemed to say that he liked to use Mathematica but didn't like
to use SPICE. Of the two, it seemed that SPICE was essential. He
didn't explain how Mathematica was especially useful as compared to
other computer algebra systems.

so I
> want to address just one issue: Richard's use of the words "erroneous,
> incorrect, buggy" etc. This has, in fact, already been addressed by John
> in the first sentence of his reply,

um, subjective and personal, you mean?


but so briefly that I think there is
> still some room for additional comment. Almost always when RJF uses such
> words in connection with Mathemtica he is playing a kind of game, well
> familiar to the veterans of this forum but which could confuse
> newcomers.

Newcomers to Mathematica end up confused when they realize the program
doesn't do what they thought it was supposed to do.


The idea is to make ambiguous statements that can be
> interpreted in at least two ways: one could be called "strong" and the
> other "weak".

I suppose you are entitled to your opinion, but my thought is that
you are mistaken, at the very least.

The "strong" interpretation is the one you hope will
> influence people not very familiar with the topic (or with this sort of
> rhetorical tricks), the weak one is what you turn to when pressed by
> people who demand precise justification of your claims. When this
> happens it turns out that the alleged "errors" are not at all what
> people normally call errors but merely aspect of design that Richard
> does not like

Sure, there are some people who might no worry about bad design.
They probably could justify (say) keeping loaded firearms unlocked in
a house with children. After all, people know not to point firearms
at other people and click the trigger. Just an opinion.


>(assuming, of course, that he does not have another hidden
> motive that goes beyond disliking the working of Mathematica).

I think my reports are generally quite specific and reproducible.
If you think none of them represent an error, I think you mistaken.


> Thus, Richard whenever he sees a chance to influence someone who he
> thinks is new to Mathematica, suggest that Mathematica's significance
> arithmetic is prone to give wrong answers and is unreliable.

Usually I point it out when someone discovers a problem in the first
place, and wonders about how it could be that an answer is so wrong.

The reason my comments reappear is generally because the questions/
complaints reappear.


But when
> pressed, he has admitted on a number of occasions that:
>
> 1. Significance arithmetic, being a (faster) version of interval
> arithmetic, can be useful when used by people who understand it and that
> it is used quite reliably by many built-in Mathematica functions such as
> NSolve (and also Solve).

I doubt that I said this. I probably said (since I believe it to be the
case) that internal to routines in Mathematica, the default
significance arithmetic is bypassed, essentially by separately computing
the precision of intermediate results and imposing that on the numbers
in an iteration. In other words, these routines work IN SPITE OF
significance arithmetic, not because of it.

> 2. It is easy to switch to fixed precision arithmetic whenever one wants
> with a simple usage of Block.

If you switch to fixed precision, then you have to know what
the precision should be fixed at. Numerical analysts have some
techniques for doing this, and these techniques can be implemented
in Mathematica, and have been, in some internal routines, by
clever people. But Mathematica documentation would lead you to
believe that Mathematica does the right thing by default. This
is, in general, false. As you see by the example you quote, from me!

>
> In other words: significance arithmetic is a feature that Mathematica
> offers in addition to standard, fixed precision arithmetic.

There is double-float arithmetic, which is almost standard, but
has some quirks. More serious problems for the extended precision.

To use the fixed precision arithmetic, one has to either intersperse
SetPrecision[A,p] among the calculations, or set the system
variables $MaxPrecision and $MinPrecision to a particular integer.
Maybe there are other ways to do this, e.g. using integer arithmetic
and simulating binary point, ...

How can more
> be worse than less?


The damage, however, is to the user who believes the Significance
arithmetic when it does not deserve to be believed.


Of course JRF when pressed, has admitted all this (I
> can post references but I don't think he will deny it)

I have heard of out-of-context quotes, but you don't even bother!
You simply misrepresent.

and his
> objections actually amount to just two things: the choice of
> significance arithmetic as the deafult for extended precision
> computations and the fact that Mathematica treats what are actually
> intervals as "numbers" instead of just calling them something else
> ("fuzz balls").

I am not sure what you are claiming here. If a number is an interval,
then what are the endpoints? If they are numbers, then they too are
intervals, etc. ad infinitum. Much better to have numbers, and then
intervals which are pairs of numbers. end of recursion.

Every time there is a serious discussion of these
> things, he is forced to concede all these points but then, at the next
> opportunity, he starts the whole things all over again.

I suppose you can make things up if you don't even bother to quote.

In the end, he
> becomes so careless that he ends up writing comical nonsense like:
>
>
>> I will say that for scientific computing it is probably a bad feature
>> to have finite numbers x such that x ==0 and x+1 == x.
>
> Excuse me? I have always assumed that every number system has at least
> one finite number x such that x+1=x, this follows from the group
> axiom.

I think you mean x+1==1 when x is the additive identity (e.g. zero for
real numbers).

Also, by the way, if we are talking about group addition then
> "x ==0 and x+1 == x" is a not very economical way to express
> x==0.

um, read what I wrote and what you wrote again.

>
> More seriously, there are two things are being insinuated here, both of
> them false. The first is that having "numbers" with unusual properties
> is somehow "wrong" or even "eccentric" in mathematics.

I contend that x==0 and x+1==x is beyond eccentric. Mathematica
also may believe x+1==x+2, even though it also believes that
Solve[ s+1==s+2, s] has no solutions. Yet x is a solution!
(x=z from the computation below...)

This is, of
> course, completely false and one can give lots of examples.

You can give an example that numbers in Mathematica sometimes
are not wrong. That's not much comfort. It is like you asking me
"How was your hamburger" and I say "Parts of it were excellent"..


To take just
> one: in non standard analysis one has infinitely many "infinitely small
> numbers" x such that n x <1 for every positive integer n.

OK, If I want to model that I should definitely not use significance
arithmetic. The zero-ish number z below has the property than
z==0
Rationalize[z] is 0
yet z<1 is false.


This is both
> logically sound and very useful in practical proofs and computations.
> Exactly the same is true of "fuzz balls".

I don't see how this relates to Mathematica. There are many algebraic
systems possible. Mathematica deals with just a few, like the Ring
of integers, the Field of rational numbers, some modular stuff,
Polynomials and Rational Functions, Matrices, floats as a model
of reals, principally. complex numbers, and a bunch of other
stuff including Log, Exp, graphics stuff, maps, whatever.
Someone may have written a package for non-standard analysis, but
if so, probably did not use software extended precision.

>
> Another insinuation, equally false, is that an unsuspecting "naive" user
> of Mathematica could fall into some trap because of this.

How could you possibly know this? Just read mathgroup to find people
who fall into holes.

> Naive users of
> Mathematica practically never use arbitrary precision arithmetic.

Practically never, but occasionally? Like slightly pregnant?

Users
> who need it will almost always look into the documentation and realise
> that they won't be dealing with numbers in the ordinary sense but
> intervals of variable size.

Users may use it simply by typing too many digits.

This is why examples of the kind that RJF
> loves posting never come up naturally.

Except on Mathgroup occasionally.

The only time they occur is
> either then RJF posts them or sometimes when someone discovers low
> precision numbers and tries things like:
>
> 1`0 == 0
>
> True
>
> 1`0 == 1
>
> True

No, I think that this pretty much unlikely. Discovering low precision
numbers by typing them in.

People who truly worry about
precision probably know a lot more about it than this. They will
be troubled and surprised by Mathematica's model, most likely.
>
>
> But, of course, to be able to enter numbers with no precision you really
> need to know, well, what it means for a number to have Precision 0. At
> this point, I suspect, RJF will be tempted to come up with his favourite
> example of the the kind of thing that awaits an unsuspecting user who
> for some reason needs to evaluate:
>
> z = 1.11111111111111111111;While[(z = 2*z - z) != 0, Print[z]]
>
> Well, see it for yourself (in Mathematica 9) and decide if anyone would
> find it so confusing.

First of all you don't need so many digits.
(z = 1.11111111111111111; Do [z = 2*z - z, {36}]; z) produces 0.
(z = 1.1111111111111111; Do [z = 2*z - z, {36}]; z) produces 1.11111

RealDigits[z] is {{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, 1}
But
InputForm[z] is 1.1111111111111112

etc.


David Bailey

unread,
Jun 2, 2013, 12:22:42 AM6/2/13
to
On 01/06/2013 11:06, Richard Fateman wrote:
>
> I have no objection to a data type that might reasonably be called
> Vector, or perhaps Sequence, that implements a data structure that uses
> sequential storage. I object to calling it List.

Indeed, the essence of your criticism seems to be merely that
Mathematica gives a slightly different technical meaning to the English
word 'List' than that of Lisp!

If the head of a Mathematica list was LinkedList, you might have a
point, as it is, your criticism is absurd. I might as well claim that
either the physics concept of field or the pure maths concept of a field
is wrong because they are not the same!

If anything, Mathematica's use of the term 'List' is a little closer to
its English meaning, in as much as you can access its elements in random
order - just as you can with a shopping list!

John McCarthy didn't get to coin the computer science meaning of the
word 'List' for ever more! Indeed, perhaps the very fact that he chose
the word 'List', rather than something more descriptive like 'Chain'
meant that he wanted people to concentrate on what it represented,
rather than just on how it was implemented.

David Bailey
http://www.dbaileyconsultancy.co.uk



Andrzej Kozlowski

unread,
Jun 2, 2013, 12:23:02 AM6/2/13
to

On 1 Jun 2013, at 21:21, James Stein <math...@stein.org> wrote:

>
>
> On Fri, May 31, 2013 at 12:37 AM, Andrzej Kozlowski <akozl...@gmail.com> wrote:
> To my mind, it also should make very
> clear (to anyone who had any doubts) the complete irrelevance of most of
> the "criticism" of Mathematica that Richard Fateman has been posting for
> over 2 decades (not that I expect him to stop doing it or even modify it
> in anyway).
>
> To my mind, I always find Fateman's posts interesting and informative.
> I am glad he posts here, and that he persists despite comments such as yours.
>

I do not deny that some of it could be interesting one, maybe twice to someone with poor memory. But I guess you have not been reading this forum for a very long time. Anyway, obviously nobody is trying to deny him the freedom to post here, especially that nowadays he seems to have lots of free time on his hands. Chacun a son gout.

Andrzej Kozlowski

Richard Fateman

unread,
Jun 2, 2013, 12:24:24 AM6/2/13
to
On 6/1/2013 3:06 AM, Daniel Lichtblau wrote:
> Others have commented on most issues raised in this subthread. I
> wanted to
> touch on just a few details.
>
> On May 31, 2:15 am, Richard Fateman <fate...@cs.berkeley.edu> wrote:
>> On 5/30/2013 3:09 AM, John Doty wrote:
>>
>>> Changing the topic here.
>>
>>> On Tuesday, May 28, 2013 1:49:00 AM UTC-6, Richard Fateman wrote:
>>
>>>> Learning Mathematica (only) exposes a student to a singularly
>>>> erroneous model of computation,
>
> I assume you (as ever) refer to significance arithmetic.

Yes.

If so,
> while it is many things, "erroneous" is not one of them. It
> operates as designed. You have expressed a couple of reasons
> why you find that design not to your liking. The two that most
> come to mind: bad behavior in iterations that "should" converge,
> and fuzzy equality that you find to be unintuitive 9mostly this
> arises at low precision).

Yes. I consider these to be errors in the design. I am not
complaining that the implementation (erroneously) diverges from
the design.

>
>
>>> A personal, subjective judgement. However, I would agree that
>>> exposing the student to *any* single model of computation, to the
>>> exclusion of others, is destructive.
>>
>> Still, there are ones that are well-recognized as standard, a common
>> basis for software libraries, shared development environments, etc.
>> Others have been found lacking by refereed published articles
>> and have failed to gain adherents outside the originators. (Distrust
>> of significance arithmetic ala Mathematica is not a personal
>> subjective opinion only.).
>
> No, but nor is it one that appears to be widely shared. As best I can
> tell, most people in the field either do not write about it, or else
> make the observation, correctly, that it is simply a first-order
> approximation to interval arithmetic.

There is a wikipedia entry on the topic that (at least as of this time
and date) is pretty good.
>
> As such, it has most of the qualities of interval arithmetic. Among
> these are the issue that results with "large" intervals are sometimes
> not very useful. Knowing that one ended up with a large interval,
> however,
> can be useful: it tells one that either the problem is not well
> conditioned, or the method of solving it was not (and specifically, it
> may have been a bad idea to use intervals to assess error bounds).

The important quality of interval arithmetic that is not preserved is
that interval arithmetic (done correctly) preserves validity. That is,
the correct answer is guaranteed to be enclosed in the result.
>
> Significance arithmetic brings a few advantages. One is that computations
> are generally faster than their interval counterparts.

I wonder about this. There are libraries that do interval arithmetic,
and even interval arithmetic in arbitrary precision. It might be
possible to benchmark interval arithmetic against Mathematica arithmetic
in some neutral setting. (I think it would be difficult to
compare the two fairly in Mathematica ... there might be an issue if
an interval's endpoints were computed with significance arithmetic so it
would naturally be slower.... But perhaps there is another way. See
below, though.)

It seems to me that the default arithmetic is fairly complicated. Each
extended float number F has some other number E associated with it
(guess: it is a machine float representing something like log of
relative error), and calculations require mucking about with F and E
both, e.g. some calculations involving condition numbers relating to how
fast a function changes as the argument changes.

> Another is that it
> is "significantly" easier to extend to functions for which interval
> methods are out of reach (reason: one can compute derivatives but cannot
> always find extrema for every function on every segment). A third is that
> it is much easier to extend to complex values.

I don't understand the derivative argument -- intervals can be computed
essentially by composition of interval functions. This may be overly
pessimistic compared to actually finding extrema, but it is, so far
as I know, fairly easy. The extension of intervals to complex values
is another issue, but I don't know that significance arithmetic really
does better. My understanding is that complex numbers as intervals
can be done by enclosures that are 2-D in the complex plane (e.g.
circles, rectangles, or some other shapes) or a design in which the
real and imaginary parts are expressed as separate intervals. I expect
that the Mathematica significance version is more like the latter, in
which case it shouldn't make much difference in ease of implementation.
Is there a place where this distinction is explained? Besides which,
if Mathematica allows Interval[{}] data, don't you have to write the
program, anyway?

>
> A drawback, relative to interval arithmetic, is that as a first-order
> approximation, in terms of error propagation, significance arithmetic
> breaks down at low precision where higher-order terms can cause the
> estimates to be off. I will add that, at that point, intervals are going
> to give results that are also not terribly useful.

An advocate of interval arithmetic (and at least for the moment I will
take this position :) ) would say that interval arithmetic guarantees
a valid answer. That is, the answer is inside the interval. Sometimes
the interval may be very wide, even infinitely wide. But it contains
the answer. Not so for significance arithmetic. While it may be
appropriately modest for the documentation for N[] to say that
N[expr,n] >>>attempts<<< to give a result ... This is not really
what interval arithmetic does. It guarantees...

>
> I'm not sure what are the refereed articles referred to above. I suspect
> they do not disagree in substantial ways with what I wrote though. That
> is to say, error estimates may be too conservative, and at low precision
> results may not be useful.

There are a few references in the Wikipedia article. There are a few
rants that you can find via Google. I think the interaction of
significance arithmetic and testing for equality / comparison in
Mathematica is potentially hazardous, in large part because it can do
bad things quite invisible to the user. I do not know of a simple
consistent way of fixing this. While I haven't thought about this in a
while, the last time I did, I found it necessary to keep backing out of
pieces of the Mathematica arithmetic design quite far. (like a
retrenchment of significance arithmetic!)
>
> Fixed precision has its own advantages and disadvantages in terms of speed,
> error estimation, and the like. We certainly use it in places, even if
> significance arithmetic is the default behavior of bignum arithmetic in
> top-level Mathematic. For implementation purposes we use both modes.

Yes.
>
>
>>> Mathematica applied to real problems is pretty good here.
>>
>> Maybe, but is "pretty good" the goal, and the occasional identified
>> errors be ignored?
>
> We do try to fix many bugs that are brought to our attention. We have a
> better track record in some areas than others. I have no reason to
> believe that numerics issues have received short shrift though.

I appreciate that you try to fix errors. I appreciate that you engage
in such discussions!
>
>
...
RJF

appendix, timing.

Timing[(z = 1.11111111111111111; Do [z = 2*z - z, {3600}]; z)]
takes 0.0156 seconds. It gives the answer 0 * 10^1700,

Timing[(z = 1.111111111111; Do [z = 2*z - z, {3600}]; z)]
takesl 0.0156 seconds. It gives the right answer, 1.11111..

Timing[(z = Interval[1]; Do [z = 2*z - z, {3600}]; z)]
takes 0.0625 seconds. It gives the correct answer, Interval[{1,1}].

Slower by a factor of 4. If intervals were economically
represented and efficiently manipulated, I expect that one could
get a factor of 4 back.











.



James Stein

unread,
Jun 2, 2013, 12:26:06 AM6/2/13
to

Mark McClure

unread,
Jun 2, 2013, 12:23:23 AM6/2/13
to
On Sat, Jun 1, 2013 at 6:27 AM, Richard Fateman <fat...@cs.berkeley.edu> wrote:
> On 5/31/2013 12:16 AM, Andrzej Kozlowski wrote:

>> Naive users of Mathematica practically never use arbitrary
>> precision arithmetic.
>
> Practically never, but occasionally? Like slightly pregnant?

While I'd prefer to steer clear of the majority of this morass, I do
have one data point that might be useful. In fact, I wrote the
following on sci.math.symbolic back in 2008:
>>>> I've been teaching undergraduate students to solve numerical
>>>> problems in calculus, differential equations, linear algebra, and
>>>> more recently numerical analysis using Mathematica since version
>>>> 1.2 and I don't believe I've ever seen the types of problems you
>>>> describe arise in that setting.

Well, that was five years ago and, as I've continued to teach with
Mathematica and even developed a course *on* Mathematica, I can now
expand on that a bit. I have now seen a novice user develope some
serious confusion due to unexpected behavior surrounding significance
arithmetic - once.

Incidentally, the significance arithmetic was triggered, not by one of
RJF's standard tricks, but by a simple bug. In versions 6 and 7 of
Mathematica, entering AiryA[0.0] yielded a non-machine number with
Precision $MachinePrecision, rather than a machine number with
Precsion MachinePrecision. I was studying the structure of Julia sets
of Airy functions with an undergraduate research student and, as you
might imagine, it was, uhmm, inconvenient to iterate with
high-precision numbers. Danny can verify the bug at least, as he
fixed it.

Finally, the main reason I find this debate so uninteresting is that
it is just simple observation that loads of people are doing good
numerical work with Mathematica. We have better things to talk about.

Mark McClure

Andrzej Kozlowski

unread,
Jun 2, 2013, 12:23:43 AM6/2/13
to
I have to repeat what I have written many times already: the main reasons why I now generally do not respond to RJF's posts are

1) nothing new ever comes up
2) we are always arguing always cross purposes

I think I know why the first happens, but this time, out of politeness, I won't say. As for the second, I can only speculate. Perhaps our minds work so differently that even when we use the same words we invariably have different things in mind. Anyway, I don't have the time to go RJF's latest reply line by line so I will just consider a short sample, which, I think, illustrates my point pretty clearly.


On 1 Jun 2013, at 02:05, Richard Fateman <fat...@cs.berkeley.edu> wrote:
>>
>> 1. Significance arithmetic, being a (faster) version of interval
>> arithmetic, can be useful when used by people who understand it and that
>> it is used quite reliably by many built-in Mathematica functions such as
>> NSolve (and also Solve).
>
> I doubt that I said this. I probably said (since I believe it to be the
> case) that internal to routines in Mathematica, the default significance arithmetic is bypassed, essentially by separately computing
> the precision of intermediate results and imposing that on the numbers in an iteration. In other words, these routines work IN SPITE OF
> significance arithmetic, not because of it.

A number of times Daniel Lichblau explained to you how significance arithmetic is used in his implementation of numerical Groebner Basis, which is a fundamental tool in NSolve. I believe is also used in some aspects of Solve and Reduced implemented by Adam Strzebonski (although it is possible that interval arithmetic is use instead, possibly both are). Daniel has even pointed out that nobody has been able to implement a working version using fixed precision, although a whole book and at least one doctoral thesis has been written on this topic. You have known about it a long time and never realy try to challenge Daniel's assertions (well, how could you, what do you know about this sort of stuff). At most, you try to deny the importance of the Groebner Basis approach itself, again, not based on any deep knowledge or experience.

>
>> 2. It is easy to switch to fixed precision arithmetic whenever one wants
>> with a simple usage of Block.
>
> If you switch to fixed precision, then you have to know what
> the precision should be fixed at. Numerical analysts have some techniques for doing this, and these techniques can be implemented
> in Mathematica, and have been, in some internal routines, by
> clever people. But Mathematica documentation would lead you to
> believe that Mathematica does the right thing by default. This
> is, in general, false. As you see by the example you quote, from me!

Significance arithmetic, when used properly, can accomplish most of the same things that Interval arithmetic can do, and it can do it automatically. Here is an example (due to Maxim Rytin): proving that a expression is non-zero.

N[Sum[E^(-(1/2 - k)^2/2) + E^(-k^2/2), {k, -12, 12}] - 2*Sqrt[2*Pi], 10]

3.955157333*10^-34

Accuracy[%]

43.4028

Here we see that the accuracy of the result is greater than 43 and so the absolute error is less than 10^-43, therefore the result is mathematically proved to be different from zero. (Of course this is assuming that significance arithmetic does work the way it is supposed to work. Also, exactly the same thing can be achieved by using Interval but more more slowly).

>>
>
>
> The damage, however, is to the user who believes the Significance
> arithmetic when it does not deserve to be believed.

See the example above.
>
>> one: in non standard analysis one has infinitely many "infinitely
small
>> numbers" x such that n x <1 for every positive integer n.
>
> OK, If I want to model that I should definitely not use significance
> arithmetic. The zero-ish number z below has the property than
> z==0
> Rationalize[z] is 0
> yet z<1 is false.

This is one of many examples of "cross purpose" arguing. I was not discussing implementing non-standard analysis at all. My point was that that there is nothing logically more dubious about a finite "number" x such that x+1=1 than there is about a positive "number" x such that nx< 1 for every positive integer n, or, alternatively, finite "number" x such that x/n >1 for every positive integer n. Mathematicians often use the word "number" when referring to objects belonging to some "extension" of the real line.

The use of such things is justified purely by usefulness and both non-standard analysis and significance arithmetic are useful. Also, everything that can be done using these tools can also be done without them but at the cost of more work and less intuitive approach.

In other words, everything I wrote concerned an analogy between two approaches: one in mathematics the other in Mathematica. I can't imagine how you managed to misinterpret it but I am certainly no longer surprised.


>
>
> This is both
>> logically sound and very useful in practical proofs and computations.
>> Exactly the same is true of "fuzz balls".
>
> I don't see how this relates to Mathematica. There are many algebraic
> systems possible. Mathematica deals with just a few, like the Ring
> of integers, the Field of rational numbers, some modular stuff, Polynomials and Rational Functions, Matrices, floats as a model
> of reals, principally. complex numbers, and a bunch of other
> stuff including Log, Exp, graphics stuff, maps, whatever.
> Someone may have written a package for non-standard analysis, but
> if so, probably did not use software extended precision.

Again the same thing. So I think this illustrates my point and is a good place to stop.

Andrzej Kozlowski

David Bailey

unread,
Jun 2, 2013, 12:24:45 AM6/2/13
to
On 27/05/2013 09:21, John Doty wrote:
> I'm another Mathematica old-timer. In early versions, Mathematica had a simple basic vocabulary of definitions, augmentable by "add-ons". This was a good thing. The basics could be covered by an actual book you could hold in your hand. But now, Mathematica has a vast flat vocabulary supported by vast flat documentation. This is not a big problem for those of us who are already familiar with it, but I can't see how a new user can cope.
>
This is a very valid criticism, and indeed, one reason I stopped giving
introductory Mathematica courses, was that the language had become so
big, that I couldn't possibly cover even a "basic subset" of its
functionality.

Certain weed killers operate by promoting wild uncoordinated growth -
which kills the plant.

The sheer range of functions available, can give rise to some ludicrous
misconceptions. For example, I came across one person who was using
SelectionEvaluate as his way of "calling a function in another notebook"!

At the very least, someone needs to classify the functions in some way
so as to ease the burden on the beginner. The classification tags could
include:

Foundation
Programming
Basic maths
Notebook manipulation
<Various domain specific topics>

The tags might also contain some indication of the level of
sophistication expected - beginner, intermediate, advanced.

Users might even find it helpful to hide functionality that they decided
was not appropriate to them. This might have solved the example I gave
above.

David Bailey
http://www.dbaileyconsultancy.co.uk


Waclaw Kusnierczyk

unread,
Jun 3, 2013, 3:24:23 AM6/3/13
to

Folks,

As allegedly Eleanor Roosevelt said, "Great minds discuss ideas; average
minds discuss events; small minds discuss people."

Most of your points are very interesting, but it would be great to
discuss Mathematica, not its users, whether delighted and disappointed.

Best,
vQ

Richard Fateman

unread,
Jun 3, 2013, 3:24:44 AM6/3/13
to
On 6/1/2013 9:23 PM, Andrzej Kozlowski wrote:
> This is one of many examples of "cross purpose" arguing. I was not
> discussing implementing non-standard analysis at all. My point was
> that that there is nothing logically more dubious about a finite
> "number" x such that x+1=1 than there is about a positive "number" x
> such that nx< 1 for every positive integer n, or, alternatively,
> finite "number" x such that x/n >1 for every positive integer n.
> Mathematicians often use the word "number" when referring to objects
> belonging to some "extension" of the real line.

Oh where to start. Here's one place.

You say it is ok to have a number x such that x+1=1. I agree.
I say it is NOT ok to have a number x such that x+1=x.
You respond
It is ok to have a number x such that x+1=1.
Can you see the difference?



Here's another.

AK says DanL says he wrote programs using significance arithmetic and
they worked.

There are other places in Mathematica in which significance
arithmetic MUST NOT be used. Convergent iterations, generally.
Will naive users be led astray by this kind of situation?
Maybe.

Also is the Grobner basis program in Mathematica the fastest?
I suspect it is not, though I have not compared it to Faugere's
work, or other unnamed systems. Is it the only one using significance
arithmetic? I suspect it is. What would that prove? What
would that prove about use as a default?

Finally, I would remind AK (and others)
that proving some number of correct results
does not prove an algorithm is correct. Proving even one incorrect
result demonstrates a bug.

RJF

Richard Fateman

unread,
Jun 3, 2013, 3:25:04 AM6/3/13
to
On 6/1/2013 9:22 PM, David Bailey wrote:
> On 01/06/2013 11:06, Richard Fateman wrote:
>>
>> I have no objection to a data type that might reasonably be called
>> Vector, or perhaps Sequence, that implements a data structure that uses
>> sequential storage. I object to calling it List.
>
> Indeed, the essence of your criticism seems to be merely that
> Mathematica gives a slightly different technical meaning to the English
> word 'List' than that of Lisp!

No, my point, though I may have worn it out with repetition, is that
using Mathematica for computer science, or implying that it represents
computer science best practices has many hazards. One of which is that
it misuses common terms in ways that are wrong. For example List
is used for a vector or array.
>
> If the head of a Mathematica list was LinkedList, you might have a
> point, as it is, your criticism is absurd.

It would be perfectly reasonable to believe that List in Mathematica is
implemented as a linked list. See for example Append, Prepend, Rest.

> I might as well claim that
> either the physics concept of field or the pure maths concept of a field
> is wrong because they are not the same!

Actually it is not analogous. Let us say that you wrote a math text and
decided that YOUR book would not use the ordinary math definition of
field, but would use field to denote, say, quotient ring. Then proved
a bunch of theorems about fields, theorems that were true of quotient
rings but generally FALSE about the "usual math" field.
That would be more like it.

Not too many people would be confused by the use of field as in "field
of corn" and an algebraic system.

>
> If anything, Mathematica's use of the term 'List' is a little closer to
> its English meaning, in as much as you can access its elements in random
> order - just as you can with a shopping list!

Ah, that would make it right, do you think? That your math text which
defines field as a quotient ring also says (oh by the way, fields in my
text book are usually green, so my definition is better...)

>
> John McCarthy didn't get to coin the computer science meaning of the
> word 'List' for ever more!

Of course not. It was in use well before Lisp. I don't know the
earliest use, but IPL-V used it (look it up on wikipedia), circa 1954.
The notion of linked list is kind of implicit in machine architectures
with indirect addressing.

Indeed, perhaps the very fact that he chose
> the word 'List', rather than something more descriptive like 'Chain'
> meant that he wanted people to concentrate on what it represented,
> rather than just on how it was implemented.

Perhaps. We cannot ask the late John McCarthy. However, it is more
likely that he was merely using the conventional term at the time.
The implementers of Lisp were not very big on abstraction in the
language per se. After all, CAR and CDR, operations that we would
call first() and rest() were named for acronyms addressing parts
of a machine register.

I suggest you learn more about Lisp if you wish to comment on it.

RJF
>


Joe Gwinn

unread,
Jun 3, 2013, 3:26:27 AM6/3/13
to
In article <koehbr$2s6$1...@smc.vnet.net>, Mark McClure
I have to chime in here, with a story that well predates Mathematica:

In my first job, circa 1970, I learned Fortran, and was writing a
program to convert a tape written on a 16-bit machine to the 36-bit
format of the Univac 1108 mainframe. I had endless trouble with the
Univac Field() function, which allowed access to defined subfields of a
36-bit word, the the bit level. Field() could appear on either side of
the equals sign, and so was perfect for reformatting tape data. I
struggled for a week, then asked my boss, who laughed and said that the
Field function was known not to work. Oh.

I subsequently took a course on 1108 assembler language, and when I
returned the first program I wrote was an assembly-coded fortran
function that did the needed bit twiddling, the twiddling that Field()
couldn't do.

The point being that any large software entity will have errors, and
yet life goes on.

Joe Gwinn

Richard Fateman

unread,
Jun 3, 2013, 3:25:26 AM6/3/13
to
On 6/1/2013 9:23 PM, Mark McClure wrote:
....

>
> Well, that was five years ago and, as I've continued to teach with
> Mathematica and even developed a course *on* Mathematica, I can now
> expand on that a bit. I have now seen a novice user develope some
> serious confusion due to unexpected behavior surrounding significance
> arithmetic - once.

OK. Introductory courses on Mathematica that don't even mention
extended floats and significance arithmetic are perhaps not exploring
a major part of the system that goes beyond what is available in
ordinary numeric systems (whose names may not be mentioned here).
That is, using Mathematica to execute machine-hardware arithmetic
only is fairly safe, but also unremarkable.
>
> Incidentally, the significance arithmetic was triggered, not by one of
> RJF's standard tricks, but by a simple bug. In versions 6 and 7 of
> Mathematica, entering AiryA[0.0] yielded a non-machine number with
> Precision $MachinePrecision, rather than a machine number with
> Precsion MachinePrecision.

If you are able to entirely shield your users from a mistaken transition
to extended precision, that might be good. However a serious
user, not under the protective umbrella of your introductory course,
might stumble into the pit. I think we can hope that students in
classes will have appropriate corrective influences surrounding them. It
is the people trying to break new ground (maybe graduate students and
above) who can get into mysterious difficulties.


> I was studying the structure of Julia sets
> of Airy functions with an undergraduate research student and, as you
> might imagine, it was, uhmm, inconvenient to iterate with
> high-precision numbers. Danny can verify the bug at least, as he
> fixed it.

I can imagine. However, how many Mathematica users would find it
puzzling? How many people reading this note right now on mathgroup
would find it puzzling?

>
> Finally, the main reason I find this debate so uninteresting is that
> it is just simple observation that loads of people are doing good
> numerical work with Mathematica. We have better things to talk about.

Actually the "other side" of the debate is that it is hazardous
to do numerical work with Mathematica' non-machine floats. And if
you are just using ordinary machine floats, the justification for
using Mathematica because somewhat less cogent.
>
> Mark McClure
>


Andrzej Kozlowski

unread,
Jun 3, 2013, 11:11:20 PM6/3/13
to

On 3 Jun 2013, at 09:34, Richard Fateman <fat...@cs.berkeley.edu> wrote:

> On 6/1/2013 9:23 PM, Andrzej Kozlowski wrote:
>> This is one of many examples of "cross purpose" arguing. I was not
>> discussing implementing non-standard analysis at all. My point was
>> that that there is nothing logically more dubious about a finite
>> "number" x such that x+1=1 than there is about a positive "number" x
>> such that nx< 1 for every positive integer n, or, alternatively,
>> finite "number" x such that x/n >1 for every positive integer n.
>> Mathematicians often use the word "number" when referring to objects
>> belonging to some "extension" of the real line.
>
> Oh where to start. Here's one place.
>
> You say it is ok to have a number x such that x+1=1. I agree.
> I say it is NOT ok to have a number x such that x+1=x.
> You respond
> It is ok to have a number x such that x+1=1.
> Can you see the difference?

Yes, I was careless about this, but that was because it does not really
matter. It is O.K. to extend the real line to an algebraic and
topological sturcture which contains objects such x such that x+1=x.
Of course such objects do not have inverses, so you can't conclude that
0=1. Admittedly, in Mathematica the underlying logic is obscured by
the fact that it equality is not identity, so you do have

1`0 == 1

True

1`0 == 0

True

but

1`0 == 0

True

All this means that equality is a non-transitive relation on this
extended set of objects (but identity is). That is also logically
perfectly sound.

>
>
> Also is the Grobner basis program in Mathematica the fastest?
> I suspect it is not, though I have not compared it to Faugere's
> work, or other unnamed systems. Is it the only one using significance
> arithmetic? I suspect it is. What would that prove? What
> would that prove about use as a default?

This is nonsense. Faugere does not work on numerical analysis and has
not implemented a numerical Groebner basis. Other people have worked on
approximate Grobener bases using fixed precision arithmetic but (as far
as I know) there are no working implementations available.

Groebner bases with exact coefficients are an entirely different
subject, unrelated to this discussion.


>
> Finally, I would remind AK (and others)
> that proving some number of correct results
> does not prove an algorithm is correct. Proving even one incorrect
> result demonstrates a bug.
>

You have never demonstrated one incorrect result proved by Mathematica.

AK


Andrzej Kozlowski

unread,
Jun 3, 2013, 11:11:00 PM6/3/13
to


On 3 Jun 2013, at 17:01, Richard Fateman <fat...@eecs.berkeley.edu> wrote:

> On 6/3/2013 3:05 AM, Andrzej Kozlowski wrote:
> >
>
> > On 3 Jun 2013, at 09:34, Richard Fateman
>
> <fat...@cs.berkeley.edu>
>
> > wrote:
>
>
> >
>
>
> >> On 6/1/2013 9:23 PM, Andrzej Kozlowski wrote:
>
>
> >>> This is one of many examples of "cross purpose"
> arguing. I was
>
>
> >>> not discussing implementing non-standard analysis at
> all. My
>
>
> >>> point was that that there is nothing logically more
> dubious about
>
>
> >>> a finite "number" x such that x+1=1 than there is
> about a
>
>
> >>> positive "number" x such that nx< 1 for every
> positive integer n,
>
>
> >>> or, alternatively, finite "number" x such that x/n
> >1 for every
>
>
> >>> positive integer n. Mathematicians often use the word
> "number"
>
>
> >>> when referring to objects belonging to some
> "extension" of the
>
>
> >>> real line.
>
>
> >>
>
>
> >> Oh where to start. Here's one place.
>
>
> >>
>
>
> >> You say it is ok to have a number x such that x+1=1. I
> agree. I
>
>
> >> say it is NOT ok to have a number x such that x+1=x. You
> respond It
>
>
> >> is ok to have a number x such that x+1=1. Can you see the
>
>
> >> difference?
>
>
> >
>
>
> > Yes, I was careless about this, but that was because it does
> not
>
>
> > really matter. It is O.K. to extend the real line to an
> algebraic and
>
>
> > topological sturcture which contains objects such x such that
> x+1=x.
>
> So such systems have the AK seal of approval. Argument settled??
>
> Since such objects do not satisfy the necessary axioms for real numbers, they cannot be part of the real line.

Surely, you must be joking Mr. Fateman. Really. Whoever suggested that
they are elements of the real line? When I mentioned non-standard
analysis you reacted as if you knew what it was, but now it seems you
have no idea. Infinitely small and infinitely large quantities that
appear in non-standard analysis also do not belong to the real line,
because the reals satisfy the Archimedean Property and infinitesimals do
not. But they belong to a non-Archimedean field which contains the
reals. It turns out that you can translate any argument that uses
infinitesimals (elements of the non-Archimedean extension) into a valid
one which uses only reals. Thus using non-standard analysis is only a
convenience - it shortens proofs and computations and will never lead to
incorrect answers.

In a quite different context, the same is true of interval arithmetic.
Everything done with intervals can be proved by arguments that do not
refer to real numbers. Intervals simply provide a tool that is much more
convenient in certain situations.

Significance arithmetic is a first order approximation to interval
arithmetic - in a completely precise sense (essentially the same as
approximating the taylor series by its linear part). One can determine
mathematically the situation in which taking the linear part of a Taylor
expansion is the right thing to do; doing this sort of things goes back
to Newton. The fact that by using zero precision numbers you can get
strange looking answers (stange looking only to someone who does not
understand the above) does not prove anything.



>
> Computer algebra systems sometimes have to adopt models of an extension to the real line to accommodate
> certain calculations typically involving limits and division by zero or perhaps complex numbers. This
> extension may include +inf, -inf, and und (these may be 1/0, -1/0, and 0/0). There are other ways of
> doing this. Where to read about a design for such a system ? See the IEEE 754 binary float explanations.
>
> > Of course such objects do not
> have inverses, so you can't conclude
>
>
> > that 0=1.
>
> That is true, there is no number x such that inf + x == 0. inf+FiniteNumber is inf.
> It is usually somewhat discomforting to add to a system that used to be bound by the axioms of the reals,
> these exceptional numbers. But there are only a few.

You are simply proving again that you have the habit of discussing things you do not understand. In non-standard analysis you "add" to the real numbers uncountably many quantities that are "infinitesimally small" and "infinitely large". That's "quite a few".


>
>
> >> Also is the Grobner basis program in Mathematica the
> fastest? I
>
>
> >> suspect it is not, though I have not compared it to
> Faugere's work,
>
>
> >> or other unnamed systems. Is it the only one using
> significance
>
>
> >> arithmetic? I suspect it is. What would that prove?
> What would
>
>
> >> that prove about use as a default?
>
>
> >
>
>
> > This is nonsense. Faugere does not work on numerical analysis
> and has
>
>
> > not implemented a numerical Groebner basis. Other people have
> worked
>
>
> > on approximate Grobener bases using fixed precision
> arithmetic but
>
>
> > (as far as I know) there are no working implementations
> available.
>
>
> I think the goal of the numerical Groebner basis algorithms is to provide a fast computation
> of the exact results by using approximate numerics. If so it is not an entirely different subject.
> The numerical solution of systems of algebraic equations to find (one) solution IS a
> different task from finding them all.
> And of those researchers doing Groebner basis computations with numerical
> approximation, how does Mathematica compare?

It is hard to tell since I don't think there exists any implementation that could be used for comparison. This may be out of date, but Daniel should know. In his book on numerical polynomial algebra Stetter describes how this sort of thing might be done with fixed precision. He writes:

"Naturally, for large problems, or for small problems with long decimals, the computation may get
drowned in the swell of the integers. Anyway, it appears unreasonable to perform a computation in integer arithmetic only to round the result when it is obtained. Therefore, the development and the efficient and safe implementation of true floating-point GB-algorithms is still a central
research topic for numerical polynomial algebra. Kondratyev's Ph.D. thesis [10.3] represents a seminal first result in this direction."

However, a thesis is a thesis and a step from a thesis to a working implementation is not a trivial one. I rather doubt that it has been made.

Andrzej Kozlowski



Richard Fateman

unread,
Jun 3, 2013, 11:10:39 PM6/3/13
to
On 6/3/2013 3:05 AM, Andrzej Kozlowski wrote:
>
> On 3 Jun 2013, at 09:34, Richard Fateman <fat...@cs.berkeley.edu>
> wrote:
>
>> On 6/1/2013 9:23 PM, Andrzej Kozlowski wrote:
>>> This is one of many examples of "cross purpose" arguing. I was
>>> not discussing implementing non-standard analysis at all. My
>>> point was that that there is nothing logically more dubious about
>>> a finite "number" x such that x+1=1 than there is about a
>>> positive "number" x such that nx< 1 for every positive integer n,
>>> or, alternatively, finite "number" x such that x/n >1 for every
>>> positive integer n. Mathematicians often use the word "number"
>>> when referring to objects belonging to some "extension" of the
>>> real line.
>>
>> Oh where to start. Here's one place.
>>
>> You say it is ok to have a number x such that x+1=1. I agree. I
>> say it is NOT ok to have a number x such that x+1=x. You respond It
>> is ok to have a number x such that x+1=1. Can you see the
>> difference?
>
> Yes, I was careless about this, but that was because it does not
> really matter. It is O.K. to extend the real line to an algebraic and
> topological sturcture which contains objects such x such that x+1=x.
So such systems have the AK seal of approval. Argument settled??

Since such objects do not satisfy the necessary axioms for real numbers,
they cannot be part of the real line.

Computer algebra systems sometimes have to adopt models of an extension
to the real line to accommodate
certain calculations typically involving limits and division by zero or
perhaps complex numbers. This
extension may include +inf, -inf, and und (these may be 1/0, -1/0, and
0/0). There are other ways of
doing this. Where to read about a design for such a system ? See the
IEEE 754 binary float explanations.

> Of course such objects do not have inverses, so you can't conclude
> that 0=1.
That is true, there is no number x such that inf + x == 0.
inf+FiniteNumber is inf.
It is usually somewhat discomforting to add to a system that used to be
bound by the axioms of the reals,
these exceptional numbers. But there are only a few. 3. And they can
be easily explained and they
come up in limited circumstances. They indeed cause some difficulties,
and they are sometimes
excluded from certain kinds of systems entirely.

Mathematica has an infinitude of such numbers, and it means among other
things that equality
fails to be transitive, one of the fundamental axioms of many algebraic
and probably all reasonable
logical systems. In Mathematica: A==B and B==C implies A==C.
Is FALSE.


> All this means that equality is a non-transitive relation on this
> extended set of objects (but identity is). That is also logically
> perfectly sound.

So your response is, like Peewee Herman "I meant to do that!".

It is perhaps up to the users of Mathematica to decide if they are
comfortable with what you
consider a "logically perfectly sound" system like this. I find it
objectionable.

It means one can encounter a value for x such that x==4 is true but x>3
is false.

It is difficult to disentangle such peculiar results from the rest of
the arithmetic.

>>
>>
>> Also is the Grobner basis program in Mathematica the fastest? I
>> suspect it is not, though I have not compared it to Faugere's work,
>> or other unnamed systems. Is it the only one using significance
>> arithmetic? I suspect it is. What would that prove? What would
>> that prove about use as a default?
>
> This is nonsense. Faugere does not work on numerical analysis and has
> not implemented a numerical Groebner basis. Other people have worked
> on approximate Grobener bases using fixed precision arithmetic but
> (as far as I know) there are no working implementations available.

I think the goal of the numerical Groebner basis algorithms is to
provide a fast computation
of the exact results by using approximate numerics. If so it is not an
entirely different subject.
The numerical solution of systems of algebraic equations to find (one)
solution IS a
different task from finding them all.
And of those researchers doing Groebner basis computations with numerical
approximation, how does Mathematica compare?

>
>
> Groebner bases with exact coefficients are an entirely different
> subject, unrelated to this discussion.
>
>
>>
>> Finally, I would remind AK (and others) that proving some number of
>> correct results does not prove an algorithm is correct. Proving
>> even one incorrect result demonstrates a bug.
>>
>
> You have never demonstrated one incorrect result proved by
> Mathematica.
Right. Mathematica does not actually "prove" incorrect results. It
merely delivers them.

Solve[x+1==x,x] returns {}
yet
1`0 +1`0 == 1`0 returns True.

RJF




>
>
> AK
>
It is loading more messages.
0 new messages