| Haskell Hierarchical Libraries (base package) | Contents | Index

Data.Complex

Portability | portable
Stability | provisional
Maintainer | libraries@haskell.org

Contents

Rectangular form
Polar form
Conjugate

Description
Complex numbers.
Synopsis

data Complex a = (:+) !a !a
realPart :: RealFloat a => Complex a -> a
imagPart :: RealFloat a => Complex a -> a
mkPolar :: RealFloat a => a -> a -> Complex a
cis :: RealFloat a => a -> Complex a
polar :: RealFloat a => Complex a -> (a, a)
magnitude :: RealFloat a => Complex a -> a
phase :: RealFloat a => Complex a -> a
conjugate :: RealFloat a => Complex a -> Complex a

Rectangular form
data Complex a

Complex numbers are an algebraic type. For a complex number `z`, ``abs` z` is a number with the magnitude of `z`, but oriented in the positive real direction, whereas ``signum` z` has the phase of `z`, but unit magnitude.
Constructors

(:+) !a !a | forms a complex number from its real and imaginary rectangular components.

Instances

Typeable1 Complex
(RealFloat a, Eq a) => Eq (Complex a)
RealFloat a => Floating (Complex a)
RealFloat a => Fractional (Complex a)
(RealFloat a, NFData a) => NFData (Complex a)
RealFloat a => Num (Complex a)
(RealFloat a, Read a) => Read (Complex a)
(RealFloat a, Show a) => Show (Complex a)

realPart :: RealFloat a => Complex a -> a
Extracts the real part of a complex number.
imagPart :: RealFloat a => Complex a -> a
Extracts the imaginary part of a complex number.
Polar form
mkPolar :: RealFloat a => a -> a -> Complex a
Form a complex number from polar components of magnitude and phase.
cis :: RealFloat a => a -> Complex a
``cis` t` is a complex value with magnitude `1` and phase `t` (modulo `2*`pi``).
polar :: RealFloat a => Complex a -> (a, a)
The function `polar` takes a complex number and returns a (magnitude, phase) pair in canonical form: the magnitude is nonnegative, and the phase in the range `(-`pi`, `pi`]`; if the magnitude is zero, then so is the phase.
magnitude :: RealFloat a => Complex a -> a
The nonnegative magnitude of a complex number.
phase :: RealFloat a => Complex a -> a
The phase of a complex number, in the range `(-`pi`, `pi`]`. If the magnitude is zero, then so is the phase.
Conjugate
conjugate :: RealFloat a => Complex a -> Complex a
The conjugate of a complex number.
Produced by Haddock version 0.7