Matrix Differential Operator

The curl is often represented as a differential operator.

Here is an example.

Alternatively, curl can be represented as a matrix differential operator, .

Using pure function notation (see Section 2.2.5 of The Mathematica Book) this reads as follows.

However, we cannot Dot this operator by a vector to compute the curl because each element resulting from the dot product operation must be composed instead of being multiplied. Inner generalizes Dot and allows us to do what we want. Here we use the CenterDot operator (see Section 3.10.4 of The Mathematica Book) to define a suitable shorthand notation.

Now we can compute the curl using the matrix differential operator.

As a second example, Kurasov and Naboko [7] study the essential spectrum of the following matrix differential operator:

The four differential operators in the matrix can be implemented as follows.

Let us modify the action of the CenterDot operator by applying HoldForm to the first argument, so that it does not evaluate the operators.

We now can examine the application of the matrix differential operator to a vector or matrix before we explicitly evaluate the matrix entries using ReleaseHold.

As an aside, if we use the SmallCircle operator to denote Composition, then formal products of differential operators can be computed quite elegantly.

For example, the action of the product of the antidiagonal elements in can be computed as follows.