jonathanfishbein1 / complex-numbers / ComplexNumbers

A module for complex numbers

Types


type ComplexNumber a
    = ComplexNumber (Real a) (Imaginary a)

Cartesian representation of a complex number

Values

i : ComplexNumber number

The number i

zero : ComplexNumber number

zero

one : ComplexNumber number

one

Arithmetic operations on complex numbers

real : ComplexNumber a -> a

Extracts the real part of a complex number

imaginary : ComplexNumber a -> a

Extracts the imaginary part of a complex number

add : ComplexNumber number -> ComplexNumber number -> ComplexNumber number

Add two complex numbers together

multiply : ComplexNumber Basics.Float -> ComplexNumber Basics.Float -> ComplexNumber Basics.Float

Multiply two complex numbers together

subtract : ComplexNumber number -> ComplexNumber number -> ComplexNumber number

Subtract two complex numbers together

divide : ComplexNumber Basics.Float -> ComplexNumber Basics.Float -> ComplexNumber Basics.Float

Divide two complex numbers together

modulus : ComplexNumber Basics.Float -> Basics.Float

Calculate the modulus of a complex number

conjugate : ComplexNumber number -> ComplexNumber number

Calculate the conjugate of a complex number

imaginaryAxisReflection : ComplexNumber number -> ComplexNumber number

Calculate the imaginary axis reflection of a complex number

power : Basics.Float -> ComplexNumber Basics.Float -> ComplexNumber Basics.Float

Calculate a complex number raised to a power

convertFromCartesianToPolar : ComplexNumber Basics.Float -> Internal.ComplexNumber Basics.Float

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

convertFromPolarToCartesian : Internal.ComplexNumber Basics.Float -> ComplexNumber Basics.Float

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

euler : Basics.Float -> ComplexNumber Basics.Float

Euler's equation

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

complexSumSemigroup : Semigroup (ComplexNumber number)

Semigroup for Complex Numbers with addition as the operation

complexProductSemigroup : Semigroup (ComplexNumber Basics.Float)

Semigroup for Complex Numbers with addition as the operation

complexSumCommutativeSemigroup : CommutativeSemigroup (ComplexNumber number)

Semigroup for Complex Numbers with addition as the operation

complexProductCommutativeSemigroup : CommutativeSemigroup (ComplexNumber Basics.Float)

Semigroup for Complex Numbers with multiplicatoin as the operation

complexSumMonoid : Monoid (ComplexNumber number)

Monoid for Complex Numbers with addition as the operation

complexProductMonoid : Monoid (ComplexNumber Basics.Float)

Monoid for Complex Numbers with multiplication as the operation

complexSumCommutativeMonoid : CommutativeMonoid (ComplexNumber number)

Monoid for Complex Numbers with addition as the operation

complexProductCommutativeMonoid : CommutativeMonoid (ComplexNumber Basics.Float)

Monoid for Complex Numbers with multiplication as the operation

complexSumGroup : Group (ComplexNumber number)

Group for Complex Numbers with addition as the operation

complexProductGroup : Group (ComplexNumber Basics.Float)

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 Basics.Float)

Ring for Complex Numbers

complexDivisionRing : DivisionRing (ComplexNumber Basics.Float)

Division Ring for Complex Numbers

complexCommutativeRing : CommutativeRing (ComplexNumber Basics.Float)

Commutative Ring for Complex Numbers

complexCommutativeDivisionRing : CommutativeDivisionRing (ComplexNumber Basics.Float)

Commutative Division Ring for Complex Numbers

complexField : Field (ComplexNumber Basics.Float)

Field for Complex Numbers

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

Map over a complex number

pure : a -> ComplexNumber a

Place a value in the minimal Complex Number Cartesian context

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

Apply for Complex Number Cartesian representaiton applicative

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

Monadic bind for Complex Number Cartesian representaiton

equal : Typeclasses.Classes.Equality.Equality (ComplexNumber Basics.Float)

Equal type for ComplexNumber.

Read and Print

parseComplexNumber : Parser (ComplexNumber Basics.Float)

Parse ComplexNumber

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

Read ComplexNumber

print : ComplexNumber Basics.Float -> String

Print ComplexNumber

printiNotation : ComplexNumber Basics.Float -> String

Print ComplexNumber i notation with two decimal places

printiNotationWithRounding : (Basics.Float -> String) -> ComplexNumber Basics.Float -> String

Print ComplexNumber i notation with rounding function