There were ideas about curried “function decorator” forms, like PartAppliedFunction, PartwiseFunction, AppliedOnto, AppliedAcross and MultipartCurry.īut somehow when we explained the function we kept on coming back to talking about how it was operating on a subset of a list, and how it was really like Map, except that it was operating on multiple elements at a time.
There were ideas like ApplyAt (but it’s not really Apply) and MutateAt (but it’s not doing mutation in the lvalue sense), as well as RewriteAt, ReplaceAt, MultipartApply and ConstructInPlace. In a sequence of (livestreamed) meetings we went back and forth. But what should this particular “lump of computational work” be called? My initial working name was ArrayReplaceFunction (which I shortened to ARF in my notes). And I quickly realized that actually I could really have used this function in all sorts of places over the years. I started formulating what’s now SubsetMap about a year ago. SubsetMap effectively implements n n functions, picking up inputs from n specified positions in a list, applying some operation to them, then putting back the results at the same n positions. In areas like quantum computing, however, one’s interested instead in having n inputs and n outputs. ✕ ]įunctions are normally things that can take several inputs, but always give a single piece of output. And as a first example of what we’ve added in 12.0, here’s the rather colorful ComplexPlot3D: But overall, there are lots of things in lots of areas-and in fact even the basic summary of them in the Documentation Center is already 19 pages long:Īlthough nowadays the vast majority of what the Wolfram Language (and Mathematica) does isn’t what’s usually considered math, we still put immense R&D effort into pushing the frontiers of what can be done in math.
OK, so what’s new in 12.0? There are some big and surprising things-notably in chemistry, geometry, numerical uncertainty and database integration.
#Wolfram mathematica 7 pdf software#
So in addition to everything else, I suspect this makes Version 12.0 the very first major software release in history that’s been open in this way.
But one thing that’s new with 12.0 is that we’ve been letting people watch our behind-the-scenes design process- livestreaming more than 300 hours of my internal design meetings. Both these things have of course been building for three decades. What we’ve been able to do is a testament both to the strength of our R&D effort, and to the effectiveness of the Wolfram Language as a development environment. In my keynote at our Wolfram Technology Conference last October I summarized what we had up to that point-and even that took nearly 4 hours. I must say that now that 12.0 is finished, I’m amazed at how much is in it, and how much we’ve added since 11.3. I’ll discuss both types of functions in this piece, but I’ll be particularly emphasizing the specifics of what’s new in going from 11.3 to 12.0. In 12.0, perhaps half of our new functions can be thought of as finishing areas that were started in previous “.1” releases-while half begin new areas. But in every release we also want to deliver the latest results of our R&D efforts. In an “ integer release” like 12, our goal is to provide fully-filled-out new areas of functionality. Altogether there are 278 completely new functions, in perhaps 103 areas, together with thousands of different updates across the system: It’s a big jump from Version 11.3 to Version 12.0. Today we’re releasing Version 12 of Wolfram Language (and Mathematica) on desktop platforms, and in the Wolfram Cloud. Version 12 Launches Today! (And It’s a Big Jump for Wolfram Language and Mathematica) Version 12 Launches Today! (And It’s a Big Jump for Wolfram Language and Mathematica) April 16, 2019 Software Engineering & Platform Updates.Blockchain (and CryptoKitty) Computation.Simulated Environments for Machine Learning.Calling the Wolfram Language from Python & Other Places.Integrating Big Data from External Databases.Lots of Little Visualization Enhancements.Going Super-Symbolic with Axiomatic Theories.