|
Numeric.LinearAlgebra.Array.Util | Portability | portable | Stability | provisional | Maintainer | Alberto Ruiz <aruiz@um.es> |
|
|
|
Description |
Additional tools for manipulation of multidimensional arrays.
|
|
Synopsis |
|
class (Num (Vector t), Field t) => Coord t | | class (Eq a, Show (Idx a)) => Compat a where | | | data NArray i t | | data Idx i = Idx {} | | type Name = String | | scalar :: Coord t => t -> NArray i t | | rank :: NArray i t -> Int | | names :: NArray i t -> [Name] | | size :: Name -> NArray i t -> Int | | typeOf :: Compat i => Name -> NArray i t -> i | | dims :: NArray i t -> [Idx i] | | coords :: NArray i t -> Vector t | | rename :: (Coord t, Compat i) => NArray i t -> [Name] -> NArray i t | | (!) :: (Coord t, Compat i) => NArray i t -> String -> NArray i t | | parts :: Coord t => NArray i t -> Name -> [NArray i t] | | newIndex :: (Coord t, Compat i) => i -> Name -> [NArray i t] -> NArray i t | | mapArray :: Coord b => (Vector a -> Vector b) -> NArray i a -> NArray i b | | zipArray :: (Coord a, Coord b, Compat i) => (Vector a -> Vector b -> Vector c) -> NArray i a -> NArray i b -> NArray i c | | (|*|) :: (Coord t, Compat i) => NArray i t -> NArray i t -> NArray i t | | extract :: (Compat i, Coord t) => (Int -> NArray i t -> Bool) -> Name -> NArray i t -> NArray i t | | onIndex :: (Coord a, Coord b, Compat i) => ([NArray i a] -> [NArray i b]) -> Name -> NArray i a -> NArray i b | | reorder :: Coord t => [Name] -> NArray i t -> NArray i t | | (~>) :: Coord t => NArray i t -> String -> NArray i t | | formatArray :: (Coord t, Compat i) => (t -> String) -> NArray i t -> String | | formatFixed :: Compat i => Int -> NArray i Double -> String | | formatScaled :: Compat i => Int -> NArray i Double -> String | | dummyAt :: Int -> NArray i t -> NArray i t | | noIdx :: Compat i => NArray i t -> NArray i t | | conformable :: Compat i => [[Idx i]] -> Maybe [Idx i] | | sameStructure :: Eq i => NArray i t1 -> NArray i t2 -> Bool | | makeConformant :: (Coord t, Compat i) => [NArray i t] -> [NArray i t] | | basisOf :: Coord t => NArray i t -> [NArray i t] | | asScalar :: Coord t => NArray i t -> t | | asVector :: Coord t => NArray i t -> Vector t | | asMatrix :: Coord t => NArray i t -> Matrix t | | fromVector :: Compat i => i -> Vector t -> NArray i t | | fromMatrix :: (Compat i, Coord t) => i -> i -> Matrix t -> NArray i t | | class Element e => Container c e where | |
|
|
Documentation |
|
|
Types that can be elements of the multidimensional arrays.
| | Instances | |
|
|
|
Class of compatible indices for contractions.
| | Methods | | | Instances | |
|
|
|
A multidimensional array with index type i and elements t.
| Instances | (Coord t, Coord (Complex t), Compat i, Container Vector t) => Container (NArray i) t | (Coord t, Compat i) => Eq (NArray i t) | (Coord t, Compat i, Fractional (NArray i t), Floating (Vector t)) => Floating (NArray i t) | (Coord t, Compat i, Num (NArray i t)) => Fractional (NArray i t) | (Show (NArray i t), Coord t, Compat i) => Num (NArray i t) |
|
|
|
|
Dimension descriptor.
| Constructors | | Instances | |
|
|
|
indices are denoted by strings, (frequently single-letter)
|
|
|
Create a 0-dimensional structure.
|
|
|
The number of dimensions of a multidimensional array.
|
|
|
Index names.
|
|
|
Dimension of given index.
|
|
|
Type of given index.
|
|
|
Get detailed dimension information about the array.
|
|
|
Get the coordinates of an array as a
flattened structure (in the order specified by dims).
|
|
|
|
|
|
|
|
|
:: Coord t | | => NArray i t | index to expand
| -> Name | | -> [NArray i t] | | Create a list of the substructures at the given level.
|
|
|
|
|
|
|
Apply a function (defined on hmatrix Vectors) to all elements of a structure.
Use mapArray (mapVector f) for general functions.
|
|
|
:: (Coord a, Coord b, Compat i) | | => Vector a -> Vector b -> Vector c | | -> NArray i a | | -> NArray i b | | -> NArray i c | | Apply a function on vectors to conformant arrays. Two arrays are conformant if
the dimensional structure of one of them is contained in the other one. The smaller
structure is replicated along the extra dimensions. The result has the same index
order as the largest structure (or as the first argument, if they are equal).
|
|
|
|
Tensor product with automatic contraction of repeated indices, following Einstein summation convention.
|
|
|
Select some parts of a tensor, taking into account position and value.
|
|
|
Apply a list function to the parts of an array at a given index.
|
|
|
Change the internal layout of coordinates.
The array, considered as an abstract object, does not change.
|
|
|
reorder (transpose) the 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.
|
|
|
|
|
|
:: Compat i | | => Int | | -> NArray i Double | | -> String | | Show the array as a nested table with a "%.nf" format. If all entries
are approximate integers the array is shown without the .00.. digits.
|
|
|
|
|
|
|
Insert a dummy index of dimension 1 at a given level (for formatting purposes).
|
|
|
Rename indices so that they are not shown in formatted output.
|
|
|
Obtains most general structure of a list of dimension specifications
|
|
|
Check if two arrays have the same structure.
|
|
|
Converts a list of arrays to a common structure.
|
|
|
Obtain a canonical base for the array.
|
|
|
Extract the scalar element corresponding to a 0-dimensional array.
|
|
|
Extract the Vector corresponding to a one-dimensional array.
|
|
|
Extract the Matrix corresponding to a two-dimensional array,
in the rows,cols order.
|
|
|
Create a rank-1 array from an hmatrix Vector.
|
|
|
Create a rank-2 array from an hmatrix Matrix.
|
|
|
conversion utilities
| | Methods | | | Instances | |
|
|
Produced by Haddock version 2.6.0 |