jonathanfishbein1 / elm-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

negativeOne : ComplexNumber number

one

negativeI : ComplexNumber number

The number i

eToTheIPiOver4 : ComplexNumber Basics.Float

The number e^(i*pi/4)

Arithmetic operations on complex numbers

real : ComplexNumber a -> Real a

Extracts the real part of a complex number

imaginary : ComplexNumber a -> Imaginary 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 -> Real 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 : Real Basics.Float -> ComplexNumber Basics.Float

Euler's equation

round : Basics.Int -> ComplexNumber Basics.Float -> ComplexNumber Basics.Float

Round Complex Number

roots : Basics.Int -> ComplexNumber Basics.Float -> List (ComplexNumber Basics.Float)

Calculate the roots of a complex number

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

sumSemigroup : Semigroup (ComplexNumber number)

Semigroup for Complex Numbers with addition as the operation

productSemigroup : Semigroup (ComplexNumber Basics.Float)

Semigroup for Complex Numbers with addition as the operation

sumCommutativeSemigroup : CommutativeSemigroup (ComplexNumber number)

Semigroup for Complex Numbers with addition as the operation

productCommutativeSemigroup : CommutativeSemigroup (ComplexNumber Basics.Float)

Semigroup for Complex Numbers with multiplicatoin as the operation

sumMonoid : Monoid (ComplexNumber number)

Monoid for Complex Numbers with addition as the operation

productMonoid : Monoid (ComplexNumber Basics.Float)

Monoid for Complex Numbers with multiplication as the operation

sumCommutativeMonoid : CommutativeMonoid (ComplexNumber number)

Monoid for Complex Numbers with addition as the operation

productCommutativeMonoid : CommutativeMonoid (ComplexNumber Basics.Float)

Monoid for Complex Numbers with multiplication as the operation

sumGroup : Group (ComplexNumber number)

Group for Complex Numbers with addition as the operation

productGroup : Group (ComplexNumber Basics.Float)

Group for Complex Numbers with multiplication as the operation

abelianGroup : AbelianGroup (ComplexNumber number)

Group for Complex Numbers with addition as the operation

ring : Ring (ComplexNumber Basics.Float)

Ring for Complex Numbers

divisionRing : DivisionRing (ComplexNumber Basics.Float)

Division Ring for Complex Numbers

commutativeRing : CommutativeRing (ComplexNumber Basics.Float)

Commutative Ring for Complex Numbers

commutativeDivisionRing : CommutativeDivisionRing (ComplexNumber Basics.Float)

Commutative Division Ring for Complex Numbers

field : 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

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

Print ComplexNumber i notation with rounding function