tpTensor

tpTensor is a Mathematica package for doing index-free tensor calculations. Its development has been driven by the author’s interest in electromagnetic radiation reaction for charged multipole particles. As such it is rather good at some things, but still not so good at others.

The current version of tpTensor uses a large set of ad hoc rules for simplifying tensor expressions. This is adequate for many purposes, but of little use for problems like simplifying polynomials of the Riemann tensor. A future version of tpTensor might make use of Mathematica’s built-in canonical tensor simplification.

Getting tpTensor

The tpTensor package is currently released and maintained within a bundle of about a dozen related Mathematica packages. The .zip and .tar downloads contain the entire package bundle. Notable amongst these packages are:

For brief descriptions of all packages in the bundle, see the package manifest.

At a later date, some of the packages (in particular, the three above) may be separated out into their own git repositories. Until then, releases of the tpTensor bundle will be identified by a date of the form yyyy-mm-dd, whereas the packages within the bundle have their own individual version numbers of the form x.x.x (see the release notes for these).

Requirements

tpTensor is well tested with Mathematica 10.3 and 11.0.1. Development is done using the latest Mathematica version (at the time of writing, 11.3.0).

Installation

These instructions are for a single user installation in the standard location.

  1. Download the latest tpTensor bundle from the release page.

  2. The download will extract to a directory named by the release date of the bundle. For example, either of the commands

        > unzip tpTensor-2018-04-29.zip
        > tar xf tpTensor-2018-04-29.tar.gz
    

    will create the directory tpTensor-2018-04-29. This extracted directory needs to be moved to the location returned by the following Mathematica expression,

        FileNameJoin[{$UserBaseDirectory, "Applications"}] 
    

    On Linux, this location is typically /home/username/.Mathematica/Applications. For example,

        > mv tpTensor-2018-04-29 /home/username/.Mathematica/Applications
    

    You will need to edit both the date and username in the above commands.

  3. Add the following lines to the end of your Kernel/init.m
    (for Linux this file should be at: ~/.Mathematica/Kernel/init.m),

      $tpTensorBundle = FileNameJoin[{$UserBaseDirectory,"Applications","tpTensor-2018-04-29"}];
      $PathOriginal = $Path;
      $Path = Join[ $PathOriginal,
                {
                  $tpTensorBundle,
                  FileNameJoin[{$tpTensorBundle,"PackagesRequired"}],
                  FileNameJoin[{$tpTensorBundle,"PackagesExtra"}]
                }];
      $TeXitBaseurl = FileNameJoin[{$tpTensorBundle,"PackagesRequired"}];
      $TeXitAuthor = "your name";
    

    Edit the first line above to match the release date of your download.

    The string $TeXitAuthor will be the default author name for any documents generated by TeXit. Edit the last line above so that the string $TeXitAuthor is your name as you would write it in LaTeX. For example, I use $TeXitAuthor = "Andrew~H.~Norton".

  4. Install the Notebook style file that is required for using TeXit.

    This style file provides TeX versions of various Mathematica cell types. Follow the installation instructions given in the file StyesheetInstall.txt, which is to be found in the directory containing the TeXit source files.

  5. For Linux systems only, install the linux package wmctrl. This is required for running the package ShortWindowTitles. See the package manifest for further details.

Getting started

See the Mathematica Notebooks in the Examples directories for the individual packages.

Documentation

The tpTensor documentation has not yet been integrated into Mathematica’s help center. However, help for most tpTensor functions is available via the usual ?<fn-name> command within Mathematica. Otherwise, use ??<fn-name> to see the code.

Most of the smaller packages are only documented within their source (.nb) files.

Licence

tpTensor is a Mathematica package.
Copywrite © 2016-2018 Andrew H. Norton.

Statement of copying permission:

tpTensor is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

tpTensor is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with tpTensor. If not, see <http://www.gnu.org/licenses/>.

norton.ah@gmail.com
https://ahnorton.github.io/tpTensor/