#### Topic: Function...with use of the real, imaginary, and complex values

Why not add support for real, imaginary, and complex values? Even naturally undefined values.

Examples:

[All real] Cos(x+y) = Cos(x)Cos(y)-Sin(x)Sin(y)

[Complex] Cos(x+iy) = Cos(x)Cosh(y)-i*Sin(x)Sinh(y)

[Imaginary] Cos(ix+iy) = Cos(i{x+y}) = Cosh(x+y) = Cosh(x)Cosh(y)+Sinh(x)Sinh(y)

Here is a list of current complex valued functions that I have obtained:

Ln(x+iy) = {Ln(x^2+y^2)+i*arctan(y/x)}/2 = {Ln(x^2+y^2)+i*arccot(x/y)}/2

Cos(x+iy) = Cos(x)Cosh(y)-i*Sin(x)Sinh(y)

Sin(x+iy) = Sin(x)Cosh(y)+i*Sinh(y)Cos(x)

Tan(x+iy) = [Tan(x)+i*Tanh(y)]/[1-i*Tan(x)Tanh(y)]

Cosh(x+iy) = Cosh(x)Cos(y)+iSinh(x)Sin(y)

Sinh(x+iy) = Sinh(x)Cos(y)+i*Sin(y)Cosh(x)

Tanh(x+iy) = [Tanh(x)+i*Tanh(y)]/[1+i*Tanh(x)Tan(y)]

e^(x+iy) = e^(x)*{Cos(y)+i*Sin(y)}

(x+iy)^(n) = (x^2+y^2)^(n/2)*(Cos[n*arctan{y/x}]+iSin[n*arctan{y/x}]) [For all real, imaginary, and complex values of n...I recommend it when n is negative value or a fraction]

**$matches[1]**. This is because I am aware that the code can read it in a way that does all 3 at once. Say for example I have a definite value that I am plugging into the function:

Cos(3) <-- this looks like it is only real, however I am certain you can write it such that it reads it as Cos(3+0i) because it will be read the exact same in mathematical terms:

Cos(3+0i) = Cosh(0)Cos(3)+iSin(3)Sinh(0) = Cos(3)

Making the code read all three simultaneously will help reduce the amount of work needed.

I am still working on deriving the inverses...they are miserable so far...but I will eventually derive them from the rules that I have above. I am willing to help in any way I can because this is the best graphing software I have found so far, and I am willing to invest time to help improve it in any way I can.