| atlas[`&D`] - differential of a mapping Calling Sequence: Expr &D MapId Parameters: MapId - variable - the mapping identifier i.e. MapId : dom1 ---> dom2 Expr - expression - a tensor expression Description: - The &D procedure calculates mapping differential of a tensor field. The mapping differential is linear defined operation on [k,0] tensors in a point only. The definition is as follows.
- Let M and N be manifolds of dimensions
. Let F be mapping between the manifolds: F: defined by functions: where are local coordinates on M and are local coordinates on N (in some domains). - The differential of F is mapping
of corresponding tangent spaces : in a point. - For any [1,0] tensor field T on M
is tensor field on N with components in local coordinates. - For tensor product of any [k, 0] tensor fields
on M the following formula takes place: ![`&/`(`&.`(T[1],T[2]),F) = `&.`(`&/`(T[1],F),`&/`(T[2],F))](prod/atlas/help/images/differential13.gif) - The formulas considered above defined linear operator &D completely.
Examples: The following example shows how the operator can be used. Let M be 2-dimentional sphere and N be 3-dimensional Euclidean space . Let : be standard embedding of sphere into . restart: with(atlas): This procedure is presented just for appropriate simplification (see atlas[simp] ). `atlas/simp`:=proc(a) normal(a);subs({cos(theta)^2=1-sin(theta)^2,cos(phi)^2=1-sin(phi)^2},%);normal(%); factor(%) end; 
Declare 1-forms e[j] and u[k] for corresponding coframes: Forms(e[j]=1,u[k]=1); ![{e[j], u[k]}](prod/atlas/help/images/differential23.gif)
Declare vectors for corresponding frames: Vectors(E[j],U[k]); ![{E[j], U[k]}](prod/atlas/help/images/differential24.gif)
Declare Euclidean space - : Domain(R^3); 
Declare coframe on : Coframe(e[1]=d(x),e[2]=d(y),e[3]=d(z)); ![[e[1] = d(x), e[2] = d(y), e[3] = d(z)]](prod/atlas/help/images/differential28.gif)
Declare frame on : Frame(E[j]); ![[E[1] = Diff(``,x), E[2] = Diff(``,y), E[3] = Diff(``,z)]](prod/atlas/help/images/differential30.gif)
Declare metric on (standard flat metric): Metric(g=d(x)&.d(x)+d(y)&.d(y)+d(z)&.d(z)); ![g = `&.`(e[1],e[1])+`&.`(e[2],e[2])+`&.`(e[3],e[3])](prod/atlas/help/images/differential32.gif)
Declare sphere - : Domain(S^2); 
Declare coframe on : Coframe(u[1]=d(theta),u[2]=d(phi)); ![[u[1] = d(theta), u[2] = d(phi)]](prod/atlas/help/images/differential36.gif)
Declare frame on : Frame(U[j]); ![[U[1] = Diff(``,theta), U[2] = Diff(``,phi)]](prod/atlas/help/images/differential38.gif)
Declare definite mapping : : Mapping(F,S^2,R^3, x=sin(theta)*cos(phi), y=sin(theta)*sin(phi), z=cos(theta)); 

Who(F);
F: mapping

Verify that we are on the sphere: Domain(); 
Calculate metric induced on the sphere using &/ operator: Metric(G = g &/ F); ![G = `&.`(u[1],u[1])+sin(theta)^2*`&.`(u[2],u[2])](prod/atlas/help/images/differential53.gif)
One can calculate restriction of any [k,0] tensor field on under the mapping: For of frame vectors: 'U[1] &D F'=U[1] &D F; 'U[2] &D F'=U[2] &D F; ![`&D`(U[1],F) = cos(theta)*cos(phi)*E[1]+cos(theta)*sin(phi)*E[2]-sin(theta)*E[3]](prod/atlas/help/images/differential55.gif)
![`&D`(U[2],F) = -sin(theta)*(sin(phi)*E[1]-cos(phi)*E[2])](prod/atlas/help/images/differential56.gif)
Restriction of tensor product d(x)&.d(z): '(U[1]&.U[2]) &D F'=(U[1]&.U[2]) &D F; ![`&D`(`&.`(U[1],U[2]),F) = cos(theta)*cos(phi)*sin(theta)*sin(phi)*`&.`(E[2],E[2])-cos(theta)*cos(phi)*sin(theta)*sin(phi)*`&.`(E[1],E[1])-cos(theta)*sin(phi)^2*sin(theta)*`&.`(E[2],E[1])-cos(theta)*(si...](prod/atlas/help/images/differential60.gif)
For metric tensor: dual(G); (% &D F); ![`&.`(U[1],U[1])+1/sin(theta)^2*`&.`(U[2],U[2])](prod/atlas/help/images/differential61.gif)
![-(sin(theta)*sin(phi)-1)*(sin(theta)*sin(phi)+1)*`&.`(E[2],E[2])+(1-sin(theta)^2+sin(theta)^2*sin(phi)^2)*`&.`(E[1],E[1])-sin(theta)^2*sin(phi)*cos(phi)*`&.`(E[2],E[1])-sin(theta)^2*sin(phi)*cos(phi)*`...](prod/atlas/help/images/differential65.gif)
Some more examples Declare abstract mapping between and : Mapping(Phi,S^2,R^3); 

For abstract mapping : '(U[1] &. U[2]) &D Phi'=(U[1] &. U[2]) &D Phi; ![`&D`(`&.`(U[1],U[2]),Phi) = Diff(x,theta)*Diff(x,phi)*`&.`(E[1],E[1])+Diff(x,theta)*Diff(y,phi)*`&.`(E[1],E[2])+Diff(x,theta)*Diff(z,phi)*`&.`(E[1],E[3])+Diff(y,theta)*Diff(x,phi)*`&.`(E[2],E[1])+Diff(...](prod/atlas/help/images/differential74.gif)
Who is who? Who(); ![PIECEWISE([{R^3, S^2}, Domains],[{Phi, F}, Mappings],[{G, g, E[j], U[k], e[j], u[k]}, Tensors],[{e[j], u[k]}, Forms],[{_Z, Pi, I, Catalan, -I}, Constants],[{}, Functions])](prod/atlas/help/images/differential75.gif)
See Also: atlas , atlas[Mapping] , atlas[Domain] , atlas[`&/`] . |