1
$\begingroup$

I'm trying to do complex exponentiation on Javascript but I find hard to convert any of the equations I've read to the programming language.

I'm trying to know how to do $$(a+bi)^{c+di} = magic$$

I've read several posts that I find hard to understand and I'm not sure if I'm understanding the equations right.

I've found 2 approaches so far:

1. MathWorld: Complex Exponentiation

This is the link the to the site MathWorld: Complex Exponentiation

There is a equation there like this:

$$(a+bi)^{c+di} = (a^2+b^2)^{\frac{(c+di)}2} e^{i(c+id)\arg(a+ib)}$$

$$(a+bi)^{c+di} = (a^2+b^2)^{\frac{c}2} e^{-d\arg(a+ib)}*{(cos[c\arg(a+ib)+\frac{1}{2} d \ln(a^2+b^2)]+ i\sin[c\arg(a+ib)+\frac{1}{2} d \ln(a^2+b^2)])}$$

Taking account that: $arg(a+ib)=tan^{-1}(\frac{b}{a})$

This equation is in two lines also on the website and I get a little confused. Can I assume that the result of the avobe equation is:

Real Part

$$(a^2+b^2)^{\frac{c}2} e^{-d\arg(a+ib)}*(cos[c\arg(a+ib)+\frac{1}{2} d \ln(a^2+b^2)] =$$ $$=(a^2+b^2)^{\frac{c}2} e^{-d\tan^{-1}(\frac{b}{a})}*(cos[c\tan^{-1}(\frac{b}{a})+\frac{1}{2} d \ln(a^2+b^2)]$$

Imaginary Part

$$(a^2+b^2)^{\frac{c}2} e^{-d\arg(a+ib)}*(i\sin[c\arg(a+ib)+\frac{1}{2} d \ln(a^2+b^2)]=$$ $$=(a^2+b^2)^{\frac{c}2} e^{-d\tan^{-1}(\frac{b}{a})}*(i\sin[c\tan^{-1}(\frac{b}{a})+\frac{1}{2} d \ln(a^2+b^2)]$$

So, here is the first 2 question:

  • 1.1 Are those 2 assumptions right about the result of the exponentiation ?

  • 1.2 If the assumptions are wrong, which is the best way to solve the equation ?

2.Polar Form of a Complex Number

I've read on different posts and sites that another approach is to convert the number to the polar form of the complex number:

$$a+bi=r\,(cos \,θ+i sin θ)$$ $$r=\sqrt{a^2+b^2}$$ $$θ=arctan(\frac{b}{a})$$

  • 2.2 How could I use the polar form to calculate the result of a complex exponentiation?

$$(a+bi)^{c+di} = r\,(cos \,θ+i sin θ)^{q\,(cos \,∝\,+\,i\,sin ∝)}$$ $$r=\sqrt{a^2+b^2}$$ $$θ=arctan(\frac{b}{a})$$ $$q=\sqrt{c^2+d^2}$$ $$∝=arctan(\frac{d}{c})$$

$\endgroup$

2 Answers 2

2
$\begingroup$

It seems you have understood it correctly, but you may also have done it unnecessarily complicated. Because, using only algebra, you can construct a meaningful, if not intuitive, at least more inutitive way of representing complex exponentiation: Let $z = a+bi$ and $w = c+di$. Note: $z = |z|*e^{Arg(z)*i}$ $$z^w = (a+bi)^{c+di}$$$$ = (a+bi)^c*(a+bi)^{di}$$$$ = |z|^c*e^{iArg(z)c}*|z|^{di}*(e^{Arg(z)*i})^{di}$$$$= |z|^c*e^{-Arg(z)d}*e^{ln(|z|)di}*e^{iArg(z)c}$$$$ = \frac{|z|^c}{e^{Arg(z)d}}e^{(Arg(z)c+ln(|z|)d)i}$$ $|z| = \sqrt{Re(z)^2+Im(z)^2}$ ➝ The length of z
$Arg(z) = atan2(Im(z), Re(z))$ ➝ The angle of z
$e^{i\theta} = cos(\theta)+isin(\theta)$ ➝ Euler's formula

Using this formula, you only need to know how to do exponentiation with real numbers, finding the angle of a complex number, finding ln(x), finding |x|, euler's formula, multiplication, division, addition and sometimes subtraction.

Some interesting observations I've made:
- When taking any complex or real number to the power of $i$, the angle and length of the number seem to swap: $z = a+bi, w = 0+1i$ $$z^w = \frac{|z|^0}{e^{Arg(z)*1}}e^{(Arg(z)*0+ln(|z|*1)i} = \frac{1}{e^{Arg(z)}}e^{ln(|z|)i}$$ When taking $z^i$, $1$ divided by $e$ to the power of the angle of $z$, is now the length, and the natural logarithm of the length is now the angle.

- Doing complex exponentiation with a real exponent is essentially a mix of stretching and rotating the base.
- Doing complex exponentiation with an imaginary exponent basically just swaps the length and the angle.
- Doing complex exponentiation with a complex exponent is a mix of the two things mentioned above.


Complex roots
Finding complex roots is very similar to taking complex exponentials, since, as we know: $\sqrt[b]{a} = a^{\frac{1}{b}}$ Having used some basic algebra, I've come up with a similar formula for the wth root of z where $z,w ∈ ℂ$: $$\sqrt[w]{z} = z^{\frac{1}{w}}$$ $$= exp\left(\frac{Arg(z)d+ln(|z|)c}{c^2+d^2}+\frac{Arg(z)c-ln(|z|)d}{c^2+d^2}i\right)$$

$\endgroup$
1
$\begingroup$

Apply De Moivre's Theorem and this becomes fairly manageable. $$[r(\cos\theta+i\sin\theta)]^{q\cos\alpha+iq\sin\alpha} =\\ =r^{q\cos\alpha+iq\sin\alpha}(q\cos\theta \cos\alpha-q\sin\theta \sin\alpha +iq\cos\theta \sin\alpha+iq\sin\theta \cos\alpha) = \dots $$ Then the cos and sine addition rules $$\dots = qr^{q\cos\alpha+iq\sin\alpha}(\cos(\theta + \alpha)+i\sin(\theta + \alpha)) = \dots$$ Ignore the second half for now, I will resolve the first half and then multiply the second half back on at the end. $$qr^{q\cos\alpha} r^{iq\sin\alpha} =\\ =qr^{q\cos\alpha} e^{iq\ln(r)\sin\alpha} =\\ =qr^{q\cos\alpha}(\cos⁡(q\ln⁡(r)\sin⁡\alpha)+i\sin⁡(q\ln⁡(r)\sin⁡\alpha)) \,$$ because $r=e^{\ln r}$.

Putting everything back together we get: $$\dots = qr^{q\cos\alpha}[\cos⁡(q\ln⁡(r)\sin⁡\alpha)+i\sin⁡(q\ln⁡(r)\sin⁡\alpha][\cos(\theta + \alpha)+i\sin(\theta + \alpha)] \ ,$$

with every power now comprised of only real numbers. Hope this helps :)

$\endgroup$
4
  • $\begingroup$ It is better to add a slash in front of the usual mathematical functions in order to make them display more nicely: \cos, \sin, \ln etc. $\endgroup$
    – Alex M.
    Commented Apr 23, 2018 at 14:53
  • $\begingroup$ Thanks Alex, still a newbie with all the ins and outs. Does the answer seem good otherwise? $\endgroup$ Commented Apr 23, 2018 at 18:14
  • $\begingroup$ Thanks for the answer ! I'll try it to see if the performance is better of what I have right now $\endgroup$
    – AlvaroAV
    Commented Apr 25, 2018 at 8:47
  • $\begingroup$ No worries. Hope it's successful $\endgroup$ Commented Apr 27, 2018 at 20:10

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .