hTensor-0.1.1: Multidimensional arrays and simple tensor computations.Source codeContentsIndex
Numeric.LinearAlgebra.Multivector
Stabilityexperimental
MaintainerAlberto Ruiz <aruiz@um.es>
Description

A simple implementation of Geometric Algebra.

The Num instance provides the geometric product, and the Fractional instance provides the inverse of multivectors.

This module provides a simple Euclidean embedding.

Synopsis
data Multivector
coords :: Multivector -> [(Double, [Int])]
scalar :: Double -> Multivector
vector :: [Double] -> Multivector
e :: Int -> Multivector
(/\) :: Multivector -> Multivector -> Multivector
(-|) :: Multivector -> Multivector -> Multivector
(\/) :: Multivector -> Multivector -> Multivector
rever :: Multivector -> Multivector
full :: Int -> Multivector
rotor :: Int -> Double -> Multivector -> Multivector
apply :: (Int -> Multivector) -> Multivector -> Multivector
grade :: Int -> Multivector -> Multivector
maxGrade :: Multivector -> Int
maxDim :: Multivector -> Int
fromTensor :: Tensor Double -> Multivector
Documentation
data Multivector Source
show/hide Instances
coords :: Multivector -> [(Double, [Int])]Source
scalar :: Double -> MultivectorSource
Creates a scalar multivector.
vector :: [Double] -> MultivectorSource
Creates a grade 1 multivector of from a list of coordinates.
e :: Int -> MultivectorSource
The k-th basis element.
(/\) :: Multivector -> Multivector -> MultivectorSource
The exterior (outer) product.
(-|) :: Multivector -> Multivector -> MultivectorSource
The contractive inner product.
(\/) :: Multivector -> Multivector -> MultivectorSource
Intersection of subspaces.
rever :: Multivector -> MultivectorSource
The reversion operator.
full :: Int -> MultivectorSource
The full space of the given dimension. This is the leviCivita simbol, and the basis of the pseudoscalar.
rotorSource
:: Intdimension of the space
-> Doubleangle
-> Multivectoraxis
-> Multivectorresult
The rotor operator, used in a sandwich product.
apply :: (Int -> Multivector) -> Multivector -> MultivectorSource

Apply a linear transformation, expressed as the image of the element i-th of the basis.

(This is a monadic bind!)

grade :: Int -> Multivector -> MultivectorSource
maxGrade :: Multivector -> IntSource
maxDim :: Multivector -> IntSource
fromTensor :: Tensor Double -> MultivectorSource

Extract a multivector representation from a full antisymmetric tensor.

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

Produced by Haddock version 2.6.0