atlas 2 for Maple

atlas package Overview

Declaration operators

Calculation operators

Standard DG operators

Utility operators

Features List & Examples

atlasWizard - Maplet™

Template Worksheets

Licenses & Pricing

atlas[`&$`] - generalized interior product operator 

Calling Sequence: 

    `&$`(A1, A2, ..., An, expr) 

Parameters: 

       expr - any expression.
       A1, A2, ..., An - vectors or 1-forms.
 

Description: 

  • The `&$` - procedure allows one to calculate the generalized interior product (see atlas[iota]) of given expressions and vector or 1-forms fields.
 

  • Let X be a vector and T be a tensor then under the definition:  `&$`(X, T) = iota[X](T)
 

  • Let omega be 1-form and X be a vector then under the definition:  `&$`(omega, X) = iota[X](omega)
 

  • For any vectors or 1-forms X[1], X[2], () .. (), X[j]  the multiple `&$` operator is defined as follows:  `&$`(X[1], X[2] .. X[j], T) = `&$`(X[j], () .. (), `&$`(X[2], `&$`(X[1], T)))
 

  • For any vector or 1-form X and any tensors T and Omega the following rule applies: `&$`(X, `⊗`(T, Omega)) = `⊗`(`&$`(X, T), Omega)
 

Examples: 

> restart:
with(atlas):
 

Declare constants:  

> Constants(alpha);
 

{`+`(`-`(I)), I, Pi, _Z, Catalan, alpha}(2.1)
 

Declare p-forms:  

> Forms(e[i]=1,omega=2,omega[1]=p,omega[2]=q);
 

{omega, e[i], omega[1], omega[2]}(2.2)
 

Declare vectors:  

> Vectors(X,Y,Z);
 

{X, Y, Z}(2.3)
 

Using the `&$`- procedure: 

This is just the definition for the "long" operator:
'`&$`(X,Y,Z,omega[1])'=`&$`(X,Y,Z,omega[1]);
'`&$`(e[i],e[j],e[k],`&.`(X,Y,Z,Y))'=`&$`(e[i],e[j],e[k],`&.`(X,Y,Z,Y));
 

 

`&$`(X, Y, Z, omega[1]) = `+`(`-`(iota[X](iota[Y](iota[Z](omega[1])))))
`&$`(e[i], e[j], e[k], `&.`(X, Y, Z, Y)) = `*`(iota[X](e[i]), `*`(iota[Y](e[j]), `*`(iota[Z](e[k]), `*`(Y))))(2.4)
 

The generalized interior product is linear with respect to any argument:
'`&$`(alpha*X+F*Y+x*Z,e[j])'=`&$`(alpha*X+F*Y+x*Z,e[j]);
 

`&$`(`+`(`*`(alpha, `*`(X)), `*`(F, `*`(Y)), `*`(x, `*`(Z))), e[j]) = `+`(`*`(alpha, `*`(iota[X](e[j]))), `*`(F, `*`(iota[Y](e[j]))), `*`(x, `*`(iota[Z](e[j]))))(2.5)
 

> '`&$`(alpha*e[1]+F*e[2]+x*e[3],X)'=`&$`(alpha*e[1]+F*e[2]+x*e[3],X);
 

`&$`(`+`(`*`(alpha, `*`(e[1])), `*`(F, `*`(e[2])), `*`(x, `*`(e[3]))), X) = `+`(`*`(alpha, `*`(iota[X](e[1]))), `*`(F, `*`(iota[X](e[2]))), `*`(x, `*`(iota[X](e[3]))))(2.6)
 

And
'`&$`(X,F*e[j]+alpha*e[k]+x*e[l])'=`&$`(X,F*e[j]+alpha*e[k]+x*e[l]);
 

`&$`(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]))))(2.7)
 

> '`&$`(F*e[j]+alpha*e[k]+x*e[l],X)'=`&$`(F*e[j]+alpha*e[k]+x*e[l],X);
 

`&$`(`+`(`*`(F, `*`(e[j])), `*`(alpha, `*`(e[k])), `*`(x, `*`(e[l]))), X) = `+`(`*`(F, `*`(iota[X](e[j]))), `*`(alpha, `*`(iota[X](e[k]))), `*`(x, `*`(iota[X](e[l]))))(2.8)
 

> '`&$`(e[k],Y,`&.`(X,e[i],e[j]))'=`&$`(e[k],Y,`&.`(X,e[i],e[j]));
 

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

