GRTensorII is a package for the calculation and manipulation of components of tensors and related objects. Rather than focus upon a specific type or method of calculation, the program has been designed to operate efficiently for a wide range of applications and allowing use of a number of different mathematical formalisms. Calculation algorithms are optimized for the individual formalisms and transformations between formalisms has been made simple and intuitive. Additionally, the package allows for customization and expansion with the ability to define new objects, user-defined algorithms, and add-on libraries.

Regardless of the algorithm or formalism used for calculation, it is often the case that only certain simplifications applied at a crucial stages can make some problems tractable. For this reason, GRTensorII has been designed provide full control of the calculation path and the simplifications to be performed at each stage. Once a calculation is completed, a variety of commands are available for the manipulation and simplification of results.

In designing the package, emphasis has also been placed on the interface, allowing simple user input of calculations and tensor definitions, as well as presenting readable output. Metrics and basis vectors are easily defined and can be saved for later use. Calculations are specified in an intuitive manner using a minimal number of commands.

The developers of GRTensorII are: Peter Musgrave, Denis Pollney and Kayll Lake.

GRTensorII allows you to:

  • Work in either metric or basis vector formalisms;
  • Calculate standard objects (Riemann, Ricci tensors, etc.) for a given metric or set of basis vectors along with their derivatives in any index configuration;
  • Calculate scalar and differential invariants of a metric;
  • Perform these calculations in any number of dimensions;
  • Determine the Petrov type of a spacetime;
  • Define new tensors for calculation, taking into account their index symmetries;
  • Make full use of MapleV's simplification and equation manipulation routines to simplify the results of a calculation;
  • Work with multiple metrics simultaneously;
  • Automatically create a null tetrad corresponding to a given metric;
  • Perform coordinate transformations of metrics and rotations of null tetrads;
  • Determine junction conditions between two spaces;
  • Develop customized packages that can be used in conjunction standard GRTensorII functions and objects;
GRLite and GRTensorJ are Java based interfaces to GRTensorII.

GRTensorM is a port of an early version of GRTensorII to Mathematica.