atlas 2 for Maple

Atlas Documentation

Declaration operators

Calculation operators

Standard DG operators

Utility operators

General Tutorials

Atlas Wizard Tutorials

Licenses & Pricing

atlas[cov] - covariant derivative 

Calling Sequence: 

    cov(V,expr)
    cov[V](expr)
 

Parameters: 

       expr - any expression.
       V - vector field.
 

Description: 

  • The cov - procedure allows one to calculate the covariant derivative on an expression along given vector field. The derivative has the following properties.
 

  • For any vector field X and 0-form f we have:   
 

  • For vector fields X, Y and Z we have: and for any functions f and h.
 

  • For any vector field X and tensor fields Omega and T the Leibniz rule for the derivative takes place:
 

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(z));
 

{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 tensors:  

> Tensors(T=[n,k],Omega=[l,m]);
 

{T, Omega}(2.5)
 

Using cov- procedure: 

As h is 0-form by defaults then:
'cov[X](h)'=cov(X,h); 

cov[X](h) = `*`(Diff(h, z), `*`(iota[X](d(z))))(2.6)
 

f- declared as function f=f(x,y) thus:
'cov[X](f)'=cov(X,f);
 

cov[X](f) = `+`(`*`(Diff(f, x), `*`(iota[X](d(x)))), `*`(Diff(f, y), `*`(iota[X](d(y)))))(2.7)
 

Obviously that:
'cov[X](x^2*sin(x))'=cov(X,x^2*sin(x)); 

cov[X](`*`(`^`(x, 2), `*`(sin(x)))) = `+`(`*`(2, `*`(x, `*`(sin(x), `*`(iota[X](d(x)))))), `*`(`^`(x, 2), `*`(cos(x), `*`(iota[X](d(x))))))(2.8)
 

As Lambda declared as constant thus:
'cov[X](Lambda)'=cov(X,Lambda);
 

cov[X](Lambda) = 0(2.9)
 

Lie derivative is linear with respect to any argument:
'cov[X](Y+Z)'=cov(X,Y+Z); 

cov[X](`+`(Y, Z)) = `+`(cov[X](Y), cov[X](Z))(2.10)
 

And:
'cov[X+Y](Z)'=cov(X+Y,Z); 

cov[`+`(X, Y)](Z) = `+`(cov[X](Z), cov[Y](Z))(2.11)
 

More complex examples:
'cov[f*X+h*Y](Z)'=cov(f*X+h*Y,Z); 

cov[`+`(`*`(f, `*`(X)), `*`(h, `*`(Y)))](Z) = `+`(`*`(f, `*`(cov[X](Z))), `*`(h, `*`(cov[Y](Z))))(2.12)
 

And:
'cov[Z](f*X+h*Y)'=cov(Z,f*X+h*Y); 

cov[Z](`+`(`*`(f, `*`(X)), `*`(h, `*`(Y)))) = `+`(`*`(`+`(`*`(Diff(f, x), `*`(iota[Z](d(x)))), `*`(Diff(f, y), `*`(iota[Z](d(y))))), `*`(X)), `*`(f, `*`(cov[Z](X))), `*`(Diff(h, z), `*`(iota[Z](d(z)),...
cov[Z](`+`(`*`(f, `*`(X)), `*`(h, `*`(Y)))) = `+`(`*`(`+`(`*`(Diff(f, x), `*`(iota[Z](d(x)))), `*`(Diff(f, y), `*`(iota[Z](d(y))))), `*`(X)), `*`(f, `*`(cov[Z](X))), `*`(Diff(h, z), `*`(iota[Z](d(z)),...
(2.13)
 

Verify that Leibniz rule takes place for tensor product:
'cov[X](T&.Omega)'=cov(X,T&.Omega); 

cov[X](`&.`(T, Omega)) = `+`(`&.`(cov[X](T), Omega), `&.`(T, cov[X](Omega)))(2.14)
 

Examples of calculations with definite metric 

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

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

Declare frame:
Frame(E[k]); 

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

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.1.3)
 

Calculate connection:
Connection(theta); 

theta[i, j](2.1.4)
 

For frame vectors E[j]:
'cov[E[j]](sin(x)*cos(y))'=cov(E[j],sin(x)*cos(y)); 

cov[E[j]](`*`(sin(x), `*`(cos(y)))) = `+`(`*`(cos(x), `*`(cos(y), `*`(delta[1, j]))), `-`(`*`(sin(x), `*`(sin(y), `*`(delta[2, j])))))(2.1.5)
 

As g is a metric then for any vector field X:
'cov[X](g)'=cov(X,g); 

cov[X](g) = 0(2.1.6)
 

By definition:
'cov[E[i]](E[1])'=cov(E[i],E[1]); 

cov[E[i]](E[1]) = `+`(`*`(`+`(`-`(`/`(`*`(2, `*`(Lambda, `*`(x, `*`(delta[1, i])))), `*`(`+`(1, `*`(Lambda, `*`(`^`(x, 2))), `*`(Lambda, `*`(`^`(y, 2))))))), `-`(`/`(`*`(2, `*`(Lambda, `*`(y, `*`(delt...
cov[E[i]](E[1]) = `+`(`*`(`+`(`-`(`/`(`*`(2, `*`(Lambda, `*`(x, `*`(delta[1, i])))), `*`(`+`(1, `*`(Lambda, `*`(`^`(x, 2))), `*`(Lambda, `*`(`^`(y, 2))))))), `-`(`/`(`*`(2, `*`(Lambda, `*`(y, `*`(delt...
(2.1.7)
 

For coframe 1-forms:
'cov[E[k]](e[2])'=cov(E[k],ToBasis(e[2])); 

cov[E[k]](e[2]) = `+`(`-`(`*`(`+`(`/`(`*`(2, `*`(Lambda, `*`(y, `*`(delta[1, k])))), `*`(`+`(1, `*`(Lambda, `*`(`^`(x, 2))), `*`(Lambda, `*`(`^`(y, 2)))))), `-`(`/`(`*`(2, `*`(Lambda, `*`(x, `*`(delta...
cov[E[k]](e[2]) = `+`(`-`(`*`(`+`(`/`(`*`(2, `*`(Lambda, `*`(y, `*`(delta[1, k])))), `*`(`+`(1, `*`(Lambda, `*`(`^`(x, 2))), `*`(Lambda, `*`(`^`(y, 2)))))), `-`(`/`(`*`(2, `*`(Lambda, `*`(x, `*`(delta...
(2.1.8)
 

For exterior product:
'cov[E[k]](e[1]&^e[2])'=cov(E[k],e[1]&^e[2]); 

cov[E[k]](`&^`(e[1], e[2])) = `+`(`/`(`*`(4, `*`(Lambda, `*`(`+`(`*`(x, `*`(delta[1, k])), `*`(y, `*`(delta[2, k]))), `*`(`&^`(e[1], e[2]))))), `*`(`+`(1, `*`(Lambda, `*`(`^`(x, 2))), `*`(Lambda, `*`(...(2.1.9)
 

For tensor product:
'cov[E[k]](e[2]&.E[2])'=cov(E[k],e[2]&.E[2]); 

cov[E[k]](`&.`(e[2], E[2])) = `+`(`/`(`*`(2, `*`(Lambda, `*`(`+`(`-`(`*`(y, `*`(delta[1, k]))), `*`(x, `*`(delta[2, k]))), `*`(`&.`(e[1], E[2]))))), `*`(`+`(1, `*`(Lambda, `*`(`^`(x, 2))), `*`(Lambda,...
cov[E[k]](`&.`(e[2], E[2])) = `+`(`/`(`*`(2, `*`(Lambda, `*`(`+`(`-`(`*`(y, `*`(delta[1, k]))), `*`(x, `*`(delta[2, k]))), `*`(`&.`(e[1], E[2]))))), `*`(`+`(1, `*`(Lambda, `*`(`^`(x, 2))), `*`(Lambda,...
(2.1.10)
 

>
 

See Also:  

atlas, atlas[d], atlas[cov], atlas[`&.`], atlas[`&^`], atlas[iota].