numeric-prelude-0.4.3: An experimental alternative hierarchy of numeric type classes

Copyright(c) Henning Thielemann 2004-2005
Maintainernumericprelude@henning-thielemann.de
Stabilityprovisional
Portabilityportable
Safe HaskellSafe
LanguageHaskell98

Algebra.Vector

Contents

Description

Abstraction of vectors

Synopsis

Documentation

class C v where #

A Module over a ring satisfies:

  a *> (b + c) === a *> b + a *> c
  (a * b) *> c === a *> (b *> c)
  (a + b) *> c === a *> c + b *> c

Minimal complete definition

zero, (<+>), (*>)

Methods

zero :: C a => v a #

zero element of the vector space

(<+>) :: C a => v a -> v a -> v a infixl 6 #

add and subtract elements

(*>) :: C a => a -> v a -> v a infixr 7 #

scale a vector by a scalar

Instances
C [] # 
Instance details

Defined in Algebra.Vector

Methods

zero :: C a => [a] #

(<+>) :: C a => [a] -> [a] -> [a] #

(*>) :: C a => a -> [a] -> [a] #

C T # 
Instance details

Defined in MathObj.PowerSeries

Methods

zero :: C a => T a #

(<+>) :: C a => T a -> T a -> T a #

(*>) :: C a => a -> T a -> T a #

C T # 
Instance details

Defined in MathObj.PowerSeries2

Methods

zero :: C a => T a #

(<+>) :: C a => T a -> T a -> T a #

(*>) :: C a => a -> T a -> T a #

C T # 
Instance details

Defined in MathObj.Polynomial

Methods

zero :: C a => T a #

(<+>) :: C a => T a -> T a -> T a #

(*>) :: C a => a -> T a -> T a #

C T # 
Instance details

Defined in MathObj.Matrix

Methods

zero :: C a => T a #

(<+>) :: C a => T a -> T a -> T a #

(*>) :: C a => a -> T a -> T a #

C T # 
Instance details

Defined in Number.Complex

Methods

zero :: C a => T a #

(<+>) :: C a => T a -> T a -> T a #

(*>) :: C a => a -> T a -> T a #

C T # 
Instance details

Defined in Number.Quaternion

Methods

zero :: C a => T a #

(<+>) :: C a => T a -> T a -> T a #

(*>) :: C a => a -> T a -> T a #

C T # 
Instance details

Defined in MathObj.LaurentPolynomial

Methods

zero :: C a => T a #

(<+>) :: C a => T a -> T a -> T a #

(*>) :: C a => a -> T a -> T a #

Ord i => C (Map i) # 
Instance details

Defined in MathObj.DiscreteMap

Methods

zero :: C a => Map i a #

(<+>) :: C a => Map i a -> Map i a -> Map i a #

(*>) :: C a => a -> Map i a -> Map i a #

Ord a => C (T a) # 
Instance details

Defined in MathObj.Algebra

Methods

zero :: C a0 => T a a0 #

(<+>) :: C a0 => T a a0 -> T a a0 -> T a a0 #

(*>) :: C a0 => a0 -> T a a0 -> T a a0 #

Ord i => C (T i) # 
Instance details

Defined in Number.Physical

Methods

zero :: C a => T i a #

(<+>) :: C a => T i a -> T i a -> T i a #

(*>) :: C a => a -> T i a -> T i a #

C (T a) # 
Instance details

Defined in Number.SI

Methods

zero :: C a0 => T a a0 #

(<+>) :: C a0 => T a a0 -> T a a0 -> T a a0 #

(*>) :: C a0 => a0 -> T a a0 -> T a a0 #

C ((->) b :: * -> *) # 
Instance details

Defined in Algebra.Vector

Methods

zero :: C a => b -> a #

(<+>) :: C a => (b -> a) -> (b -> a) -> b -> a #

(*>) :: C a => a -> (b -> a) -> b -> a #

class Eq v where #

We need a Haskell 98 type class which provides equality test for Vector type constructors.

Minimal complete definition

eq

Methods

eq :: Eq a => v a -> v a -> Bool infix 4 #

Instances
Eq [] # 
Instance details

Defined in Algebra.Vector

Methods

eq :: Eq a => [a] -> [a] -> Bool #

Instances for standard type constructors

functorScale :: (Functor v, C a) => a -> v a -> v a #

Related functions

linearComb :: (C a, C v) => [a] -> [v a] -> v a #

Compute the linear combination of a list of vectors.

Properties

propCascade :: (C v, Eq v, C a, Eq a) => a -> a -> v a -> Bool #

propRightDistributive :: (C v, Eq v, C a, Eq a) => a -> v a -> v a -> Bool #

propLeftDistributive :: (C v, Eq v, C a, Eq a) => a -> a -> v a -> Bool #