Digi Area Group - Math Tools for Professionals
   Maple and Mathematica packages - math tools for professionals

atlas™ - modern differential geometry for Maple™

> Features List & Examples
> Template Worksheets
> Screenshots
> Documentation & Downloads
> License & Pricing
> Buy Online

 
 
 
 
Google

Features List & Examples  |  Introduction  |  Dimension  |  Indexing  |  Forms  |  Metric  |  atlasWizard - Maplet™

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. iota[X](alpha)  where X is a vector and alpha  is a p-form.
  • Let X be a vector and omega  be n-form in some k-dimensional manifold then under definition:   [iota[X](omega)][i[1],i[2] .. i[n-1]] = Sum(X[j]*omega[j,i[1],i[2] .. i[n-1]],j = 1 .. k)  
  • Multiple iota operator defined as follows:   iota[X[1],X[2] .. X[j]](omega) = iota[X[1]](iota[X[2]](`` .. iota[X[j]](omega)))
  •  It is well known that iota operator is anti-differentiation for p-forms. Thus if omega[1]  is p-form then:
     
    iota[X](`&^`(omega[1],omega[2])) = `&^`(iota[X](omega[1]),omega[2])+(-1)^p*`&^`(omega[1],iota[X](omega[2]))

Examples:
restart:
with(atlas):

Declare constants:
Constants(alpha);

{I, _Z, Pi, Catalan, -I, alpha}

Declare functions:
Functions(F=F(x,y));

{F}

Declare p-forms:
Forms(e[i]=1,omega=2,omega[1]=p,omega[2]=q);

{e[i], omega[1], omega[2], omega}

Declare vectors:
Vectors(X,Y,Z);

{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,Y,Z](omega[1]) = iota[X](iota[Y](iota[Z](omega[1])))

iota(X,Y,Z,omega[1]) = iota[X](iota[Y](iota[Z](omega[1])))

iota[X](Y,Z,omega[1]) = iota[X](iota[Y](iota[Z](omega[1])))

As omega[1]  is p-form and omega[2]  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]));

iota[X](`&^`(omega[1],omega[2])) = (-1)^((-1+p)*q)*`&^`(omega[2],iota[X](omega[1]))+(-1)^p*`&^`(omega[1],iota[X](omega[2]))

It is obvious that (-1)^((-1+p)*q)*`&^`(omega[2],iota[X](omega[1])) = `&^`(iota[X](omega[1]),omega[2])  (see atlas[`&^`] ).

Interior product on any 0-form equals zero:
'iota[X]'(h)=iota[X](h);

iota[X](h) = 0

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]);

iota[alpha*X+F*Y+x*Z](e[j]) = alpha*iota[X](e[j])+F*iota[Y](e[j])+x*iota[Z](e[j])

And
'iota[X]'(F*e[j]+alpha*e[k]+x*e[l])=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])

Iota operator reduces covariance:
iota[X](e[j]);
kind(%);

iota[X](e[j])

[0, 0]

Calculate on 2-form:
iota[X](omega);
kind(%);

iota[X](omega)

[0, 1]

Calculate on p-form:
iota[X](omega[1]);
kind(%);

iota[X](omega[1])

[0, -1+p]

Calculate triple iota on p-form:
iota[X,Y,Z](omega[1]);
kind(%);

iota[X](iota[Y](iota[Z](omega[1])))

[0, -3+p]

Verify the main rule for interior product:
'iota[X](e[i]&^e[j])'=iota[X](e[i]&^e[j]);

iota[X](`&^`(e[i],e[j])) = -iota[X](e[j])*e[i]+iota[X](e[i])*e[j]

But for tensor product we have:
'iota[X]'(e[j]&.e[i])=iota[X](e[j]&.e[i]);

iota[X](`&.`(e[j],e[i])) = iota[X](e[j])*e[i]

And then:
'iota[Y,X]'(e[i]&.e[j])=iota[Y,X](e[i]&.e[j]);

iota[Y,X](`&.`(e[i],e[j])) = iota[X](e[i])*iota[Y](e[j])

See Also:

atlas , atlas[Constants] , atlas[Functions] , atlas[Forms] , atlas[`&$`] ,   atlas[`&^`] .