# EinSum

EinSum is a class library that extends C++ with index notation for tensors.
The following rules for index notation are used:
- Indices of tensors on the left hand side are free, and looped over in assignments.
- When evaluating tensor expressions, summation indices are summed over. Summation indices are those that are repeated in a term, at least once as an upper index and once as a lower index.

### Papers on EinSum

The basic ideas behind EinSum and our interpretation of index notation is described in
Einstein summation for Multi-dimensional arrays. A slightly revised version of the paper in the proceedings of NIK 2000, Norsk Informatikk Konferanse, Bodø, Norway, 20 - 22 November 2000, pp 67 - 78.
The mechanisms for supporting tensor symmetries in EinSum is described in
Supporting tensor symmetries in EinSum, Technical Report 212, Dept of Informatics, University of Bergen, Norway, June 2001.

### Examples

We present a few examples that show how EinSum may be used.
### Documentation

The header files are documented here.
A post script document is found here.
### Distribution

The software is still under development. Please contact me if you are interested in using a beta version.
Current version compiles with Sun's and SGI's compilators.

Krister Åhlander
Email: krister@ii.uib.no
Email: krister@tdb.uu.se