1.3. Bases on inner bundles and complex bases
Starting with version 0.9, xTensor` is capable of dealing with complex tensors and vector bundles. The function DefBasis has been extended accordingly and it now allows the user to define complex bases, through the option Dagger, taking the values Real or Complex. A basis on a real vbundle is real by default:
In[94]:=
Out[94]=
But let us see what happens when we define one on a complex bundle,
In[95]:=
Out[95]=
In[96]:=
In[97]:=
Out[97]=
A conjugate basis has also appeared on the conjugate manifold:
In[98]:=
Out[98]=
In[99]:=
Out[99]=
Notice how negative cnumbers do not denote covariant indices:
In[100]:=
Out[100]=
The basis objects of both bases look the same, because
In[101]:=
Out[101]=
In[102]:=
Out[102]=
In[103]:=
Out[103]//InputForm=
Basis[-a, {-1, comp†}]
and their cnumbers are also defined to be the same. This can be changed, with the new function DaggerBCIndex.Remember how in xTensor` the conjugates of indices were given by
In[104]:=
Out[104]=
But we cannot change the definition associated to DaggerIndex[{1, complex}], because complex is too deep to be given an upvalue. Let us see how we can use DaggerCIndex to solve this with an example. We want to complexify a real basis:
In[105]:=
In[106]:=
In[107]:=
And now
In[111]:=
Out[111]=
If we define a complex tensor on M3 we can see that this works
In[112]:=
In[113]:=
Out[113]=
We can even establish more complicated relations, if we remember that Basis and Dir act as inverses of each other
In[114]:=
In[116]:=
Out[116]=
In[117]:=
Created by Mathematica (May 16, 2008) | ![]() |