Differential operators, for all sympy expressions

For multivector-customized differential operators, see


class galgebra.dop.Pdop(_Pdop__arg)[source]

Partial derivative operatorp.

The partial derivatives are of the form

\[\partial_{i_{1}...i_{n}} = \frac{\partial^{i_{1}+...+i_{n}}}{\partial{x_{1}^{i_{1}}}...\partial{x_{n}^{i_{n}}}}.\]

If \(i_{j} = 0\) then the partial derivative does not contain the \(x^{i_{j}}\) coordinate.


A dictionary where coordinates are keys and key value are the number of times one differentiates with respect to the key.


Total number of differentiations. When this is zero (i.e. when pdiffs is {}) then this object is the identity operator, and returns its operand unchanged.


The partial differential operator is a partial derivative with respect to a set of real symbols (variables).

class galgebra.dop.Sdop(*args)[source]

Scalar differential operator is of the form (Einstein summation)

\[D = c_{i}*D_{i}\]

where the \(c_{i}\)’s are scalar coefficient (they could be functions) and the \(D_{i}\)’s are partial differential operators (Pdop).


the structure \(((c_{1},D_{1}),(c_{2},D_{2}), ...)\)

Type:tuple of tuple
static consolidate_coefs(sdop)[source]

Remove zero coefs and consolidate coefs with repeated pdiffs.