
Using Mathematica
Posted:
Aug 17, 2011 5:17 AM


There are many postings to MathGroup related to problems of exporting to or interfacing Mathematica with other applications. Although I recognize that there may be some cases where this is really useful (acquisition of data or interfacing with a supercomputer say), in most cases it is nothing more than exporting to a far inferior medium, or finding ways to organize technical work, which could be done perfectly well and even better within Mathematica .
Too many users are ready to jump ship before they have even learned to sail it. The problem with this is that it detracts from learning how to get the most out of Mathematica. It is such a new and powerful medium that none of us truly know how to use it to best advantage. How much time did it take us to learn how to think and write decently in our own language? How much more difficult is it to think about, develop and express technical ideas?
Mathematica has superb capabilities for computer algebra, graphics, active calculation, dynamics and textual discussion, presentation and formatting as coherent and elegant documents. With Workbench we have an excellent way to generate, preserve, document and organize technical material  say within a project or for a book. (Most day to day work can be done in Mathematica.) WRI has reasonable purchase options for anyone interested in math and science. Everyone should get it. If they don't want to, then it's "the happy few". There is no reason to go to inferior and outofdate media. There is no reason to restrict Mathematica use to being a "super programmable graphical calculator".
It's true that there are many hamfisted features on the fringes of Mathematica, Grid features that don't work properly, file saving in M8 that seems to have been bollix up by the advent of CDF (which I consider questionable and inadequate and now probably unnecessary) and Workbench has a lot of ragged behavior. They don't seem to have fully embraced it use outside of WRI documentation. But none of this is fatal and it can be fixed  with a little pressure from users.
Yesterday there was a question about composing a "book cover" with Mathematica. It's simple! We just lay down a piece of paper and write on it.
Here is a sample graphic for the cover, in this case a contour plot for a complex function. We only need to produce the primitives, not the entire plot.
<< Presentations`
contourprimitives =
With[
{f = Function[z, (z (z  1))/(z  I)],
zmin = (1 + I),
zmax = 1.75 (1 + I),
contourlist = {0, 0.1, 0.2, .5, 1, 2, 3, 4, 5, 6, 10, 20, 100,
500}},
ComplexCartesianContour[f[z], {z, zmin, zmax}, Abs,
Contours > contourlist,
ColorFunctionScaling > False,
ColorFunction > (ContourColors[contourlist,
ColorData["SolarColors"]][#] &),
ContourLabels > None,
PlotRange > {0, 500}]
];
Then we define a 6.75 by 9.5 piece of paper, write the various text items on it, and place the contour primitives by scaling and translating them to place. Finally we Magnify to the desired size.
Draw2D[
{Text[Style["My Wonderful Book", Bold, 28, FontFamily > "Times"], {0.3, 8}, {1, 0}],
Text[Style["Mr. Author", Bold, 14, FontFamily > "Times"], {0.3, 7.2}, {1, 0}],
contourprimitives // ScaleOp[1.5, {1, 1}] // TranslateOp[{2.25, 3}],
Text[Style["Acme Publishing", Bold, 8, FontFamily > "Helvetica"], {6, 0.5}, {1, 0}]},
PlotRange > {{0, 6.75}, {0, 9.5}},
Background > LightBlue,
ImageSize > 300] // Magnify[#, 6.75 72/300] &
David Park
djmpark@comcast.net
<http://home.comcast.net/~djmpark> http://home.comcast.net/~djmpark/

