jonathanfishbein1/complex-numbers/9.1.1

NOTE: the latest version is 11.0.1

ComplexNumbers

A module for complex numbers

Types

type Real r
= Real r

Real portion

type Imaginary i
= Imaginary i

Imaginary portion

= ComplexNumber (Real a) (Imaginary a)

Cartesian representation of a complex number

Values

i : ComplexNumber number

The number i

zero

one

Arithmetic operations on complex numbers

Extracts the real part of a complex number

Extracts the imaginary part of a complex number

add :
-> ComplexNumber number
-> ComplexNumber number

Add two complex numbers together

Multiply two complex numbers together

-> ComplexNumber number
-> ComplexNumber number

Subtract two complex numbers together

Divide two complex numbers together

modulus : ComplexNumber Float -> Float

Calculate the modulus of a complex number

Calculate the conjugate of a complex number

power : Float -> ComplexNumber Float -> ComplexNumber Float

Calculate a complex number raised to a power

convertFromCartesianToPolar : ComplexNumber Float -> ComplexNumber Float

Convert from the Cartesian representation of a complex number to the polar representation

convertFromPolarToCartesian : ComplexNumber Float -> ComplexNumber Float

Convert from the polar representation of a complex number to the Cartesian representation

euler : Float -> ComplexNumber Float

Euler's equation

Semigroup, Monoid, Group, Ring, Field, Functor, Applicative Functor, and Monad

complexSumSemigroup : CommutativeSemigroup (ComplexNumber number)

Semigroup for Complex Numbers with addition as the operation

complexProductSemigroup : CommutativeSemigroup (ComplexNumber Float)

Semigroup for Complex Numbers with multiplicatoin as the operation

Monoid for Complex Numbers with addition as the operation

Monoid for Complex Numbers with multiplication as the operation

complexSumCommutativeMonoid : CommutativeMonoid (ComplexNumber number)

Monoid for Complex Numbers with addition as the operation

Monoid for Complex Numbers with multiplication as the operation

Group for Complex Numbers with addition as the operation

Group for Complex Numbers with multiplication as the operation

complexAbelianGroup : AbelianGroup (ComplexNumber number)

Group for Complex Numbers with addition as the operation

complexRing : Ring (ComplexNumber Float)

Ring for Complex Numbers

complexDivisionRing : DivisionRing (ComplexNumber Float)

Division Ring for Complex Numbers

complexCommutativeRing : CommutativeRing (ComplexNumber Float)

Commutative Ring for Complex Numbers

complexCommutativeDivisionRing : CommutativeDivisionRing (ComplexNumber Float)

Commutative Division Ring for Complex Numbers

complexField : Field (ComplexNumber Float)

Field for Complex Numbers

map : (a -> b) -> ComplexNumber a -> ComplexNumber b

Map over a complex number

Place a value in the minimal Complex Number Cartesian context

Apply for Complex Number Cartesian representaiton applicative

Monadic bind for Complex Number Cartesian representaiton

#Equality

equal : ComplexNumber Float -> ComplexNumber Float -> Bool

Compare two ComplexNumbers for equality

Read and Print

Parse ComplexNumber

read : String -> Result (List DeadEnd) (ComplexNumber Float)

Read ComplexNumber

print : ComplexNumber Float -> String

Print ComplexNumber