MathGroup Archive 2008

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

Search the Archive

Re: Comparison between Mathematica and other symbolic systems

Paolo Bientinesi wrote:
> Hi everybody,
> As part of a presentation to students, I will have to support the
> claim that "Mathematica is better than other systems when it comes to
> symbolic computations". Some experts in other systems will be  
> giving a 15 min presentation to convince the audience of the contrary,
> and then it will be my turn.
> At this point I am quite clueless on how to make my point across.
> First of all, I am not at all familiar with any other system's  
> symbolic toolboxes, so I don't know what are the weaknesses. Also, I
> am not sure what kind of demo could really make an impression on
> graduate students and colleagues.
> Has any of you any experience on this? Ideas? Suggestions?

I expect that you already got several replies off-list, but here are a 
few more random tips (I won't attempt *comparing* Mathematica with other 
programs, I'll just highlight its strong points):

1. Don't present Mathematica as simply a computer algebra system.  There 
are other areas it is very good at.

In particular, it is very good at processing/transforming complex data 
sets, and it has very good plotting capabilities.

Here's a non-CAS oriented comparison of programs that also includes some 

2. Make sure that you focus on Mathematica's powerful pattern matching 
capabilities.  This is equally useful for both data processing and 
computer algebra.

Here's a demo on the latter:

You can also mention that Mathematica primarily (but not exclusively) 
uses the functional programming paradigm.  But 15 minutes are just not 
enough to explain what this means and why it is advantageous for certain 

3. Talk about how easy it is to create custom graphics.

Unlike in some other systems, where one uses instructions such as "draw 
a line from point 1 to point 2", graphics are defined declaratively. 
Just list a set of graphics primitives.  Here's a demo:

rotate90[{x_, y_}] := {-y, x}

koch[p1_, p2_, n_] :=
  {koch[p1, p1 + (p2 - p1)/3, n - 1],
   koch[p1 + (p2 - p1)/3, (p1 + p2)/2 + Sqrt[3]/6 rotate90[p2 - p1],
    n - 1],
   koch[(p1 + p2)/2 + Sqrt[3]/6 rotate90[p2 - p1], p2 - (p2 - p1)/3,
    n - 1],
   koch[p2 - (p2 - p1)/3, p2, n - 1]}

koch[p1_, p2_, 0] := Line[{p1, p2}]

  Graphics[koch[{0, 0}, {1, 0}, n]],
  {n, 1, 5, 1}

Graphics are expressions, too.  They can be transformed like any other 

Graphics[koch[{0, 0}, {1, 0}, 3]] /.
  Line[{p1_, p2_}] :> Circle[(p1 + p2)/2, Norm[p2 - p1]]

4.  Depending on your audience it might be a good or a bad idea to show 
that Mathematica is a fun program:  It can generate sounds as waveforms 
or even MIDI music:

5.  And of course browse the demonstrations to come up with ideas!

I am sure that everyone will appreciate Manipulate[].

  • Prev by Date: Re: Print A Math Formula In Formatted Notebook
  • Next by Date: Re: Automating file names in exporting data
  • Previous by thread: Re: RE: Comparison between Mathematica and other
  • Next by thread: Re: Comparison between Mathematica and other symbolic systems