Portability | requires multi-parameter type classes |
---|---|

Stability | provisional |

Maintainer | numericprelude@henning-thielemann.de |

Safe Haskell | None |

Abstraction of normed vector spaces

# Documentation

class (C a, C a v) => Sqr a v whereSource

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

Sqr Double Double | |

Sqr Float Float | |

Sqr Int Int | |

Sqr Integer Integer | |

Sqr a v => Sqr a [v] | |

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

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

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

(Ord i, Eq a, Eq v, Sqr a v) => Sqr a (Map i v) | |

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

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

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

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

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

class Sqr a v => C a v whereSource

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

Minimal definition:
`norm`

C Double Double | |

C Float Float | |

C Int Int | |

C Integer Integer | |

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

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

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

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

(Ord i, Eq a, Eq v, C a, Sqr a v) => C a (Map i v) | |

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

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