atlas[cov] - covariant derivative
cov(V,expr)
cov[V](expr)
Parameters:
expr - any expression.
V - vector field.
- 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
we have: 
- For vector fields X, Y and Z we have:
and
for any functions
and
. - For any vector field X and tensor fields
and
the Leibniz rule for the derivative takes place: 
| > | restart: with(atlas): |
Declare constants:
| > | Constants(Lambda); |
| (2.1) |
Declare functions:
| > | Functions(f=f(x,y),h=h(z)); |
| (2.2) |
Declare p-forms:
| > | Forms(e[k]=1,xi=1); |
| (2.3) |
Declare vectors:
| > | Vectors(E[j],X,Y,Z); |
| (2.4) |
Declare tensors:
| > | Tensors(T=[n,k],Omega=[l,m]); |
| (2.5) |
Using cov- procedure:
As h is 0-form by defaults then:
'cov[X](h)'=cov(X,h);
| (2.6) |
f- declared as function f=f(x,y) thus:
'cov[X](f)'=cov(X,f);
| (2.7) |
Obviously that:
'cov[X](x^2*sin(x))'=cov(X,x^2*sin(x));
| (2.8) |
As
declared as constant thus:
'cov[X](Lambda)'=cov(X,Lambda);
| (2.9) |
Lie derivative is linear with respect to any argument:
'cov[X](Y+Z)'=cov(X,Y+Z);
| (2.10) |
And:
'cov[X+Y](Z)'=cov(X+Y,Z);
| (2.11) |
More complex examples:
'cov[f*X+h*Y](Z)'=cov(f*X+h*Y,Z);
| (2.12) |
And:
'cov[Z](f*X+h*Y)'=cov(Z,f*X+h*Y);
| (2.13) |
Verify that Leibniz rule takes place for tensor product:
'cov[X](T&.Omega)'=cov(X,T&.Omega);
| (2.14) |
Examples of calculations with definite metric
Declare coframe:
Coframe(e[1]=d(x),e[2]=d(y));
| (2.1.1) |
Declare frame:
Frame(E[k]);
| (2.1.2) |
Declare metric:
Metric(g=4*(d(x)&.d(x)+d(y)&.d(y))/(1+Lambda*(x^2+y^2))^2);
![]() | (2.1.3) |
Calculate connection:
Connection(theta);
| (2.1.4) |
For frame vectors E[j]:
'cov[E[j]](sin(x)*cos(y))'=cov(E[j],sin(x)*cos(y));
| (2.1.5) |
As g is a metric then for any vector field X:
'cov[X](g)'=cov(X,g);
| (2.1.6) |
By definition:
'cov[E[i]](E[1])'=cov(E[i],E[1]);
![]() ![]() | (2.1.7) |
For coframe 1-forms:
'cov[E[k]](e[2])'=cov(E[k],ToBasis(e[2]));
![]() ![]() | (2.1.8) |
For exterior product:
'cov[E[k]](e[1]&^e[2])'=cov(E[k],e[1]&^e[2]);
![]() | (2.1.9) |
For tensor product:
'cov[E[k]](e[2]&.E[2])'=cov(E[k],e[2]&.E[2]);
![]() ![]() | (2.1.10) |
| > |

![g = `+`(`/`(`*`(4, `*`(`+`(`&.`(e[1], e[1]), `&.`(e[2], e[2])))), `*`(`^`(`+`(1, `*`(Lambda, `*`(`+`(`*`(`^`(x, 2)), `*`(`^`(y, 2)))))), 2))))](Maple/atlas/help/images/cov_28.gif)
![cov[E[i]](E[1]) = `+`(`*`(`+`(`-`(`/`(`*`(2, `*`(Lambda, `*`(x, `*`(delta[1, i])))), `*`(`+`(1, `*`(Lambda, `*`(`^`(x, 2))), `*`(Lambda, `*`(`^`(y, 2))))))), `-`(`/`(`*`(2, `*`(Lambda, `*`(y, `*`(delt...](Maple/atlas/help/images/cov_32.gif)
![cov[E[i]](E[1]) = `+`(`*`(`+`(`-`(`/`(`*`(2, `*`(Lambda, `*`(x, `*`(delta[1, i])))), `*`(`+`(1, `*`(Lambda, `*`(`^`(x, 2))), `*`(Lambda, `*`(`^`(y, 2))))))), `-`(`/`(`*`(2, `*`(Lambda, `*`(y, `*`(delt...](Maple/atlas/help/images/cov_33.gif)
![cov[E[k]](e[2]) = `+`(`-`(`*`(`+`(`/`(`*`(2, `*`(Lambda, `*`(y, `*`(delta[1, k])))), `*`(`+`(1, `*`(Lambda, `*`(`^`(x, 2))), `*`(Lambda, `*`(`^`(y, 2)))))), `-`(`/`(`*`(2, `*`(Lambda, `*`(x, `*`(delta...](Maple/atlas/help/images/cov_34.gif)
![cov[E[k]](e[2]) = `+`(`-`(`*`(`+`(`/`(`*`(2, `*`(Lambda, `*`(y, `*`(delta[1, k])))), `*`(`+`(1, `*`(Lambda, `*`(`^`(x, 2))), `*`(Lambda, `*`(`^`(y, 2)))))), `-`(`/`(`*`(2, `*`(Lambda, `*`(x, `*`(delta...](Maple/atlas/help/images/cov_35.gif)
![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, `*`(...](Maple/atlas/help/images/cov_36.gif)
![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,...](Maple/atlas/help/images/cov_37.gif)
![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,...](Maple/atlas/help/images/cov_38.gif)