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

Safe HaskellNone
LanguageHaskell98

Algebra.NormedSpace.Euclidean

Contents

Description

Abstraction of normed vector spaces

Synopsis

Documentation

class (C a, C a v) => Sqr a v where #

Helper class for C that does not need an algebraic type a.

Minimal definition: normSqr

Minimal complete definition

normSqr

Methods

normSqr :: v -> a #

Square of the Euclidean norm of a vector. This is sometimes easier to implement.

Instances

Sqr Double Double # 

Methods

normSqr :: Double -> Double #

Sqr Float Float # 

Methods

normSqr :: Float -> Float #

Sqr Int Int # 

Methods

normSqr :: Int -> Int #

Sqr Integer Integer # 

Methods

normSqr :: Integer -> Integer #

(Sqr a v, RealFloat v) => Sqr a (Complex v) # 

Methods

normSqr :: Complex v -> a #

Sqr a v => Sqr a [v] # 

Methods

normSqr :: [v] -> a #

Sqr a b => Sqr a (T b) # 

Methods

normSqr :: T b -> a #

Sqr a b => Sqr a (T b) # 

Methods

normSqr :: T b -> a #

(Sqr a v0, Sqr a v1) => Sqr a (v0, v1) # 

Methods

normSqr :: (v0, v1) -> a #

(Sqr a v0, Sqr a v1, Sqr a v2) => Sqr a (v0, v1, v2) # 

Methods

normSqr :: (v0, v1, v2) -> a #

(C a, C a) => Sqr (T a) (T a) # 

Methods

normSqr :: T a -> T a #

Sqr a v => Sqr (T a) (T v) # 

Methods

normSqr :: T v -> T a #

normSqrFoldable :: (Sqr a v, Foldable f) => f v -> a #

Default definition for normSqr that is based on Foldable class.

normSqrFoldable1 :: (Sqr a v, Foldable f, Functor f) => f v -> a #

Default definition for normSqr that is based on Foldable class and the argument vector has at least one component.

class Sqr a v => C a v where #

A vector space equipped with an Euclidean or a Hilbert norm.

Minimal definition: norm

Minimal complete definition

norm

Methods

norm :: v -> a #

Euclidean norm of a vector.

Instances

C Double Double # 

Methods

norm :: Double -> Double #

C Float Float # 

Methods

norm :: Float -> Float #

C Int Int # 

Methods

norm :: Int -> Int #

C Integer Integer # 

Methods

norm :: Integer -> Integer #

(C a, Sqr a v, RealFloat v) => C a (Complex v) # 

Methods

norm :: Complex v -> a #

(C a, Sqr a v) => C a [v] # 

Methods

norm :: [v] -> a #

(C a, Sqr a b) => C a (T b) # 

Methods

norm :: T b -> a #

(C a, Sqr a b) => C a (T b) # 

Methods

norm :: T b -> a #

(C a, Sqr a v0, Sqr a v1) => C a (v0, v1) # 

Methods

norm :: (v0, v1) -> a #

(C a, Sqr a v0, Sqr a v1, Sqr a v2) => C a (v0, v1, v2) # 

Methods

norm :: (v0, v1, v2) -> a #

C a v => C (T a) (T v) # 

Methods

norm :: T v -> T a #

defltNorm :: (C a, Sqr a v) => v -> a #

Instances for atomic types

Instances for composed types