Skip to content
vmathmachine edited this page May 22, 2022 · 8 revisions

Welcome to the Complex-Numbers wiki!

In this wiki, I provide explanations and documentation for how my complex number library works.

Classes

There are 4 classes in this library.

Mafs extends java.lang.Object

Complex extends Mafs

Cpx extends Mafs

Cpx2 extends Cpx

Technically, there's also a fifth class: ComplexNumbers. But, it's really just there so everything gets packaged together, it doesn't actually do anything. Other than allow you to see the version number, I guess. It should be noted this is the first library I've ever made, so I genuinely don't even know if that class needs to be there. But...it's there.

Lists of features

Each class has its own set of features:

Mafs contains some math features (mostly just stuff for doubles) that help the complex numbers do what they need to. It also contains some fundamental math constants.

Complex contains the actual Complex Number object, as well as all built in functions, such as string conversion, copy constructors, set functions, and of course complex number math.

Cpx Contains a set of complex number functions which are best suited for implementation outside of the Complex class, such as sub(double, Complex).

Cpx2 contains a set of special functions (with complex inputs) such as the Gamma function.

Implementation Details for Certain Math Functions

Some math functions, for one reason or another, warranted having their own article. Either because they were so complicated, because there was so much useful information, or...some other reason. Regardless, here are the links to those articles.

sqrt (Square Root)

inv (Reciprocal)

Arithmetic Operations (Addition, Subtraction, Multiplication, and Division, and the way that they're implemented)

Trig & Hyp Functions

Inverse Trig & Hyp Functions

Clone this wiki locally