the differential operator nabla - Maple Programming Help

Online Help

All Products    Maple    MapleSim

Home : Support : Online Help : Physics : Vectors : Physics/Vectors/Nabla

Physics[Vectors][Nabla] - the differential operator nabla

Calling Sequence


Nabla(A, differential_operation)

Nabla(A, differential_operation, useComponent)

Remark: these calling sequences are also valid with the inert %Nabla command




any algebraic expression



any of Curl, Divergence, Gradient, or Laplacian



optional, to request representing the components of a non-projected vector using the Component command



Nabla is a command representation for the nabla differential operator. Thus, it can be used to calculate the gradient, divergence, curl or Laplacian of a function as well.


%Nabla is the inert form of Nabla, that is: it represents the same mathematical operation while holding the operation and checking of arguments unperformed. The expansion rules defined for Nabla, however, also work (are implemented) for the inert %Nabla. To activate the operation use value.


Nabla works in a context sensitive manner. For instance, Nabla(F) returns the gradient of F or the divergence of F according to whether F is identified as a scalar or a vector function (see ?Identify). So when called with only one argument Nabla(F) = Nabla . F. When called with two arguments, Nabla(F, Curl), Nabla(F, Divergence), Nabla(F, Gradient) and Nabla(F,Laplacian) respectively return the curl the divergence, the gradient and the Laplacian of F. The result is expressed in the specific coordinates and orthonormal vector basis system related to the functional dependence detected in F. When F does not depend on the geometrical coordinates x,y,z,rho,phi,r,theta, Nabla(F, ...) returns 0; and when F depends on coordinates of more than one system, the calculations are interrupted an error message is displayed on the screen.


A call to Nabla with one or two arguments returns the evaluation of the corresponding vector differential operation unless F is a non-projected vector, in which case Nabla(F) and Nabla(F, Divergence) return unevaluated as ∇·F and Nabla(F, Curl) returns Curl(F) (see ?Divergence and ?Curl). Generally speaking, to evaluate the corresponding vector differential operation it would be necessary to know the components of F in some orthonormal vector basis. It is possible, however, to make Nabla return the vector differential operation performed by representing these unknown components using the Component command; for that purpose the optional argument useComponent should be given.


Since Nabla performs differentiation using the standard diff command, all differentiation knowledge of diff is used when computing with Nabla.


For the conventions about the geometrical coordinates and vectors see Identify.








Nabla can be used to represent a gradient




Note the "application" of Nabla as in the above can be performed as well using the . operator:




The Laplacian




To distinguish a non-projected vector from a scalar variable a postfix identified is used. You can use the default identified, that is the underscore _, or set any valid Maple sequence of characters as identifier. For illustration purposes let's set again this default identifier:




So the divergence of a non-projected vector can be computed in these three equivalent manners










The curl




To actually compute the operation instead of just representing it, in the case of non-projected vectors use the optional argument useComponent, so that the unknown components are represented using the Component command




See Also

Component, Curl, Divergence, Gradient, Identify, Laplacian, Physics, Physics conventions, Physics examples, Physics[Vectors]