Large collection of Mathematica and Wolfram Language-based books and references written by leading experts. Search by topic or language. Description. As both a highly readable tutorial and a definitive reference for over a million Mathematica users worldwide, this book covers every aspect of. This adaptation of Mathematica: A System for Doing Mathematics by Computer is the Offers a shorter and simpler version of the original book, leaving out.
|Language:||English, Spanish, Arabic|
|Distribution:||Free* [*Sign up for free]|
[email protected] In publications that refer to the Mathematica system, please cite this book as: Stephen Wolfram, The Mathematica Book, 5th ed. Bibliographic publication history of The Mathematica Book, the groundbreaking documentation for Mathematica software, with links to online versions. download The MATHEMATICA ® Book, Version 4 on podmimokongist.ga ✓ FREE SHIPPING on qualified orders.
People have seen interactive interfaces in lots of consumer software. The next, perhaps surprising thing I introduce in the book is image processing. And what people see are just functions—like Blur and ColorNegate —whose purposes are easy to understand.
I needed a sample image for the section, so, yes, I just snapped one right there—of me working on the book. Next I talk about strings and text. String operations on their own are pretty dry. Next I cover sound , and talk about how to generate sequences of musical notes. For example, the names of musical notes are specified as strings—so one has to have talked about strings before musical notes. By this point in the book, people already know how to do some useful and real things with the Wolfram Language.
So I made the next section a kind of interlude—a meta-section that gives a sense of the overall scope of the Wolfram Language, and also shows how to find information on specific topics and functions. Lots of real-world data involves units—so the next section is devoted to working with units. After that I talk about dates and times. The Wolfram Language is big. One of the important objectives in the book is to cover these ideas.
Of course, it helps a lot that the language can manipulate them directly, as just another example of symbolic objects. But even though the internal algorithms for machine learning are complicated, the actual functions that do it in the Wolfram Language are perfectly easy to understand.
Throughout the book, I try to keep things as simple as possible. Functional Programming The next few sections tackle the important and incredibly powerful topic of functional programming. In the past, functional programming tended to be viewed as a sophisticated topic—and certainly not something to teach people who are first learning about programming. I start by just talking more abstractly about the process of applying a function.
The big thing this does is set me up to talk about pure anonymous functions.
The next section is where some of the real power of functional programming starts to shine through. In the abstract, functions like NestList and NestGraph sound pretty complicated and abstract.
The next several sections cover areas of the language that are unlocked as soon as one understands pure functions. There are lots of powerful programming techniques that emerge from a smaller number of ideas. After functional programming, the next big topics are patterns and pattern-based programming.
What makes patterns so powerful in the Wolfram Language is something much more fundamental: the uniform structure of everything in the language, based on symbolic expressions.
If I were writing a formal specification of the Wolfram Language, I would start with symbolic expressions. And I might do the same if I were writing a book for theoretical computer scientists or pure mathematicians.
There are a few more pieces to put in place to get there. I talk about associations —and then I talk about natural language understanding. Internally, the way natural language understanding works is complex. OK, so now everything is ready to talk about deploying things to the web. It is often said that the release of Mathematica marked the beginning of modern technical computing. Ever since the s individual packages had existed for specific numerical, algebraic, graphical and other tasks.
But the visionary concept of Mathematica was to create once and for all a single system that could handle all the various aspects of technical computing in a coherent and unified way. The key intellectual advance that made this possible was the invention of a new kind of symbolic computer language that could for the first time manipulate the very wide range of objects involved in technical computing using only a fairly small number of basic primitives.
Mathematica was also hailed in the technical community as a major intellectual and practical revolution. At first, Mathematica's impact was felt mainly in the physical sciences, engineering and mathematics. But over the years, Mathematica has become important in a remarkably wide range of fields. Mathematica is used today throughout the sciences—physical, biological, social and other—and counts many of the world's foremost scientists among its enthusiastic supporters.
It has played a crucial role in many important discoveries, and has been the basis for thousands of technical papers. In engineering, Mathematica has become a standard tool for both development and production, and by now many of the world's important new products rely at one stage or another in their design on Mathematica.
In commerce, Mathematica has played a significant role in the growth of sophisticated financial modeling, as well as being widely used in many kinds of general planning and analysis. Mathematica has also emerged as an important tool in computer science and software development: its language component is widely used as a research, prototyping and interface environment. The largest part of Mathematica's user community consists of technical professionals.
But Mathematica is also heavily used in education, and there are now many hundreds of courses—from high school to graduate school—based on it. In addition, with the availability of student versions, Mathematica has become an important tool for both technical and non-technical students around the world. The diversity of Mathematica's user base is striking.
It spans all continents, ages from below ten up, and includes for example artists, composers, linguists and lawyers. There are also many hobbyists from all walks of life who use Mathematica to further their interests in science, mathematics and computing.
Ever since Mathematica was first released, its user base has grown steadily, and by now the total number of users is above a million. Mathematica has become a standard in a great many organizations, and it is used today in all of the Fortune 50 companies, all of the 15 major departments of the U. At a technical level, Mathematica is widely regarded as a major feat of software engineering.
It is one of the largest single application programs ever developed, and it contains a vast array of novel algorithms and important technical innovations. Among its core innovations are its interconnected algorithm knowledgebase, and its concepts of symbolic programming and of document-centered interfaces. After functional programming, the next big topics are patterns and pattern-based programming.
What makes patterns so powerful in the Wolfram Language is something much more fundamental: the uniform structure of everything in the language, based on symbolic expressions. If I were writing a formal specification of the Wolfram Language, I would start with symbolic expressions.
And I might do the same if I were writing a book for theoretical computer scientists or pure mathematicians.
There are a few more pieces to put in place to get there. I talk about associations —and then I talk about natural language understanding.
Internally, the way natural language understanding works is complex. OK, so now everything is ready to talk about deploying things to the web. And at this point, people will be able to start creating useful, practical pieces of software that they can share with the world.
Because in the Wolfram Language you can do an amazing amount—including for example deploying a complete web app—without ever needing to assign a value to a variable. But the last few sections of the book cover some important practical extensions.
And they provide an interesting example that makes use of many different ideas from the Wolfram Language. Essay Sections At the end of the book, I have what are basically essay sections: about writing good code , about debugging and about being a programmer.
My goal in these sections is to build on the way of thinking that I hope people have developed from reading the rest of the book, and then to communicate some more abstract principles. Structuring the Presentation I said at the beginning of this post that the book is essentially written as a conversation. There are several different types of questions. Some are about the background to it. Exercises Another part of most sections is a collection of exercises.
There are answers to all the exercises in the printed book at the back—and in the web version there are additional exercises. Writing the exercises was an interesting experience for me, that was actually quite important in my thinking about topics like how to talk to AIs. And by later in the book, I was often finding it much easier to write the Wolfram Language answer for an exercise than to create the actual exercise in English.
In a sense this is very satisfying, because it means we really need the Wolfram Language to be able to express ideas. Some things we can express easily in English—and eventually expect Wolfram Alpha to be able to understand.
A Book? At some level it might seem odd in this day and age to be writing a book that can actually be printed on paper, rather than creating some more flexible online structure.
Yes, one can have a website where one can reach lots of information by following links. Right now the book is available as a website , and for many purposes this web version works very well.
But somewhat to my surprise, I still find the physical book, with its definite pagination and browsable pages, better for many things.
It covers a lot of the core principles of the language—but only a small fraction of the very large number of specific areas of functionality. Generally I tried to include areas that are either very commonly encountered in practice, or easy for people to understand without external knowledge—and good for illuminating principles.
Of course, I was a little disappointed to have to leave out all sorts of amazing things that the Wolfram Language can do. Some Backstory I see my new book as part of the effort to launch the Wolfram Language.
And back in , when we first launched Mathematica , I wrote a book for that, too.