hTensor-0.9.0: Multidimensional arrays and simple tensor computations.

Copyright (c) Alberto Ruiz 2009 BSD3 Alberto Ruiz provisional None Haskell98

Numeric.LinearAlgebra.Array

Description

Simple multidimensional array with useful numeric instances.

Contractions only require equal dimension.

Synopsis

# Documentation

data None Source

Unespecified coordinate type. Contractions only require equal dimension.

Constructors

 None

Instances

 Source Source Source Source Coord t => Show (Array t) Source

type Array t = NArray None t Source

Multidimensional array with unespecified coordinate type.

Arguments

 :: Coord t => [Int] dimensions -> [t] elements -> Array t

Construction of an `Array` from a list of dimensions and a list of elements in left to right order.

scalar :: Coord t => t -> NArray i t Source

Create a 0-dimensional structure.

index :: Coord t => Name -> [Array t] -> Array t Source

Create an `Array` from a list of parts (`index = newIndex None`).

(!) :: (Compat i, Coord t) => NArray i t -> [Char] -> NArray i t infixl 9 Source

Rename indices in alphabetical order (`renameO`) using single letter names.

(!>) :: (Compat i, Coord t) => NArray i t -> [Char] -> NArray i t infixl 9 Source

Explicit renaming of single letter index names.

For instance, `t >@> "pi qj"` changes index "p" to "i" and "q" to "j".

(~>) :: Coord t => NArray i t -> String -> NArray i t infixl 8 Source

`reorder` (transpose) dimensions of the array (with single letter names).

Operations are defined by named indices, so the transposed array is operationally equivalent to the original one.

(.*) :: (Coord a, Compat i) => NArray i a -> NArray i a -> NArray i a infixl 7 Source

Element by element product.

printA :: (Coord t, Compat i, PrintfArg t) => String -> NArray i t -> IO () Source

Print the array as a nested table with the desired format (e.g. %7.2f) (see also `formatArray`, and `formatScaled`).