# sparse-tensor: typesafe tensor algebra library

This package is intended to be used as a general purpose tensor algebra library. It defines the usual tensor algebra functions such as addition, scalar multiplication, tensor product, and contractions, but also general symmetrizations and further utility functions.

The implemented tensor data type is capable of being used with an arbitrary number of general abstract indices and can incorporate values of any type that allow for a meaningful addition, scaling, and multiplication. The package is thus very flexible and can easily be customised at wish.

This package performs best when the values a given tensor provides are explicitly needed. In particular all incorporated functions are implemented such that they explicitly manipulate the values of the given tensors. This allows for fast evaluation of the individual values from given tensors.

In order to improve memory usage, the tensors in this package employ a sparse storage paradigm. In other words, one may define a tensor by only providing its non-zero values explicitly. All remaining values are taken to be zero.

Furthermore this package also provides the functionality of fully automatically computing all linear independent expressions with given rank and symmetries
that can be composed by using the Minkowski metric and the totally antisymmetric tensor. In order words, the package includes functions that
construct a basis of the space of Lorentz invariant tensors of given symmetry and rank. With slight modifications the therefore implemented algorithms can
also be used for the computation of invariant tensor bases of any other special orthogonal group `SO(p,q)`

.

[Skip to Readme]

Versions [faq] | 0.1.0.0, 0.2, 0.2.1, 0.2.1.1, 0.2.1.2 |
---|---|

Change log | CHANGELOG.md |

Dependencies | ad (==4.3.*), base (>=4.7 && <5), bytestring (>=0.10.8 && <0.11), cereal (>=0.5.7 && <0.6), containers (>=0.5.7 && <0.7), deepseq (>=1.4.2 && <1.5), eigen (==3.3.4.1), ghc-typelits-knownnat (>=0.5.1 && <0.7), ghc-typelits-natnormalise (>=0.6.2 && <0.7), parallel (>=3.2.2 && <3.3), singletons (>=2.4.1 && <2.6), tf-random (==0.5.*), zlib (>=0.6.2 && <0.7) [details] |

License | MIT |

Copyright | 2019 Tobias Reinhart and Nils Alex |

Author | Tobias Reinhart and Nils Alex |

Maintainer | tobi.reinhart@fau.de, nils.alex@fau.de |

Category | Data, Math, Algebra |

Home page | https://github.com/TobiReinhart/sparse-tensor#readme |

Source repo | head: git clone git://github.com/TobiReinhart/sparse-tensor.git |

Uploaded | by nalex at Fri Aug 16 13:49:10 UTC 2019 |

Distributions | NixOS:0.2.1.2 |

Downloads | 305 total (89 in the last 30 days) |

Rating | (no votes yet) [estimated by rule of succession] |

Your Rating | |

Status | Docs uploaded by user Build status unknown [no reports yet] |

## Modules

[Index]

## Downloads

- sparse-tensor-0.1.0.0.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)