| Copyright | (c) Alberto Ruiz 2009 | 
|---|---|
| License | BSD3 | 
| Maintainer | Alberto Ruiz | 
| Stability | experimental | 
| Safe Haskell | None | 
| Language | Haskell98 | 
Numeric.LinearAlgebra.Tensor
Description
Tensor computations. Indices can only be contracted if they are of different Variant type.
- type Tensor t = NArray Variant t
 - data Variant
 - listTensor :: Coord t => [Int] -> [t] -> Tensor t
 - superindex :: Coord t => Name -> [Tensor t] -> Tensor t
 - subindex :: Coord t => Name -> [Tensor t] -> Tensor t
 - vector :: [Double] -> Tensor Double
 - covector :: [Double] -> Tensor Double
 - transf :: [[Double]] -> Tensor Double
 - switch :: Tensor t -> Tensor t
 - cov :: NArray i t -> Tensor t
 - contrav :: NArray i t -> Tensor t
 - forget :: NArray i t -> Array t
 - module Numeric.LinearAlgebra.Array
 
The Tensor type
Creates a tensor from a list of dimensions and a list of coordinates. A positive dimension means that the index is assumed to be contravariant (vector-like), and a negative dimension means that the index is assumed to be covariant (like a linear function, or covector). Contractions can only be performed between indices of different type.
Tensor creation utilities
vector :: [Double] -> Tensor Double Source #
Create a contravariant 1st order tensor from a list of coordinates.
covector :: [Double] -> Tensor Double Source #
Create a covariant 1st order tensor from a list of coordinates.
transf :: [[Double]] -> Tensor Double Source #
Create a 1-contravariant, 1-covariant 2nd order from list of lists of coordinates.
Index manipulation
switch :: Tensor t -> Tensor t Source #
Change the Variant nature of all dimensions to the opposite ones.
General array operations
module Numeric.LinearAlgebra.Array