WOLFRAM

Mathematica News

Announcements & Events

New in 13.1: College and Fractional Calculus

Last year we released Version 13.0 of the Wolfram Language. Here are the updates in college and fractional calculus since then, including the latest features in 13.1.

 

College Calculus

Transforming college calculus was one of the early achievements of Mathematica. But even now we’re continuing to add functionality to make college calculus ever easier and smoother to do—and more immediately connectable to applications. We’ve always had the function D for taking derivatives at a point. Now in Version 13.1 we’re adding ImplicitD for finding implicit derivatives.

So, for example, it can find the derivative of xy with respect to x, with y determined implicit by the constraint x2 + y2 = 1:

&#10005

Leave out the first argument and you’ll get the standard college calculus “find the slope of the tangent line to a curve”:

&#10005

So far all of this is a fairly straightforward repackaging of our longstanding calculus functionality. And indeed these kinds of implicit derivatives have been available for a long time in Wolfram|Alpha. But for Mathematica and the Wolfram Language we want everything to be as general as possible—and to support the kinds of things that show up in differential geometry, and in things like asymptotics and validation of implicit solutions to differential equations. So in addition to ordinary college-level calculus, ImplicitD can do things like finding a second implicit derivative on a curve defined by the intersection of two surfaces:

&#10005

In Mathematica and the Wolfram Language Integrate is a function that just gets you answers. (In Wolfram|Alpha you can ask for a step-by-step solution too.) But particularly for educational purposes—and sometimes also when pushing boundaries of what’s possible—it can be useful to do integrals in steps. And so in Version 13.1 we’ve added the function IntegrateChangeVariables for changing variables in integrals.

An immediate issue is that when you specify an integral with Integrate[...], Integrate will just go ahead and do the integral:

&#10005

But for IntegrateChangeVariables you need an “undone” integral. And you can get this using Inactive, as in:

&#10005

And given this inactive form, we can use IntegrateChangeVariables to do a “trig substitution”:

&#10005

The result is again an inactive form, now stating the integral differently. Activate goes ahead and actually does the integral:

&#10005

IntegrateChangeVariables can deal with multiple integrals as well—and with named coordinate systems. Here it’s transforming a double integral to polar coordinates:

&#10005

Although the basic “structural” transformation of variables in integrals is quite straightforward, the whole story of IntegrateChangeVariables is considerably more complicated. “College-level” changes of variables are usually carefully arranged to come out easily. But in the more general case, IntegrateChangeVariables ends up having to do nontrivial transformations of geometric regions, difficult simplifications of integrands subject to certain constraints, and so on.

In addition to changing variables in integrals, Version 13.1 also introduces DSolveChangeVariables for changing variables in differential equations. Here it’s transforming the Laplace equation to polar coordinates:

&#10005

Sometimes a change of variables can just be a convenience. But sometimes (think General Relativity) it can lead one to a whole different view of a system. Here, for example, an exponential transformation converts the usual Cauchy–Euler equation to a form with constant coefficients:

&#10005

Fractional Calculus

The first derivative of x2 is 2x; the second derivative is 2. But what is the derivative? It’s a question that was asked (for example by Leibniz) even in the first years of calculus. And by the 1800s Riemann and Liouville had given an answer—which in Version 13.1 can now be computed by the new FractionalD:

&#10005

And, yes, do another derivative and you get back the 1st derivative:

&#10005

In the more general case we have:

&#10005

And this works even for negative derivatives, so that, for example, the (–1)st derivative is an ordinary integral:

&#10005

It can be at least as difficult to compute a fractional derivative as an integral. But FractionalD can still often do it

&#10005

though the result can quickly become quite complicated:

&#10005

Why is FractionalD a separate function, rather than just being part of a generalization of D? We discussed this for quite a while. And the reason we introduced the explicit FractionalD is that there isn’t a unique definition of fractional derivatives. In fact, in Version 13.1 we also support the Caputo fractional derivative (or differintegral) CaputoD.

For the derivative of x2, the answer is still the same:

&#10005

But as soon as a function isn’t zero at x = 0 the answer can be different:

&#10005

CaputoD is a particularly convenient definition of fractional differentiation when one’s dealing with Laplace transforms and differential equations. And in Version 13.1 we can now only compute CaputoD but also do integral transforms and solve equations that involve it.

Here’s a -order differential equation

&#10005

and a -order one

&#10005

as well as a πth-order one:

&#10005

Note the appearance of MittagLefflerE. This function (which we introduced in Version 9.0) plays the same kind of role for fractional derivatives that Exp plays for ordinary derivatives.

Announcements & Events

New in 13.1: Chemical Representations and Pattern Reactions

Last year we released Version 13.0 of the Wolfram Language. Here are the updates in chemical representations and symbolic pattern reactions since then, including the latest features in 13.1.

 

Representing Amounts of Chemicals

