atlas[ToBasis] - To basis decomposition
Calling Sequence:
ToBasis(T)
Parameters:
T - variable or expression of tensor type
Description:
The ToBasis procedure allows one to decompose a tensor into its basis. If the coframe and frame have not been previously defined, then no decomposition is available.
Examples:
Declare forms:
| > | Forms(e[j]=1,xi=1,phi=1); |
![{phi, xi, e[j]}](Maple/atlas/help/images/ToBasis_1.gif) | (2.1) |
Declare vectors:
![{X, Y, Z, E[j]}](Maple/atlas/help/images/ToBasis_2.gif) | (2.2) |
One can not make the decomposition before coframe declaration:
ToBasis(X);
 | (2.3) |
Declare coframe:
Coframe(e[j],j=1..n);
![{e[j]}[j = 1 .. n]](Maple/atlas/help/images/ToBasis_4.gif) | (2.4) |
Declare frame:
Frame(E[k]);
![{E[k]}[k = 1 .. n]](Maple/atlas/help/images/ToBasis_5.gif) | (2.5) |
"To basis" decomposition
, `*`(E[l[1]])), l[1] = 1 .. n)](Maple/atlas/help/images/ToBasis_6.gif) | (2.6) |
![xi = Sum(`*`(iota[E[l[1]]](xi), `*`(e[l[1]])), l[1] = 1 .. n)](Maple/atlas/help/images/ToBasis_7.gif) | (2.7) |
![`&.`(X, xi) = Sum(`*`(iota[E[l[2]]](xi), `*`(Sum(`*`(iota[X](e[l[1]]), `*`(`&.`(E[l[1]], e[l[2]]))), l[1] = 1 .. n))), l[2] = 1 .. n)](Maple/atlas/help/images/ToBasis_8.gif) | (2.8) |
Functions declaration
:
| > | Functions(xi[i]=xi[i](x[k])); |
![{xi[i]}](Maple/atlas/help/images/ToBasis_10.gif) | (2.9) |
New cofame declaration:
| > | Coframe(e[j]=xi[j]*d(x[j]),j=1..3); |
| Warning, You have to restart the Coframe procedure and then Frame procedure! | |
| > | Coframe(e[j]=xi[j]*d(x[j]),j=1..3); |
![[e[1] = `*`(xi[1], `*`(d(x[1]))), e[2] = `*`(xi[2], `*`(d(x[2]))), e[3] = `*`(xi[3], `*`(d(x[3])))]](Maple/atlas/help/images/ToBasis_11.gif) | (2.10) |
![d(xi[i]) = `*`(Diff(xi[i], x[k]), `*`(`+`(`/`(`*`(delta[1, k], `*`(e[1])), `*`(xi[1])), `/`(`*`(delta[2, k], `*`(e[2])), `*`(xi[2])), `/`(`*`(delta[3, k], `*`(e[3])), `*`(xi[3])))))](Maple/atlas/help/images/ToBasis_12.gif) | (2.11) |
![d(x[k]) = `+`(`/`(`*`(delta[1, k], `*`(e[1])), `*`(xi[1])), `/`(`*`(delta[2, k], `*`(e[2])), `*`(xi[2])), `/`(`*`(delta[3, k], `*`(e[3])), `*`(xi[3])))](Maple/atlas/help/images/ToBasis_13.gif) | (2.12) |
![d(e[3]) = `+`(`-`(`/`(`*`(Diff(xi[3], x[k]), `*`(`&^`(e[3], d(x[k])))), `*`(xi[3]))))](Maple/atlas/help/images/ToBasis_14.gif) | (2.13) |
Declare frame:
Frame(E[k]);
![[E[1] = `/`(`*`(Diff(``, x[1])), `*`(xi[1])), E[2] = `/`(`*`(Diff(``, x[2])), `*`(xi[2])), E[3] = `/`(`*`(Diff(``, x[3])), `*`(xi[3]))]](Maple/atlas/help/images/ToBasis_15.gif) | (2.14) |
"To basis" decomposition
, `*`(E[1])), `*`(iota[X](e[2]), `*`(E[2])), `*`(iota[X](e[3]), `*`(E[3])))](Maple/atlas/help/images/ToBasis_16.gif) | (2.15) |
Note that
are functions but
is 1-form:
![xi = `+`(`*`(iota[E[1]](xi), `*`(e[1])), `*`(iota[E[2]](xi), `*`(e[2])), `*`(iota[E[3]](xi), `*`(e[3])))](Maple/atlas/help/images/ToBasis_19.gif) | (2.16) |
| > | xi&.xi=ToBasis(xi&.xi); |
, `*`(E[1])), `*`(iota[Diff(``, x)](e[2]), `*`(E[2])), `*`(iota[Diff(``, x)](e[3]), `*`(E[3])))](Maple/atlas/help/images/ToBasis_30.gif) | (2.19) |
| > | &@(x[1])=ToBasis(&@(x[1])); |
![Diff(``, x[1]) = `*`(E[1], `*`(xi[1]))](Maple/atlas/help/images/ToBasis_31.gif) | (2.20) |
See Also:
atlas, atlas[Coframe], atlas[Frame].