Skip to content

albertoruiz/hTensor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

70 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

hTensor

A Haskell package for multidimensional arrays, simple tensor computations and multilinear algebra.

Array dimensions have an "identity" which is preserved in data manipulation. Indices are explicitly selected by name in expressions, and Einstein's summation convention for repeated indices is automatically applied.

The library has a purely functional interface: arrays are immutable, and operations work on whole structures which can be assembled and decomposed using simple primitives. Arguments are automatically made conformable by replicating them along extra dimensions appearing in an operation.

There is preliminary support for geometric algebra, multidimensional linear systems of equations, and tensor decompositions.

Installation

    $ sudo apt-get install haskell-platform libgsl0-dev liblapack-dev
    $ cabal update
    $ cabal install hTensor

Test

    $ ghci
    > import Numeric.LinearAlgebra.Exterior
    > printA "%4.0f" $ leviCivita 4 !"pqrs" * cov (leviCivita 4)!"qrsu"

    p^4 x u_4
                u
        -6    0    0    0
    p    0   -6    0    0
         0    0   -6    0
         0    0    0   -6

About

Multidimensional arrays and simple tensor computations

Resources

License

Stars

Watchers

Forks

Packages

No packages published