Molecule lets one symbolically represent a molecule. Quantity lets one symbolically represent a quantity with units. In Version 13.1 we now have the new construct ChemicalInstance that’s in effect a merger of these, allowing one to represent a certain quantity of a certain chemical.
Education & Academic

Fractional Calculus in Wolfram Language 13.1

What is the half-derivative of x?

Fractional calculus studies the extension of derivatives and integrals to such fractional orders, along with methods of solving differential equations involving these fractional-order derivatives and integrals. This branch is becoming more and more popular in fluid dynamics, control theory, signal processing and other areas. Realizing the importance and potential of this topic, we have added support for fractional derivatives and integrals in the recent release of Version 13.1 of the Wolfram Language.
Best of Blog

Launching Version 13.1 of Wolfram Language & Mathematica 🙀🤠🥳

The Epic Continues…

Last week it was 34 years since the original launch of Mathematica and what’s now the Wolfram Language. And through all those years we’ve energetically continued building further and further, adding ever more capabilities, and steadily extending the domain of the computational paradigm.

In recent years we’ve established something of a rhythm, delivering the fruits of our development efforts roughly twice a year. We released Version 13.0 on December 13, 2021. And now, roughly six months later, we’re releasing Version 13.1. As usual, even though it’s a “.1” release, it’s got a lot of new (and updated) functionality, some of which we’ve worked on for many years but finally now brought to fruition.

Announcements & Events

New in 13: Geometric Computation

Two years ago we released Version 12.0 of the Wolfram Language. Here are the updates in geometric computation since then, including the latest features in 13.0. The contents of this post are compiled from Stephen Wolfram's Release Announcements for 12.1, 12.2, 12.3 and 13.0.

 

Euclidean Geometry Goes Interactive (December 2020)

One of the major advances in Version 12.0 was the introduction of a symbolic representation for Euclidean geometry: you specify a symbolic GeometricScene, giving a variety of objects and constraints, and the Wolfram Language can “solve” it, and draw a diagram of a random instance that satisfies the constraints. In Version 12.2 we’ve made this interactive, so you can move the points in the diagram around, and everything will (if possible) interactively be rearranged so as to maintain the constraints.

Here's a random instance of a simple geometric scene:

Announcements & Events

New in 13: Cloud & Webpage Construction

Two years ago we released Version 12.0 of the Wolfram Language. Here are the updates in cloud and webpage construction since then, including the latest features in 13.0. The contents of this post are compiled from Stephen Wolfram's Release Announcements for 12.1, 12.2, 12.3 and 13.0.

 

WSTPServer: A New Deployment of Wolfram Engine (December 2020)

Our long-term goal is to make the Wolfram Language and the computational intelligence it provides as ubiquitous as possible. And part of doing this is to set up the Wolfram Engine which implements the language so that it can be deployed in as broad a range of computational infrastructure settings as possible.

Wolfram Desktop—as well as classic Mathematica—primarily provides a notebook interface to the Wolfram Engine, running on a local desktop system. It's also possible to run Wolfram Engine directly—as a command-line program (e.g. through WolframScript)—on a local computer system. And, of course, one can run the Wolfram Engine in the cloud, either through the full Wolfram Cloud (public or private), or through more lightweight cloud and server offerings (both existing and forthcoming).
Announcements & Events

New in 13: Data & Function Repositories

Two years ago we released Version 12.0 of the Wolfram Language. Here are the updates to the Data and Function Repositories since then, including the latest features in 13.0. The contents of this post are compiled from Stephen Wolfram's Release Announcements for 12.1, 12.2, 12.3 and 13.0.

 

Making the Data Repository Easy (March 2020)

We launched the Wolfram Function Repository in June 2019, and there are already 1146 functions published in it. One of the innovations in the Function Repository is a very streamlined process for submitting new functions, applicable both for the public Function Repository, and for individual deployment on a single machine, or in the cloud.
Announcements & Events

New in 13: Molecules & Biomolecular Sequences

Two years ago we released Version 12.0 of the Wolfram Language. Here are the updates in molecules and biomolecular sequences since then, including the latest features in 13.0. The contents of this post are compiled from Stephen Wolfram's Release Announcements for 12.1, 12.2, 12.3 and 13.0.

 

What Is That Molecule? Advances in Chemical Computation (March 2020)

You have an image of a molecular structure diagram, say from a paper. But how can you get the molecule it represents in a computable form? Well, with Version 12.1 all you need do is use MoleculeRecognize:
Announcements & Events

New in 13: Trees

Two years ago we released Version 12.0 of the Wolfram Language. Here are the updates in trees since then, including the latest features in 13.0. The contents of this post are compiled from Stephen Wolfram's Release Announcements for 12.1, 12.2, 12.3 and 13.0.

 

Trees! (May 2021)

Based on the number of new built-in functions the clear winner for the largest new framework in Version 12.3 is the one for trees. We’ve been able to handle trees as a special case of graphs for more than a decade (and of course all symbolic expressions in the Wolfram Language are ultimately represented as trees). But in Version 12.3 we’re introducing trees as first-class objects in the system.