goal-geometry-0.20: The basic geometric type system of Goal
Safe HaskellNone
LanguageHaskell2010

Goal.Geometry.Vector

Description

The Linear module provides the tools for treating a locally Euclidean patch of a manifold as a linear space.

Synopsis

Vector Spaces

(.>) :: Double -> (c # x) -> c # x infix 7 Source #

Scalar multiplication of points on a manifold.

(/>) :: Double -> (c # x) -> c # x infix 7 Source #

Scalar division of points on a manifold.

convexCombination :: Manifold x => Double -> (c # x) -> (c # x) -> c # x Source #

Combination of two Points. Takes the first argument of the second argument, and (1-first argument) of the third argument.

Dual Spaces

class (Dual (Dual c) ~ c, Primal (Dual c)) => Primal c Source #

Primal charts have a Dual coordinate system.

Associated Types

type Dual c :: Type Source #

Instances

Instances details
Primal Cartesian Source # 
Instance details

Defined in Goal.Geometry.Vector

Associated Types

type Dual Cartesian Source #

type (#*) c x = Point (Dual c) x infix 3 Source #

A Point on a Manifold in the Dual coordinates of c.

(<.>) :: (c # x) -> (c #* x) -> Double infix 7 Source #

<.> is the inner product between a dual pair of Points.

dotMap :: Manifold x => (c # x) -> [c #* x] -> [Double] Source #

dotMap computes the inner product over a list of dual elements.