1.1. DefBasis
This section will explain how to define and work with new bases, without assuming that they have an underlying coordinate chart.
 DefBasis            Define a basis
VBundleOfBasis        VBundle on which a basis lives
PDOfBasis            Parallel derivative associated to the given basis
$Bases                List of currently defined bases
BasisQ                Check existence of a given basis name
Definition of a basis.
To define a basis we only have to provide a name, a vector bundle and a list of cnumbers (whose lenght must be the dimension of the bundle). The cnumbers can include 0 and even negative integers.
In[58]:=
 ![DefBasis[polar, TangentM3, {0, 1, 2}]](../HTMLFiles/xCobaDoc.nb_225.gif) 
 ![** DefCovD: Defining parallel derivative PDpolar[-a] .](../HTMLFiles/xCobaDoc.nb_226.gif) 
 ![** DefTensor: Defining torsion tensor TorsionPDpolar[a, -b, -c] .](../HTMLFiles/xCobaDoc.nb_227.gif) 
 ![** DefTensor: Defining non-symmetric Christoffel tensor ChristoffelPDpolar[a, -b, -c] .](../HTMLFiles/xCobaDoc.nb_228.gif) 
 ![** DefTensor: Defining vanishing Riemann tensor RiemannPDpolar[-a, -b, -c, d] .](../HTMLFiles/xCobaDoc.nb_229.gif) 
 ![** DefTensor: Defining vanishing Ricci tensor RicciPDpolar[-a, -b] .](../HTMLFiles/xCobaDoc.nb_230.gif) 
 ![** DefTensor: Defining antisymmetric +1 density etaUppolar[a, b, c] .](../HTMLFiles/xCobaDoc.nb_231.gif) 
 ![** DefTensor: Defining antisymmetric -1 density etaDownpolar[-a, -b, -c] .](../HTMLFiles/xCobaDoc.nb_232.gif) 
As we can see, several other objects are automatically defined: the parallel derivative and its torsion, Christoffel, Riemann and Ricci tensors. We shall say more about them in Section 3.
In[59]:=
 ![PDOfBasis[polar]](../HTMLFiles/xCobaDoc.nb_233.gif) 
Out[59]=
  
Each basis has a colour, used to identify its associated indices and objects in StandardForm. The default for new bases is red, but we can specify a different one:
In[60]:=
 ![DefBasis[cartesian, TangentM3, {0, 1, 2}, BasisColor→ RGBColor[0, 1, 0]]](../HTMLFiles/xCobaDoc.nb_235.gif) 
 ![** DefCovD: Defining parallel derivative PDcartesian[-a] .](../HTMLFiles/xCobaDoc.nb_236.gif) 
 ![** DefTensor: Defining torsion tensor TorsionPDcartesian[a, -b, -c] .](../HTMLFiles/xCobaDoc.nb_237.gif) 
 ![** DefTensor: Defining non-symmetric Christoffel tensor ChristoffelPDcartesian[a, -b, -c] .](../HTMLFiles/xCobaDoc.nb_238.gif) 
 ![** DefTensor: Defining vanishing Riemann tensor RiemannPDcartesian[-a, -b, -c, d] .](../HTMLFiles/xCobaDoc.nb_239.gif) 
 ![** DefTensor: Defining vanishing Ricci tensor RicciPDcartesian[-a, -b] .](../HTMLFiles/xCobaDoc.nb_240.gif) 
 ![** DefTensor: Defining antisymmetric +1 density etaUpcartesian[a, b, c] .](../HTMLFiles/xCobaDoc.nb_241.gif) 
 ![** DefTensor: Defining antisymmetric -1 density etaDowncartesian[-a, -b, -c] .](../HTMLFiles/xCobaDoc.nb_242.gif) 
We can to give different cnumbers to two bases on the same vbundle. A basis has several associated definitions and UpValues:
In[61]:=
  
| 
 | 
In[62]:=
  
Out[62]=
  
| Created by Mathematica (May 16, 2008) |  |