We happen to know that a complex sine function can be calculated using complex exponential functions:
sin z = 1/2i (eiz - e-iz)
= 1/2i [ex(cos y + i sin y) - e-x(cos y - i sin y)]
= sin x cosh y + i cos x sinh y |
This being the case, we can implement a Sine method and add to the KMP library as follows:
public static Complex Sin(Complex c)
{
return new Complex(Math.Cosh(c.Imaginary) * Math.Sin(c.Real) +,
(Math.Sinh(c.Imaginary) * Math.Cos(c.Real));
}
Cosine Function
Similar to the case of the complex sine function, a complex cosine function can also be calculated using complex exponential functions:
cos z = 1/2i (eiz + e-iz)
= 1/2i [ex(cos y + i sin y) + e-x(cos y - i sin y)]
= cos x cosh y - i sin x sinh y |
Using the above equation we can add a new method to the "Complex class". (Note - Complex class is an integral part of our
software library and is not shown in these examples):
public static Complex Cos(Complex c)
{
return new Complex(Math.Cosh(c.Imaginary) * Math.Cos(c.Real) -,
(Math.Sinh(c.Imaginary) * Math.Sin(c.Real));
}
Tangent Function
A complex tangent function is computed using complex sine and cosine functions:
The following complex Tangent method is added to the Complex class:
public static Complex Tan(Complex c)
{
return Sin(c) / Cos(c);
}
|