Copyright | (c) The University of Glasgow 2001 |
---|---|

License | BSD-style (see the file libraries/base/LICENSE) |

Maintainer | [email protected] |

Stability | provisional |

Portability | portable |

Safe Haskell | Trustworthy |

Language | Haskell2010 |

Complex numbers.

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.

The `Foldable`

and `Traversable`

instances traverse the real part first.

Note that `Complex`

's instances inherit the deficiencies from the type parameter's. For example, `Complex Float`

's `Ord`

instance has similar problems to `Float`

's.

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

realPart :: Complex a -> a Source

Extracts the real part of a complex number.

imagPart :: Complex a -> a Source

Extracts the imaginary part of a complex number.

mkPolar :: Floating a => a -> a -> Complex a Source

Form a complex number from polar components of magnitude and phase.

cis :: Floating a => a -> Complex a Source

`cis t`

is a complex value with magnitude `1`

and phase `t`

(modulo `2*pi`

).

polar :: RealFloat a => Complex a -> (a, a) Source

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 Source

The nonnegative magnitude of a complex number.

phase :: RealFloat a => Complex a -> a Source

The phase of a complex number, in the range `(-pi, pi]`

. If the magnitude is zero, then so is the phase.

conjugate :: Num a => Complex a -> Complex a Source

The conjugate of a complex number.

© The University of Glasgow and others

Licensed under a BSD-style license (see top of the page).

https://downloads.haskell.org/~ghc/8.6.1/docs/html/libraries/base-4.12.0.0/Data-Complex.html