| atlas[iota] - interior product operator Calling Sequence: iota[V1, V2, ..., Vn](expr) iota(V1, V2, ..., Vn, expr) atlas[iota](V1, V2, ..., Vn, expr) Parameters: expr - any expression (on which interior product operator is defined) . V1, V2, ..., Vn - vector fields. Description: - The iota procedure calculates the interior product of given expression and vector fields. The main syntax is iota[X](alpha) i.e.
where X is a vector and is a p-form. - Let X be a vector and
be n-form in some k-dimensional manifold then under definition: - Multiple iota operator defined as follows:
![iota[X[1],X[2] .. X[j]](omega) = iota[X[1]](iota[X[2]](`` .. iota[X[j]](omega)))](prod/atlas/help/images/iota5.gif) - It is well known that iota operator is anti-differentiation for p-forms. Thus if
is p-form then: ) = `&^`(iota[X](omega[1]),omega[2])+(-1)^p*`&^`(omega[1],iota[X](omega[2]))](prod/atlas/help/images/iota7.gif)
Examples: restart: with(atlas): Declare constants: Constants(alpha); 
Declare functions: Functions(F=F(x,y)); 
Declare p-forms: Forms(e[i]=1,omega=2,omega[1]=p,omega[2]=q); ![{e[i], omega[1], omega[2], omega}](prod/atlas/help/images/iota10.gif)
Declare vectors: Vectors(X,Y,Z); 
Using iota - procedure: Just definition for "long" iota operator: 'iota[X,Y,Z](omega[1])'=iota[X,Y,Z](omega[1]); 'iota(X,Y,Z,omega[1])'=iota(X,Y,Z,omega[1]); 'iota[X](Y,Z,omega[1])'=iota[X](Y,Z,omega[1]);  = iota[X](iota[Y](iota[Z](omega[1])))](prod/atlas/help/images/iota12.gif)
![iota(X,Y,Z,omega[1]) = iota[X](iota[Y](iota[Z](omega[1])))](prod/atlas/help/images/iota13.gif)
 = iota[X](iota[Y](iota[Z](omega[1])))](prod/atlas/help/images/iota14.gif)
As is p-form and is q-form then under main rule for interior product we have: 'iota[X](omega[1]&^omega[2])'=simplify(iota[X](omega[1]&^omega[2])); ) = (-1)^((-1+p)*q)*`&^`(omega[2],iota[X](omega[1]))+(-1)^p*`&^`(omega[1],iota[X](omega[2]))](prod/atlas/help/images/iota17.gif)
It is obvious that (see atlas[`&^`] ). Interior product on any 0-form equals zero: 'iota[X]'(h)=iota[X](h);
 = 0](prod/atlas/help/images/iota19.gif)
Interior product is linear with respect to any argument: 'iota[alpha*X+F*Y+x*Z]'(e[j])=iota[alpha*X+F*Y+x*Z](e[j]);  = alpha*iota[X](e[j])+F*iota[Y](e[j])+x*iota[Z](e[j])](prod/atlas/help/images/iota20.gif)
And 'iota[X]'(F*e[j]+alpha*e[k]+x*e[l])=iota[X](F*e[j]+alpha*e[k]+x*e[l]);  = F*iota[X](e[j])+alpha*iota[X](e[k])+x*iota[X](e[l])](prod/atlas/help/images/iota21.gif)
Iota operator reduces covariance: iota[X](e[j]); kind(%); ](prod/atlas/help/images/iota22.gif)
![[0, 0]](prod/atlas/help/images/iota23.gif)
Calculate on 2-form: iota[X](omega); kind(%); ](prod/atlas/help/images/iota24.gif)
![[0, 1]](prod/atlas/help/images/iota25.gif)
Calculate on p-form: iota[X](omega[1]); kind(%); ](prod/atlas/help/images/iota26.gif)
![[0, -1+p]](prod/atlas/help/images/iota27.gif)
Calculate triple iota on p-form: iota[X,Y,Z](omega[1]); kind(%); ))](prod/atlas/help/images/iota28.gif)
![[0, -3+p]](prod/atlas/help/images/iota29.gif)
Verify the main rule for interior product: 'iota[X](e[i]&^e[j])'=iota[X](e[i]&^e[j]); ) = -iota[X](e[j])*e[i]+iota[X](e[i])*e[j]](prod/atlas/help/images/iota30.gif)
But for tensor product we have: 'iota[X]'(e[j]&.e[i])=iota[X](e[j]&.e[i]); ) = iota[X](e[j])*e[i]](prod/atlas/help/images/iota31.gif)
And then: 'iota[Y,X]'(e[i]&.e[j])=iota[Y,X](e[i]&.e[j]); ) = iota[X](e[i])*iota[Y](e[j])](prod/atlas/help/images/iota32.gif)
See Also: atlas , atlas[Constants] , atlas[Functions] , atlas[Forms] , atlas[`&$`] , atlas[`&^`] . |