atlas 2 for Maple

atlas package Overview

Declaration operators

Calculation operators

Standard DG operators

Utility operators

Features List & Examples

atlasWizard - Maplet™

Template Worksheets

Licenses & Pricing

atlas[d] - exterior differentiation 

Calling Sequence: 

    d(expr) 

Parameters: 

    expr - any expression. 

Description: 

  • The d - procedure allows one to calculate the exterior derivative on an expression that is p-form.
 

  • The exterior derivative is the operator  d : Omega[p] -> Omega[`+`(p, 1)]  where Omega[p] is p-form and Omega[`+`(p, 1)] is (p+1)-form. The operator has the following properties.
 

  • For any 0-form  f = f(x[1], x[2], () .. x[n]) we have:   d(f) = Sum(`*`(Diff(f, x[i]), `*`(d(x[i]))), i = 1 .. n)
 

  • For any p-forms omega, sigma and constants alpha, beta we have:   d(`+`(`*`(alpha, `*`(omega)), `*`(beta, `*`(sigma)))) = `+`(`*`(alpha, `*`(d(omega))), `*`(beta, `*`(d(sigma))))
 

  • If omega[1] is p-form and omega[2] is q-form then exterior derivative of their exterior product is as follows:d(`⊗`(omega[1], omega[2])) = `+`(`⊗`(d(omega[1]), omega[2]), `*`(`^`(-1, p), `*`(`⊗`(omega[1], d(omega[2])))))
 

  • For any p-form Omega Poincare's lemma takes place:   d(d(Omega)) = 0
 

Examples: 

> restart:
with(atlas):
 

Declare constants:  

> Constants(alpha,beta,p,q);
 

{`+`(`-`(I)), I, Pi, _Z, p, q, Catalan, alpha, beta}(2.1)
 

Declare functions:  

> Functions(F=F(x[1],x[2],x[3]),f=f(x[k]),G=G(x,z),z=z(phi),x[k]=x[k](y[j]));
 

{F, G, f, z, x[k]}(2.2)
 

Declare p-forms:  

> Forms(omega=n,sigma=m,Omega=P,omega[1]=p,omega[2]=q);
 

{Omega, omega, sigma, omega[1], omega[2]}(2.3)
 

Using d- procedure: 

f- declared as a function with indefinite number of variables:
'd'(f)=d(f);
 

d(f) = Sum(`*`(Diff(f, x[l[1]]), `*`(Sum(`*`(Diff(x[l[1]], y[l[2]]), `*`(d(y[l[2]]))), l[2] = 1 .. dim))), l[1] = 1 .. dim)(2.4)
 

F- declared as function on three variables:
'd'(F)=d(F);
 

d(F) = `+`(`*`(Diff(F, x[1]), `*`(Sum(`*`(Diff(x[1], y[l[1]]), `*`(d(y[l[1]]))), l[1] = 1 .. dim))), `*`(Diff(F, x[2]), `*`(Sum(`*`(Diff(x[2], y[l[1]]), `*`(d(y[l[1]]))), l[1] = 1 .. dim))), `*`(Diff(...
d(F) = `+`(`*`(Diff(F, x[1]), `*`(Sum(`*`(Diff(x[1], y[l[1]]), `*`(d(y[l[1]]))), l[1] = 1 .. dim))), `*`(Diff(F, x[2]), `*`(Sum(`*`(Diff(x[2], y[l[1]]), `*`(d(y[l[1]]))), l[1] = 1 .. dim))), `*`(Diff(...
(2.5)
 

G- declared as function G=G(x,z) and z=z(phi) thus:
'd'(G)=d(G);
 

d(G) = `+`(`*`(Diff(G, x), `*`(d(x))), `*`(Diff(G, z), `*`(Diff(z, phi), `*`(d(phi)))))(2.6)
 

As alpha declared as constant thus:
'd'(alpha)=d(alpha);
 

d(alpha) = 0(2.7)
 

Exterior derivative is linear operation:
'd'(alpha*omega+beta*sigma)=d(alpha*omega+beta*sigma); 

d(`+`(`*`(alpha, `*`(omega)), `*`(beta, `*`(sigma)))) = `+`(`*`(alpha, `*`(d(omega))), `*`(beta, `*`(d(sigma))))(2.8)
 

There were not any declarations about x and y so they are 0-forms by defaults:
'd'(x*y)=d(x*y); 

d(`*`(x, `*`(y))) = `+`(`*`(d(x), `*`(y)), `*`(x, `*`(d(y))))(2.9)
 

Verify that double-d gives 0 (Poincare's lemma):
'd'(d(Omega))=d(d(Omega)); 

d(d(Omega)) = 0(2.10)
 

As y is 0-form (by defaults) and Omega has been declared as P-form then:
'd'(y*Omega)=d(y*Omega); 

d(`*`(y, `*`(Omega))) = `+`(`*`(`^`(-1, P), `*`(`&^`(Omega, d(y)))), `*`(y, `*`(d(Omega))))(2.11)
 

omega[1] and omega[2] - declared as p- and q-forms respectively:
'd'(omega[1]&^omega[2])=d(omega[1]&^omega[2]); 

d(`&^`(omega[1], omega[2])) = `+`(`*`(`^`(-1, `*`(`+`(1, p), `*`(q))), `*`(`&^`(omega[2], d(omega[1])))), `*`(`^`(-1, p), `*`(`&^`(omega[1], d(omega[2])))))
d(`&^`(omega[1], omega[2])) = `+`(`*`(`^`(-1, `*`(`+`(1, p), `*`(q))), `*`(`&^`(omega[2], d(omega[1])))), `*`(`^`(-1, p), `*`(`&^`(omega[1], d(omega[2])))))
(2.12)
 

>
 

See Also: & 

atlas, atlas[Constants], atlas[Functions], atlas[Forms], atlas[`&^`].