linear-1.20.3: Linear Algebra

Copyright | (C) 2012-2015 Edward Kmett
License | BSD-style (see the file LICENSE)
Maintainer | Edward Kmett <ekmett@gmail.com>
Stability | experimental
Portability | non-portable
Safe Haskell | Safe
Language | Haskell98

Linear.Conjugate

Description

Involutive rings

Synopsis

- class Num a => Conjugate a where
  - conjugate :: a -> a
- class Conjugate a => TrivialConjugate a

# Documentation

class Num a => Conjugate a where Source

An involutive ring

Minimal complete definition

Nothing

Methods

conjugate :: a -> a Source

Conjugate a value. This defaults to the trivial involution.

    >>> conjugate (1 :+ 2)
    1.0 :+ (-2.0)

    >>> conjugate 1
    1

Instances

Conjugate Double Source |
Conjugate Float Source |
Conjugate Int Source |
Conjugate Int8 Source |
Conjugate Int16 Source |
Conjugate Int32 Source |
Conjugate Int64 Source |
Conjugate Integer Source |
Conjugate Word Source |
Conjugate Word8 Source |
Conjugate Word16 Source |
Conjugate Word32 Source |
Conjugate Word64 Source |
Conjugate CFloat Source |
Conjugate CDouble Source |
(Conjugate a, RealFloat a) => Conjugate (Complex a) Source |
(Conjugate a, RealFloat a) => Conjugate (Quaternion a) Source |

class Conjugate a => TrivialConjugate a Source

Requires and provides a default definition such that

    conjugate = id

Instances

TrivialConjugate Double Source |
TrivialConjugate Float Source |
TrivialConjugate Int Source |
TrivialConjugate Int8 Source |
TrivialConjugate Int16 Source |
TrivialConjugate Int32 Source |
TrivialConjugate Int64 Source |
TrivialConjugate Integer Source |
TrivialConjugate Word Source |
TrivialConjugate Word8 Source |
TrivialConjugate Word16 Source |
TrivialConjugate Word32 Source |
TrivialConjugate Word64 Source |
TrivialConjugate CFloat Source |
TrivialConjugate CDouble Source |