atlas[`&**`] - Hodge operator 

Calling Sequence: 

    &**(expr) 

Parameters: 

    expr - any expression containing p-forms 

Description: 

The &** procedure allows one to calculate Hodge operator on an expression containing p-forms.  In standard mathematical notation &** is * - just Hodge asterisk. If a metric is presented then the Hodge operator is defined completely by the following. 

  • Let `*`(`^`(Lambda, p), `*`(M))  be vector bundle of p-forms on manifold M of dimension n = dim(M) and metric g.
 

  • For any integer `<`(0, p)  let us define Hodge operator * as such unique isomorphism of vector bundles * : `*`(`^`(Lambda, p), `*`(M)) ---> `*`(`^`(Lambda, `+`(n, `-`(p))), `*`(M)) which has the following property.
 

  • For any alpha, beta which belong to `*`(`^`(Lambda, p), `*`(M)) we have `and`(alpha, `*`(beta) = `*`(g(alpha, beta), `*`(omega[g]))) where omega[g] is volume form on M induced by metric g.
 

  • Let s be the number of -1 in the signature of metric g (in the ATLAS package the integer is represented by sgn variable) then the following equations take place:
 

  • `*`(`*`, 1) = omega[g] and `*`(`*`, `*`(omega[g])) = 1
 

  • `*`(`^`(`*`, 2)) = `^`(-1, `+`(`*`(p, `*`(`+`(n, `-`(p)))), s)) - on vector bundle `*`(`^`(Lambda, p), `*`(M)).  
 

Examples: 

> restart:
with(atlas):
 

Declare forms: 

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

{xi, alpha, beta, e[j]}(2.1)
 

Declare vectors: 

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

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

Example 1 

Sphere - `*`(`^`(S, 2)) 

Declare coframe:
Coframe(e[1]=d(theta),e[2]=d(phi));
 

[e[1] = d(theta), e[2] = d(phi)](2.1.1)
 

Declare frame:
Frame(E[i]); 

[E[1] = Diff(``, theta), E[2] = Diff(``, phi)](2.1.2)
 

Declare  metric of  `*`(`^`(S, 2)) (see atlas[Metric]):
Metric(g=d(theta)&.d(theta)+sin(theta)^2*d(phi)&.d(phi)); 

g = `+`(`&.`(e[1], e[1]), `*`(`^`(sin(theta), 2), `*`(`&.`(e[2], e[2]))))(2.1.3)
 

Volume form omega[g]:
'&**(1)'=&**(1); 

`&**`(1) = `*`(`^`(abs(`*`(`^`(sin(theta), 2))), `/`(1, 2)), `*`(`&^`(e[1], e[2])))(2.1.4)
 

Hodge : p-form -> (n-p)-form
&**(alpha);
kind(%);
 

 

`&**`(alpha)
[0, `+`(2, `-`(p))](2.1.5)
 

Double Hodge operator:
'&**(&**(beta))'=&**(&**(beta)); 

`&**`(`&**`(beta)) = `*`(beta, `*`(`^`(-1, `+`(`*`(p, `*`(`+`(2, `-`(p)))), sgn))))(2.1.6)
 

>
 

See Also:  

atlas, atlas[Frame], atlas[Coframe], atlas[Metric].