The resultant tensor_type, Cf2 say, of this routine is the Christoffel symbols of the second kind, indexed as shown below:

•

The ginv parameter can be obtained by using the tensor package function tensor[invert] and the Cf1 parameter can be obtained by using the tensor package function tensor[Christoffel1]. Otherwise, be sure to use the appropriate indexing functions for the components of these quantities (as mentioned above).

•

Indexing Function: Because the Christoffel symbols of the second kind are symmetric in the last two (that is, lower) indices, the array of computed symbols uses the `index/cf2` indexing function. This function indexes an array of rank 3 so that it is symmetric in the second and third indices. Use of this indexing function decreases the number of symbols that must be assigned and stored to the number of independent symbols.

•

Simplification: This routine uses the `tensor/Christoffel2/simp` routine to carry out the simplification of each independent Christoffel symbol of the second kind. By default, it is initialized to the `tensor/simp` function. It is recommended that the `tensor/Christoffel2/simp` routine be customized to suit the particular needs of the problem at hand.

•

This function is part of the tensor package, and so can be used in the form Christoffel2(..) only after performing the command with(tensor) or with(tensor, Christoffel2). The function can always be accessed in the long form tensor[Christoffel2](..).