| atlas[cov] - covariant derivative Calling Sequence: cov(V,expr) Parameters: expr - any expression. V - vector field. Description: - The cov procedure calculates 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: )](prod/atlas/help/images/cov2.gif) - 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: 
Examples: restart: with(atlas): Declare constants: Constants(Lambda); 
Declare functions: Functions(f=f(x,y),h=h(z)); 
Declare p-forms: Forms(e[k]=1,xi=1); ![{xi, e[k]}](prod/atlas/help/images/cov12.gif)
Declare vectors: Vectors(E[j],X,Y,Z); ![{X, Y, Z, E[j]}](prod/atlas/help/images/cov13.gif)
Declare tensors: Tensors(T=[n,k],Omega=[l,m]); 
Using cov - procedure: As h is 0-form by defaults then: 'cov(X,h)'=cov(X,h); )](prod/atlas/help/images/cov15.gif)
f- declared as function f=f(x,y) thus: 'cov(X,f)'=cov(X,f);
)+Diff(f,y)*iota[X](d(y))](prod/atlas/help/images/cov16.gif)
Obviously that: 'cov(X,x^2*sin(x))'=cov(X,x^2*sin(x)); )+x^2*cos(x)*iota[X](d(x))](prod/atlas/help/images/cov17.gif)
As declared as constant thus: 'cov(X,Lambda)'=cov(X,Lambda); 
Lie derivative is linear with respect to any argument: 'cov(X,Y+Z)'=cov(X,Y+Z); 
And: 'cov(X+Y,Z)'=cov(X+Y,Z); 
More complex examples: 'cov(f*X+h*Y,Z)'=cov(f*X+h*Y,Z); 
And: 'cov(Z,f*X+h*Y)'=cov(Z,f*X+h*Y); )+Diff(f,y)*iota[Z](d(y)))*X+f*cov(Z,X)+Diff(h,z)*iota[Z](d(z))*Y+h*cov(Z,Y)](prod/atlas/help/images/cov24.gif)
Verify that Leibniz rule takes place for tensor product: 'cov(X,T&.Omega)'=cov(X,T&.Omega); 
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)]](prod/atlas/help/images/cov26.gif)
Declare frame: Frame(E[k]); ![[E[1] = Diff(``,x), E[2] = Diff(``,y)]](prod/atlas/help/images/cov27.gif)
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](prod/atlas/help/images/cov28.gif)
Calculate connection: Connection(theta); ![theta[i,j]](prod/atlas/help/images/cov29.gif)
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]](prod/atlas/help/images/cov30.gif)
As g is a metric then for any vector field X: 'cov(X,g)'=cov(X,g); 
By definition: 'cov(E[i],E[1])'=cov(E[i],E[1]); ![cov(E[i],E[1]) = (-2*Lambda*x/(1+Lambda*x^2+Lambda*y^2)*delta[1,i]-2/(1+Lambda*x^2+Lambda*y^2)*Lambda*y*delta[2,i])*E[1]+(2/(1+Lambda*x^2+Lambda*y^2)*Lambda*y*delta[1,i]-2*Lambda*x/(1+Lambda*x^2+Lambda...](prod/atlas/help/images/cov33.gif)
For coframe 1-forms: 'cov(E[k],e[2])'=cov(E[k],ToBasis(e[2])); ![cov(E[k],e[2]) = -(2/(1+Lambda*x^2+Lambda*y^2)*Lambda*y*delta[1,k]-2*Lambda*x/(1+Lambda*x^2+Lambda*y^2)*delta[2,k])*e[1]-(-2*Lambda*x/(1+Lambda*x^2+Lambda*y^2)*delta[1,k]-2/(1+Lambda*x^2+Lambda*y^2)*La...](prod/atlas/help/images/cov35.gif)
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])/(1+Lambda*x^2+Lambda*y^2)*`&^`(e[1],e[2])](prod/atlas/help/images/cov36.gif)
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])/(1+Lambda*x^2+Lambda*y^2)*`&.`(e[1],E[2])-2*Lambda*(y*delta[1,k]-x*delta[2,k])/(1+Lambda*x^2+Lambda*y^2)*`&.`(e[2],E[1])](prod/atlas/help/images/cov37.gif)
See Also: atlas , atlas[d] , atlas[cov] , atlas[`&.`] , atlas[`&^`] , atlas[iota] . |