Let X —> S be a morphism of schemes. Let E and F be quasi-coherent O_X modules. Let D : E —> F be a finite order differential operator on X/S. This means that there exists an integer n and an O_X-linear map

D’ : p_{n, 2, *}(p_{n, 1}^*E) —> F

such that D is given by the composition of D’ with the nonlinear map E —> p_{n, 2, *}(p_{n, 1}^*E). Here p_{n, i} : Delta_n —> X are the two projections of the nth infinitesimal neighbourhood of the diagonal X —> X x_S X. (Unfortunately, this description of finite order differential operators is currently missing from the Stacks project.)

OK, let omega_{X/S} be a quasi-coherent O_X-module (we’ll see later the properties we require of this module). Set E* = SheafHom(E, omega_{X/S}) and similarly for F. When does there exist a **dual** differential operator

D* : F* —> E* ?

The purpose of this blog post is to analyze what we need about S, X, omega_{X/S}, F, and E in order to get D*.

Suppose we have F = (F*)*. Then we can think of D’ as a map

D’ : p_{n, 2, *}(p_{n, 1}^*E) —> (F*)*

which is the same thing as a map

p_{n, 2, *}(p_{n, 1}^*E ⊗ p_{n, 2}^*(F*)) —> omega_{X/S}

which is the same thing as a map

p_{n, 1}^*E ⊗ p_{n, 2}^*(F*) —> p_{n, 2}^!omega_{X/S}

by duality. If we have an isomorphism p_{n, 2}^!omega_{X/S} = p_{n, 1}^!omega_{X/S} then applying the automorphism of X x_S X which switches the factors and going backwards we see that this is the same thing as a differential operator D* of the form desired.

What did we use in the above? We need

- F = (F*)*,
- p_{n, i} : Delta_n —> X are finite morphisms,
- p_{n, 2}^!omega_{X/S} = p_{n, 1}^!omega_{X/S} where p_{n, 2}^! is the functor used in duality for a finite morphism.

The first condition holds for example if F is finite locally free and O_X = SheafHom(omega_{X/S}, omega_{X/S}). The second condition holds if X —> S is of finite type. The third condition really does pin down omega_{X/S} a lot more.

If S is Noetherian, F and E are finite locally free, and X —> S is a separated, flat morphism of finite type whose fibres are Cohen-Macaulay and equidimensional of a given dimension d, then we can take omega_{X/S} the usual relative dualizing sheaf and we have enough theory in the Stacks project to get the third condition above.

But there is another way to think about the condition p_{n, 2}^!omega_{X/S} = p_{n, 1}^!omega_{X/S}. Namely, considering finite order differential operators D : O_X —> omega_{X/S} and arguing as above one sees that giving a (symmetric) isomorphism p_{n, 2}^!omega_{X/S} = p_{n, 1}^!omega_{X/S} is the same thing as a rule D ↦ D* which defines an involution on the sheaf of finite order differential operators D : O_X —> omega_{X/S} such that

- (f D)* = D* \circ f
- (D \circ f)* = f D*

where f denotes a local section of O_X.

When X —> S is smooth of relative dimension d and we take omega_{X/S} = Omega^d_{X/S}, we can explicitly construct the rule D ↦ D*. For example if we have local coordinates x_1, …, x_d on X/S and we use the trivialization of Omega^d_{X/S} given by d(x_1) ∧ … ∧ d(x_d) then we take the algebra involution on differential operators sending a function to itself and sending ∂/∂x_i to – ∂/∂x_i. Of course in this case we can also explicitly describe the rule going from D : E —> F to D* : F* —> E* we obtain from this.

The second case works without appealing to any theory of duality.