hTensor-0.9.1: Multidimensional arrays and simple tensor computations.

Copyright(c) Alberto Ruiz 2009
MaintainerAlberto Ruiz
Safe HaskellNone



Exterior Algebra.



(/\) :: (Coord t, Fractional t) => Tensor t -> Tensor t -> Tensor t infixl 5 Source #

The exterior (wedge) product of two tensors. Obtains the union of subspaces.

Implemented as the antisymmetrization of the tensor product.

inner :: (Coord t, Fractional t) => Tensor t -> Tensor t -> Tensor t Source #

Euclidean inner product of multivectors.

leviCivita :: Int -> Tensor Double Source #

The full antisymmetric tensor of order n (contravariant version).

dual :: Tensor Double -> Tensor Double Source #

Inner product of a r-vector with the whole space.

dual t = inner (leviCivita n) t

(\/) :: Tensor Double -> Tensor Double -> Tensor Double infixl 4 Source #

The "meet" operator. Obtains the intersection of subspaces.

a \/ b = dual (dual a /\ dual b)

asMultivector :: Tensor Double -> Multivector Source #

Extract a compact multivector representation from a full antisymmetric tensor.

asMultivector = Multivector.fromTensor.

(We do not check that the tensor is actually antisymmetric.)

fromMultivector :: Int -> Multivector -> Tensor Double Source #

Create an explicit antisymmetric Tensor from the components of a Multivector of a given grade.