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

Algebra.NormedSpace.Euclidean

Description

Abstraction of normed vector spaces

Synopsis

# Documentation

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

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

Minimal definition: normSqr

Minimal complete definition

normSqr

Methods

normSqr :: v -> a Source #

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

Instances

 Source # Methods Source # Methods Source # Methods Source # Methods (Sqr a v, RealFloat v) => Sqr a (Complex v) Source # MethodsnormSqr :: Complex v -> a Source # Sqr a v => Sqr a [v] Source # MethodsnormSqr :: [v] -> a Source # Sqr a b => Sqr a (T b) Source # MethodsnormSqr :: T b -> a Source # Sqr a b => Sqr a (T b) Source # MethodsnormSqr :: T b -> a Source # (Sqr a v0, Sqr a v1) => Sqr a (v0, v1) Source # MethodsnormSqr :: (v0, v1) -> a Source # (Sqr a v0, Sqr a v1, Sqr a v2) => Sqr a (v0, v1, v2) Source # MethodsnormSqr :: (v0, v1, v2) -> a Source # (C a, C a) => Sqr (T a) (T a) Source # MethodsnormSqr :: T a -> T a Source # Sqr a v => Sqr (T a) (T v) Source # MethodsnormSqr :: T v -> T a Source #

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

Default definition for normSqr that is based on Foldable class.

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

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 Source #

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

Minimal definition: norm

Minimal complete definition

norm

Methods

norm :: v -> a Source #

Euclidean norm of a vector.

Instances

 Source # Methods Source # Methods Source # Methods Source # Methods (C a, Sqr a v, RealFloat v) => C a (Complex v) Source # Methodsnorm :: Complex v -> a Source # (C a, Sqr a v) => C a [v] Source # Methodsnorm :: [v] -> a Source # (C a, Sqr a b) => C a (T b) Source # Methodsnorm :: T b -> a Source # (C a, Sqr a b) => C a (T b) Source # Methodsnorm :: T b -> a Source # (C a, Sqr a v0, Sqr a v1) => C a (v0, v1) Source # Methodsnorm :: (v0, v1) -> a Source # (C a, Sqr a v0, Sqr a v1, Sqr a v2) => C a (v0, v1, v2) Source # Methodsnorm :: (v0, v1, v2) -> a Source # C a v => C (T a) (T v) Source # Methodsnorm :: T v -> T a Source #

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