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[grad] - gradient operator 

Calling Sequence: 

    grad(expr) 

Parameters: 

       expr - any 0-form expression. 

Description: 

  • The grad - procedure allows one to calculate the gradient operator on a 0-form expression. For any 0-form f we have  grad(f) = dual(d(f)) by definition.
 

Examples: 

> restart:

with(atlas):
 

Declare constants:  

> Constants(Lambda);
 

{`+`(`-`(I)), I, Pi, _Z, Catalan, Lambda}(2.1)
 

Declare functions:  

> Functions(f=f(x,y),h=h(f));
 

{f, h}(2.2)
 

Declare p-forms:  

> Forms(e[k]=1,xi=1);
 

{xi, e[k]}(2.3)
 

Declare vectors:  

> Vectors(E[j],X,Y,Z);
 

{X, Y, Z, E[j]}(2.4)
 

Declare coframe:
Coframe(e[1]=d(x),e[2]=d(y)); 

[e[1] = d(x), e[2] = d(y)](2.5)
 

Declare frame:
Frame(E[k]); 

[E[1] = Diff(``, x), E[2] = Diff(``, y)](2.6)
 

Declare metric:
Metric(g=4*(d(x)&.d(x)+d(y)&.d(y))/(1+Lambda*(x^2+y^2))^2);
 

g = `+`(`/`(`*`(4, `*`(`+`(`&.`(e[1], e[1]), `&.`(e[2], e[2])))), `*`(`^`(`+`(1, `*`(Lambda, `*`(`+`(`*`(`^`(x, 2)), `*`(`^`(y, 2)))))), 2))))(2.7)
 

Using grad procedure: 

Just definition:
'grad(z)'=grad(z); 

grad(z) = dual(d(z))(2.8)
 

For function f:
'grad(f)'=grad(f); 

grad(f) = `+`(`*`(`/`(1, 4), `*`(Diff(f, x), `*`(`^`(`+`(1, `*`(Lambda, `*`(`^`(x, 2))), `*`(Lambda, `*`(`^`(y, 2)))), 2), `*`(E[1])))), `*`(`/`(1, 4), `*`(Diff(f, y), `*`(`^`(`+`(1, `*`(Lambda, `*`(`...
grad(f) = `+`(`*`(`/`(1, 4), `*`(Diff(f, x), `*`(`^`(`+`(1, `*`(Lambda, `*`(`^`(x, 2))), `*`(Lambda, `*`(`^`(y, 2)))), 2), `*`(E[1])))), `*`(`/`(1, 4), `*`(Diff(f, y), `*`(`^`(`+`(1, `*`(Lambda, `*`(`...
(2.9)
 

For h which depends on f:
'grad(h)'=grad(h); 

grad(h) = `*`(Diff(h, f), `*`(`+`(`*`(`/`(1, 4), `*`(Diff(f, x), `*`(`^`(`+`(1, `*`(Lambda, `*`(`^`(x, 2))), `*`(Lambda, `*`(`^`(y, 2)))), 2), `*`(E[1])))), `*`(`/`(1, 4), `*`(Diff(f, y), `*`(`^`(`+`(...
grad(h) = `*`(Diff(h, f), `*`(`+`(`*`(`/`(1, 4), `*`(Diff(f, x), `*`(`^`(`+`(1, `*`(Lambda, `*`(`^`(x, 2))), `*`(Lambda, `*`(`^`(y, 2)))), 2), `*`(E[1])))), `*`(`/`(1, 4), `*`(Diff(f, y), `*`(`^`(`+`(...
(2.10)
 

For 0-form - coordinate x:
'grad(x)'=grad(x); 

grad(x) = `+`(`*`(`/`(1, 4), `*`(`^`(`+`(1, `*`(Lambda, `*`(`^`(x, 2))), `*`(Lambda, `*`(`^`(y, 2)))), 2), `*`(E[1]))))(2.11)
 

Some more examples:
'grad(cos(x)*sin(y)+x^2)'=grad(cos(x)*sin(y)+x^2); 

grad(`+`(`*`(cos(x), `*`(sin(y))), `*`(`^`(x, 2)))) = `+`(`-`(`*`(`/`(1, 4), `*`(sin(x), `*`(sin(y), `*`(`^`(`+`(1, `*`(Lambda, `*`(`^`(x, 2))), `*`(Lambda, `*`(`^`(y, 2)))), 2), `*`(E[1])))))), `*`(`...
grad(`+`(`*`(cos(x), `*`(sin(y))), `*`(`^`(x, 2)))) = `+`(`-`(`*`(`/`(1, 4), `*`(sin(x), `*`(sin(y), `*`(`^`(`+`(1, `*`(Lambda, `*`(`^`(x, 2))), `*`(Lambda, `*`(`^`(y, 2)))), 2), `*`(E[1])))))), `*`(`...
(2.12)
 

> 'grad(x*ln(y))'=grad(x*ln(y));
 

grad(`*`(x, `*`(ln(y)))) = `+`(`*`(`/`(1, 4), `*`(ln(y), `*`(`^`(`+`(1, `*`(Lambda, `*`(`^`(x, 2))), `*`(Lambda, `*`(`^`(y, 2)))), 2), `*`(E[1])))), `/`(`*`(`/`(1, 4), `*`(x, `*`(`^`(`+`(1, `*`(Lambda...(2.13)
 

>
 

See Also:  

atlas, atlas[d], atlas[cov], atlas[div], atlas[L], atlas[dual].