Message Boards Message Boards


Mathematica beyond mathematics

Posted 4 years ago
12 Replies
13 Total Likes

For the past 25 years I’ve been conducting Mathematica seminars and teaching students how to develop applications using the program in a wide variety of campuses. These experiences have taught me several things:

i. A majority of both experienced users and newcomers, still think erroneously that Mathematica is mostly a language for solving symbolic math problems.

ii. Plenty of long-term users are not aware of many of the new capabilities that that have been added to the program over the years.

iii. The number of functions available has grown enormously and now there are more than 6,000. With so many functions, it very time consuming to learn about them using the extensive Wolfram documentation.

I decided to address these issues and show that the program has capabilities that go beyond math calculations writing a book (Mathematica beyond mathematics). Throughout the text, Mathematica’s features, including of course the latest ones, are introduced while solving problems in many different fields such as: astronomy, biology, chemistry, economics, finance, geography, linguistics and nuclear physics among many others (See Contents) . When choosing the problems, I have relied on my own experience and also modified a few selected examples from Wolfram Research vast information resources. At the end of each chapter there’re also additional sources to further explore the topics. I have also strived to avoid writing too complicated programs and except in a reduced number of cases, all the examples contain just a few lines of code.

12 Replies

Looks like a great book.

About (iii), I see from the table of contents that this is a big book. To learn Wolfram Language, you are probably not suggesting to read the whole book, but it is enough to do chapters 1-3 (and maybe skip part of 3). One doesn't need to learn 6000 functions. I am wondering how many functions do you think someone needs to learn?

Out of curiosity, are you planning to make a Spanish version?

Your question doesn't have a precise answer. The book shows how a newcomer can start to use the language without knowing any functions (using the natural language and Wolfram Alpha). However some knowledge is recommended. I think even advanced users can find funny the examples used. In the book are used about 1000 functions, and the most important: the user will have learnt how to browse to find an appropriate function for his case. Thank you. Guillermo

Posted 4 years ago

Which recent versions of Mathematica are covered by the book?


Math 11.0.1 (tested with 11.1)


Mathematica beyond mathematics. Tested with Math 11.1 and 11.2: Supplementary materials:

In fairness, it should be noted that in his presentations, Stephen Wolfram often emphasizes using Mathematica in various areas outside of mathematics proper; indeed, he sometimes almost grudgingly shows new mathematical features. See, e.g.:

Dear friend I have run all notebooks included in my book Mathematica Beyond Mathematics in Mathematica 11.3.0. I have updated the Mathematica beyond mathematics (it is necessary to modify only two functions using 11.3). Supplementary materials:

In this occasion I have found very few differences with the previous version. I would like to share these differences not only for my readers but also for all Mathematica users.

a) In Mathematica 11.3 in some occasions it could be necessary to include the WorkingPrecision NIntegrate[…., WorkingPrecision -> 10]

NIntegrate[PDF[NormalDistribution[0.49, 0.02], p]*PDF[BinomialDistribution[3030, p], 1515], {p, 0, 1}, WorkingPrecision -> 10] In Math 11.2 you can avoid to including WorkingPrecision

b) According to Mathematica support:"hanges in Import and Export of XLSX files have been implemented to highly improve performance. ...Our development team has decided to include the legacy functionality of previous versions as well,You can use the legacy importer with SheetsLegacy."

Example (included in my book): Import["bp-statistical-review-of-world-energy-2016-workbook.xlsx", {"SheetsLegacy", "Primary Energy Consumption "}];

c) I have found a problem in Dataset that I hoppe be fixed in a next version. Dataset[EntityValue[EntityClass["Particle", "Lepton"], {"Symbol", "Charge", "Mass"}, "EntityPropertyAssociation"]] (* Note, RowBox and FractionBox in the output if you use Math 11.3.0. *)

J. Guillermo Sanchez

Posted 1 year ago

Hi José,

Just to say, I'm thoroughly enjoying your book.

One thing confused me though: on pages 78 and 79, you define a list

list = {{a1, b1, c1}, {a2, b2, c2}, {a3, b3, c3}}

and then use replacement list /. {a, b, c_} -> a/(b + c) But this produces

{a1/(a2 + a3), b1/(b2 + b3), c1/(c2 + c3)}


{a1/(b1 + c1), a2/(b2 + c2), a3/(b3 + c3)}

as suggested should be the answer.

From my limited knowledge, I think it is because it sees a, b and c being the three lists inside rather than the elements of each list.

Am I on the right track?

Also, from a bit of research, I think this would cure the problem:

list /. {a_Symbol, b_Symbol, c_Symbol} -> a/(b + c)

Thank you for your time.


Thank you Paul

I have clarified this problem in the book web site:

The rule works fine except if the list has exactly the same size that the number of sublist, three in this case. You can test with a list with more than 3 sublist.*) type list={{a1, b1, c1}, {a2, b2, c2}, {a3, b3, c3}, {a4, b4, c4}};

To avoid this type of problems I suggest in the book use pure functions: e.g. (#1/(#2 + #3)) & @@@ list

But your proposal it is a good option

Or apply the rule to the right level.

Replace[list, {a_, b_, c_} -> a/(b + c), 2]

This option is explained later in the book, for this reason I avoid to use a function until the concept it has not been explained.

In any case supplementary material and corrections (very few it has been necesary) are available at


Posted 1 year ago

Guillermo, Rohit,

Thanks for both your replies. I am discovering there are usually quite a few ways to achieve something in Mathematica!



Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
or Discard

Group Abstract Group Abstract