This data type has the following properties:
- takes two double values a, b to construct it
- add, subtract, multiply, divide operations
- print method to print it in "a + bi" format
- equals method to check equality of two complex numbers
- dividing by zero will return null
This data type can represent Vector of any dimension. It has the following properties:
- Takes any number (at least one) of parameter(s) to construct the Vector
- Addition, Subtraction, Scalar Multiplication and Division operations
- Dot Product
- Cross Product (for 3D and 7D) Vectors
- Normalization
- Magnitude Calculation
- Projection onto another Vector
- equals method to check equality of two Vectors
- print method to print in [ u1, u2, u3, ..., un ] form
- Copy constructor to safely copy an object (Deep Copy)