Example 1 

> restart:
with(atlas):
 

Declare forms: 

> Forms(e[j]=1,xi=1);
 

{xi, e[j]}(2.1.1)
 

Declare vectors: 

> Vectors(X,Y,Z,E[j]);
 

{X, Y, Z, E[j]}(2.1.2)
 

Declare the coframe:
Coframe(e[1]=x*d(x)+y*d(y),e[2]=x*d(y)-y*d(x)); 

[e[1] = `+`(`*`(x, `*`(d(x))), `*`(y, `*`(d(y)))), e[2] = `+`(`*`(x, `*`(d(y))), `-`(`*`(y, `*`(d(x)))))](2.1.3)
 

Declare the frame:
Frame(E[i]); 

[E[1] = `+`(`/`(`*`(x, `*`(Diff(``, x))), `*`(`+`(`*`(`^`(x, 2)), `*`(`^`(y, 2))))), `/`(`*`(y, `*`(Diff(``, y))), `*`(`+`(`*`(`^`(x, 2)), `*`(`^`(y, 2)))))), E[2] = `+`(`-`(`/`(`*`(y, `*`(Diff(``, x)...(2.1.4)
 

Connection definition: 

> omega[1,1]:=x*e[1];
 

`*`(e[1], `*`(x))(2.1.5)
 

> omega[2,2]:=y*e[2];
 

`*`(y, `*`(e[2]))(2.1.6)
 

> omega[1,2]:=y*e[1];
 

`*`(y, `*`(e[1]))(2.1.7)
 

> omega[2,1]:=-x*e[2];
 

`+`(`-`(`*`(x, `*`(e[2]))))(2.1.8)
 

Connection declaration: 

> Connection(omega);
 

omega[i, j](2.1.9)
 

Curvature calculation:
Curvature(Omega); 

Omega[i, j](2.1.10)
 

Riemann calculation:
Riemann(R); 

R = `+`(`-`(`/`(`*`(`/`(1, 2), `*`(y, `*`(`+`(`-`(1), `*`(`^`(x, 3)), `*`(x, `*`(`^`(y, 2)))), `*`(`&.`(E[1], e[1], `&^`(e[1], e[2])))))), `*`(`+`(`*`(`^`(x, 2)), `*`(`^`(y, 2)))))), `/`(`*`(`/`(1, 2)...
R = `+`(`-`(`/`(`*`(`/`(1, 2), `*`(y, `*`(`+`(`-`(1), `*`(`^`(x, 3)), `*`(x, `*`(`^`(y, 2)))), `*`(`&.`(E[1], e[1], `&^`(e[1], e[2])))))), `*`(`+`(`*`(`^`(x, 2)), `*`(`^`(y, 2)))))), `/`(`*`(`/`(1, 2)...
R = `+`(`-`(`/`(`*`(`/`(1, 2), `*`(y, `*`(`+`(`-`(1), `*`(`^`(x, 3)), `*`(x, `*`(`^`(y, 2)))), `*`(`&.`(E[1], e[1], `&^`(e[1], e[2])))))), `*`(`+`(`*`(`^`(x, 2)), `*`(`^`(y, 2)))))), `/`(`*`(`/`(1, 2)...
R = `+`(`-`(`/`(`*`(`/`(1, 2), `*`(y, `*`(`+`(`-`(1), `*`(`^`(x, 3)), `*`(x, `*`(`^`(y, 2)))), `*`(`&.`(E[1], e[1], `&^`(e[1], e[2])))))), `*`(`+`(`*`(`^`(x, 2)), `*`(`^`(y, 2)))))), `/`(`*`(`/`(1, 2)...
(2.1.11)
 

> `&$`(e[i],R);
 

`+`(`-`(`/`(`*`(`/`(1, 2), `*`(y, `*`(`+`(`-`(1), `*`(`^`(x, 3)), `*`(x, `*`(`^`(y, 2)))), `*`(delta[1, i], `*`(`&.`(e[1], `&^`(e[1], e[2]))))))), `*`(`+`(`*`(`^`(x, 2)), `*`(`^`(y, 2)))))), `/`(`*`(`...
`+`(`-`(`/`(`*`(`/`(1, 2), `*`(y, `*`(`+`(`-`(1), `*`(`^`(x, 3)), `*`(x, `*`(`^`(y, 2)))), `*`(delta[1, i], `*`(`&.`(e[1], `&^`(e[1], e[2]))))))), `*`(`+`(`*`(`^`(x, 2)), `*`(`^`(y, 2)))))), `/`(`*`(`...
`+`(`-`(`/`(`*`(`/`(1, 2), `*`(y, `*`(`+`(`-`(1), `*`(`^`(x, 3)), `*`(x, `*`(`^`(y, 2)))), `*`(delta[1, i], `*`(`&.`(e[1], `&^`(e[1], e[2]))))))), `*`(`+`(`*`(`^`(x, 2)), `*`(`^`(y, 2)))))), `/`(`*`(`...
`+`(`-`(`/`(`*`(`/`(1, 2), `*`(y, `*`(`+`(`-`(1), `*`(`^`(x, 3)), `*`(x, `*`(`^`(y, 2)))), `*`(delta[1, i], `*`(`&.`(e[1], `&^`(e[1], e[2]))))))), `*`(`+`(`*`(`^`(x, 2)), `*`(`^`(y, 2)))))), `/`(`*`(`...
(2.1.12)
 

> `&$`(e[i],E[j],R);
 

`+`(`-`(`/`(`*`(`/`(1, 2), `*`(y, `*`(`+`(`-`(1), `*`(`^`(x, 3)), `*`(x, `*`(`^`(y, 2)))), `*`(delta[1, i], `*`(delta[1, j], `*`(`&^`(e[1], e[2]))))))), `*`(`+`(`*`(`^`(x, 2)), `*`(`^`(y, 2)))))), `/`...
`+`(`-`(`/`(`*`(`/`(1, 2), `*`(y, `*`(`+`(`-`(1), `*`(`^`(x, 3)), `*`(x, `*`(`^`(y, 2)))), `*`(delta[1, i], `*`(delta[1, j], `*`(`&^`(e[1], e[2]))))))), `*`(`+`(`*`(`^`(x, 2)), `*`(`^`(y, 2)))))), `/`...
`+`(`-`(`/`(`*`(`/`(1, 2), `*`(y, `*`(`+`(`-`(1), `*`(`^`(x, 3)), `*`(x, `*`(`^`(y, 2)))), `*`(delta[1, i], `*`(delta[1, j], `*`(`&^`(e[1], e[2]))))))), `*`(`+`(`*`(`^`(x, 2)), `*`(`^`(y, 2)))))), `/`...
`+`(`-`(`/`(`*`(`/`(1, 2), `*`(y, `*`(`+`(`-`(1), `*`(`^`(x, 3)), `*`(x, `*`(`^`(y, 2)))), `*`(delta[1, i], `*`(delta[1, j], `*`(`&^`(e[1], e[2]))))))), `*`(`+`(`*`(`^`(x, 2)), `*`(`^`(y, 2)))))), `/`...
(2.1.13)
 

> `&$`(e[i],E[j],E[k],E[l],R);
 

`+`(`-`(`/`(`*`(`/`(1, 2), `*`(y, `*`(`+`(`-`(1), `*`(`^`(x, 3)), `*`(x, `*`(`^`(y, 2)))), `*`(delta[1, i], `*`(delta[1, j], `*`(`+`(`*`(delta[1, k], `*`(delta[2, l])), `-`(`*`(delta[2, k], `*`(delta[...
`+`(`-`(`/`(`*`(`/`(1, 2), `*`(y, `*`(`+`(`-`(1), `*`(`^`(x, 3)), `*`(x, `*`(`^`(y, 2)))), `*`(delta[1, i], `*`(delta[1, j], `*`(`+`(`*`(delta[1, k], `*`(delta[2, l])), `-`(`*`(delta[2, k], `*`(delta[...
`+`(`-`(`/`(`*`(`/`(1, 2), `*`(y, `*`(`+`(`-`(1), `*`(`^`(x, 3)), `*`(x, `*`(`^`(y, 2)))), `*`(delta[1, i], `*`(delta[1, j], `*`(`+`(`*`(delta[1, k], `*`(delta[2, l])), `-`(`*`(delta[2, k], `*`(delta[...
`+`(`-`(`/`(`*`(`/`(1, 2), `*`(y, `*`(`+`(`-`(1), `*`(`^`(x, 3)), `*`(x, `*`(`^`(y, 2)))), `*`(delta[1, i], `*`(delta[1, j], `*`(`+`(`*`(delta[1, k], `*`(delta[2, l])), `-`(`*`(delta[2, k], `*`(delta[...
(2.1.14)
 

>
 

See Also:  

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