Tell me more ×
Mathematica Stack Exchange is a question and answer site for users of Mathematica. It's 100% free, no registration required.

I have used Mathematica for several years but at a pretty low level - piecing together built-in function inefficiently and fearing the sight of # and &'s when I see others use them (I never do). I would like to improve my skills.

Which book would be best to read for someone familiar with Mathematica basics but would like to learn more sophisticated uses of Mathematica?

share|improve this question
2  
Shouldn't this question be in the main Mathematica site, since it's about Mathematica rather than about the Mathematica site? And I think it's a bit too general for an easy answer... – cormullion Feb 4 '12 at 12:46
@cormullion I don't think such questions are good for the main site... however, it's not a meta question either. While I'm glad that BeauGeste didn't ask it on the main site, I'm torn whether to leave this here on meta or close it – rm -rf Feb 4 '12 at 13:15
1  
I'd rather it be on main, but possibly CW... – J. M. Feb 4 '12 at 15:06
Meta discussion on book advice on Stackoverflow: meta.stackoverflow.com/q/113678/158668 – Sjoerd C. de Vries Feb 4 '12 at 18:59
After looking at other mains, I think this should be put on main in retrospect. I have tried to reword the question to make it more appropriate for main. – BeauGeste Feb 4 '12 at 21:18

We're looking for long answers that provide some explanation and context. Don't just give a one-line answer: please explain why you're recommending it as a solution. Answers that don't explain anything will be deleted. See Good Subjective, Bad Subjective for more information.

4 Answers

After having used Mathematica for a couple of years, more or less only to abuse it as a neat plotting and integral solving engine, Leonid Shifrin's Mathematica Programming was my first book that brought me closer to actually understanding how Mathematica works. I soon lost my fear of # & @ @@ @@@ /@ //@.

(Plus the book is free, and if you still need help: Leonid is a regular on this site.)

share|improve this answer
27  
+1 - Could not resist :) – Leonid Shifrin Feb 5 '12 at 21:41
+1 GREAT! I've always wanted to understand the # & @ @@ @@@ /@ but they always said me to read Mathematica's documentation, but I never understood from there. – Gustavo Bandeira Jun 18 '12 at 3:16

Easily one of the best books ever written on Mathematica is David Wagner's Power Programming with Mathematica: The Kernel.

It was written more than ten years ago at a time when version 3 of Mathematica was current but is every bit as much relevant today as it was then since the foundation on which Mathematica is built has not changed that much over the intervening years.

Unfortunately the book is out of print and it may be difficult to locate a used copy ... a university library however should be able to obtain a copy easily through inter-library loan. This beautifully written book is well worth the trouble of tracking it down.

As an aside question: does anyone know where David Wagner is today?

EDIT

In the interest of completeness, Wellin's An Introduction to Programming in Mathematica is also worth mentioning here (nice section on front-end programming and provides example of a complete DSL implementation in Mma) in addition to Maeder's Computer Science with Mathematica (especially helpful for those trying to use Mma in a OOP style), Mangano's Mathematica Cookbook (full of in-depth recipes for a multitude of concrete problems), Wagon's Mathematica in Action (focused on solving mathematical problems in Mma many of a recreational nature) and Trott's four-volume Guidebooks on Numerics, Programming, Symbolics, and Graphics (which includes thousands of pages of examples of Mathematica being used to solve a wide range of different problems with in-depth discussion and demonstration of Mma programming language features).

There are of course many more Mma books out there. These are just some of the titles that I've found most useful over the last decade or two using Mathematica.

share|improve this answer
2  
This book was my primary source of mma knowledge, although I already knew a few things before getting it. I keep recommending it on SO and here. As to David Wagner himself, I tried to get some traces of him, but wasn't successful. He somehow disappeared around 1996 or so, and did not finished his second volume, which was supposed to cover MathLink. I hope he is alive. It might be that he quit from any Mathematica - related activities completely, and is doing something different now. – Leonid Shifrin May 2 '12 at 8:50
Unfortunately there is a dearth of publicly available information on the deep inner-workings of the Mathematica kernel and the front-end. An authoritative reference from Wolfram would obviously be welcomed by much of their target audience (as forums like this one easily prove) and I hope Wolfram will consider publishing one in the near future after finding a way to protect their intellectual property in the process. Until then, we can refer to our photocopies of Wagner (for kernel-related matters at least). – StackExchanger May 2 '12 at 20:28
1  
I proudly own the original book (not the photocopy) :). I bought it from Amazon for $40 in 2004, now it is usually much more expensive there (when available). And I had no idea what I was buying, at the time - had no access to it prior to that. – Leonid Shifrin May 2 '12 at 20:30
Just visited your website for the first time ... lots of fantastic stuff in there that should keep me busy for a while. Thanks for making this so easily available to the rest of us. – StackExchanger May 4 '12 at 7:34
Thanks! I am at work on another book with much more material and different organization, but with the current volume of work it's hard to put any time frame on that. The book you refer to is more aimed at a beginner or somewhat intermediate level. I wrote it 4 years ago, and didn't do much with it or the web site since about 3 years ago (which is a shame). – Leonid Shifrin May 4 '12 at 7:39

I really don't like to read old books, but these days, following @Leonid advice, I start to read Stephen Wolfram's The Mathematica Book (version 5.2). It can be downloaded for free here. I strong recommend it for everybody that wants to have a deeper understand of Mathematica. Even though the program is currently in version 9, the core operations are almost the same.

enter image description here

share|improve this answer

I would recommend -

  • The Student's Introduction to MATHEMATICA :A Handbook for Precalculus, Calculus, and Linear Algebra
  • Programming with Mathematica by Paul Wellin.
  • Leonid Shifrin's Mathematica Programming

Also don't forget the documentation available online, particularly the pdf on the core language.

In response to comments below. I only started learning Mathematica and in particular how to program mathematica in the last few months but i have a background in C/C++/Java. The first book listed above i found to be an excellent general introduction to mathematica that covers a lot of the basics and gets you going in how to use it to solve problems in calculus, linear algebra etc, the final chapter is also a very good introduction to programming mathematica. I found Paul Wellins book to be a very good follow on from this, its goes into much more detail on the programming side and if you work thru the problems at the end of each chapter/section you really learn a lot. IF you work your way thru Paul Wellins book you will be well on your way to learning how to program mathematica and you will also get much greater insight into just how powerful mathematica is a tool.

Regards David.

share|improve this answer
2 of the three you listed were already mentioned in other answers. Please make sure that suggestions are not being duplicated. As for the remaining one, please explain why you recommend it, as that is what will help future visitors make an informed decision. – rm -rf Feb 16 at 1:03
@rm-rf This QandA is evolving strangely. Some answers are heading towards being one person's recommendations of a few books, rather than a single book. But then should answerers add their opinions about a book to the other post - could get messy if individual paragraphs of an answer are different people's opinions. – cormullion Feb 16 at 8:17

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.