| atlas[Vectors] - declaration of vectors Calling Sequence: Vectors(V1, V2, ..., Vi, ..., Vn) Parameters: Vi - vector identivier. Description: - In the atlas package any identifier is treated as 0-form i.e. as non-constant scalar (if it not declared as constant, p-form, tensor etc. (see atlas[types] )).
- The Vectors procedure declares vectors. One can declare indexed vectors e.g. E[j] is treated as a set of vectors
.
Examples: restart: with(atlas): Declare f, h and z as functions: Vectors(E[j],X,Y,Z,U[i]); ![{X, Y, Z, E[j], U[i]}](prod/atlas/help/images/Vectors2.gif)
Verify that E[1] is vector using kind (see atlas[kind] ) and type procedures: kind(E[1]); ![[1, 0]](prod/atlas/help/images/Vectors3.gif)
type(E[1],vect); 
Construct new [2,0] tensors T[i,j] using tensor product operator (see atlas[`&.`] ): T[i,j]:=E[i]&.E[j]+E[j]&.U[i]; 'kind(T[i,j])'=kind(T[i,j]); ![T[i,j] := `&.`(E[i],E[j])+`&.`(E[j],U[i])](prod/atlas/help/images/Vectors5.gif)
![kind(T[i,j]) = [2, 0]](prod/atlas/help/images/Vectors6.gif)
Calculation of Lie derivative (see atlas[L] ): 'L[X]'(f*Z+Y)=L[X](f*Z+Y);  = iota[X](d(f))*Z+f*L[X](Z)+L[X](Y)](prod/atlas/help/images/Vectors7.gif)
Some more examples (see atlas[iota] and atlas[`&^`] ): 'iota[E[j]](d(x)&^d(y))'=iota[E[j]](d(x)&^d(y)); ![iota[E[j]](`&^`(d(x),d(y))) = iota[E[j]](d(x))*d(y)-iota[E[j]](d(y))*d(x)](prod/atlas/help/images/Vectors8.gif)
'iota[U[i],Z](d(x)&^d(y))'=iota[U[i],Z](d(x)&^d(y)); ![iota[U[i],Z](`&^`(d(x),d(y))) = iota[Z](d(x))*iota[U[i]](d(y))-iota[Z](d(y))*iota[U[i]](d(x))](prod/atlas/help/images/Vectors9.gif)
Let's see "who is who" Who([X,Y,Z,x,E[k],U[1]]);
X: vector
Y: vector
Z: vector
x: 0 - form
E[k]: vector
U[1]: vector
Who(); ![PIECEWISE([{}, Domains],[{}, Mappings],[{X, Y, Z, E[j], U[i]}, Tensors],[{}, Forms],[{Catalan, _Z, Pi, I, -I}, Constants],[{}, Functions])](prod/atlas/help/images/Vectors10.gif)
See Also: atlas , atlas[Constants] , atlas[Functions] , atlas[Forms] , atlas[Tensors] , atlas[iota] , atlas[`&^`] , atlas[Who] . |