Skip to content
This repository has been archived by the owner on May 11, 2021. It is now read-only.

Commit

Permalink
refactor Dividing complex numbers
Browse files Browse the repository at this point in the history
  • Loading branch information
agentydragon committed Jan 18, 2012
1 parent 2aa5039 commit be6e14f
Showing 1 changed file with 25 additions and 17 deletions.
42 changes: 25 additions & 17 deletions exercises/dividing_complex_numbers.html
Expand Up @@ -13,20 +13,28 @@
<var id="B_REAL">randRange(-5, 5)</var>
<var id="B_IMAG">randRange(-5, 5)</var>
<var id="DENOMINATOR">B_REAL * B_REAL + B_IMAG * B_IMAG</var>
<var id="REAL_NUMERATOR">(A_REAL * B_REAL) + (A_IMAG * B_IMAG)</var>
<var id="IMAG_NUMERATOR">(A_IMAG * B_REAL) - (A_REAL * B_IMAG)</var>
<var id="REAL_NUMERATOR">( A_REAL * B_REAL ) + ( A_IMAG * B_IMAG )</var>
<var id="IMAG_NUMERATOR">( A_IMAG * B_REAL ) - ( A_REAL * B_IMAG )</var>
<var id="ANSWER_REAL_UNROUNDED">REAL_NUMERATOR / DENOMINATOR</var>
<var id="ANSWER_IMAG_UNROUNDED">IMAG_NUMERATOR / DENOMINATOR</var>
<var id="ANSWER_REAL">roundTo(2, ANSWER_REAL_UNROUNDED)</var>
<var id="ANSWER_IMAG">roundTo(2, ANSWER_IMAG_UNROUNDED)</var>
<var id="A_REP">expr([ "+", A_REAL, [ "*", A_IMAG, "i" ] ])</var>
<var id="B_REP">expr([ "+", B_REAL, [ "*", B_IMAG, "i" ] ])</var>
<var id="A_REP_COLORED">"\\color{" + ORANGE + "}{" + A_REP + "}"</var>
<var id="B_REP_COLORED">"\\color{" + BLUE + "}{" + B_REP + "}"</var>
<var id="A_REAL_COLORED">"\\color{" + ORANGE + "}{" + A_REAL + "}"</var>
<var id="A_IMAG_COLORED">"\\color{" + ORANGE + "}{" + A_IMAG + "}"</var>
<var id="B_REAL_COLORED">"\\color{" + BLUE + "}{" + B_REAL + "}"</var>
<var id="B_IMAG_COLORED">"\\color{" + BLUE + "}{" + B_IMAG + "}"</var>
<var id="CONJUGATE">expr([ "+", B_REAL, [ "*", -B_IMAG, "i" ] ])</var>
<var id="CONJUGATE_COLORED">"\\color{" + BLUE + "}{" + CONJUGATE + "}"</var>
</div>

<div class="problems">
<div>
<p class="question">Divide the following complex numbers:</p>
<p><code>\qquad \dfrac{<var>A_REP</var>}{<var>B_REP</var>}</code></p>
<p class="question">Divide the following complex numbers and round the real and imaginary parts of the result to 2 decimal digits:</p>
<p><code>\qquad \dfrac{<var>A_REP_COLORED</var>}{<var>B_REP_COLORED</var>}</code></p>
<div class="solution" data-type="multiple">
<p>
Real part = <span class="sol" data-type="decimal"><var>ANSWER_REAL</var><span>
Expand All @@ -43,20 +51,20 @@
Complex number division is converted to complex multiplication using the denominator's complex conjugate.
</p>
<p>
<code>\qquad \dfrac{<var>A_REP</var>}{<var>B_REP</var>} =
\dfrac{<var>A_REAL</var> + <var>A_IMAG</var>i}{<var>B_REAL</var> + <var>B_IMAG</var>i} \cdot
\dfrac{<var>B_REAL</var> - <var>B_IMAG</var>i}{<var>B_REAL</var> - <var>B_IMAG</var>i}
<code>\qquad \dfrac{<var>A_REP_COLORED</var>}{<var>B_REP_COLORED</var>} =
\dfrac{<var>A_REP_COLORED</var>}{<var>B_REP_COLORED</var>} \cdot
\dfrac{<var>CONJUGATE_COLORED</var>}{<var>CONJUGATE_COLORED</var>}
</code>
</p>
<div>
<p>
The denominator is simplified by <code>(a + b) \cdot (a - b) = a^2 - b^2</code>.
</p>
<code>
\qquad \dfrac{(<var>A_REP</var>) \cdot (<var>B_REAL</var> - <var>B_IMAG</var>i)}
{(<var>B_REP</var>) \cdot (<var>B_REAL</var> - <var>B_IMAG</var>i)} =
\dfrac{(<var>A_REP</var>) \cdot (<var>B_REAL</var> - <var>B_IMAG</var>i)}
{(<var>B_REAL</var>)^2 - (<var>B_IMAG</var>i)^2}
\qquad \dfrac{(<var>A_REP_COLORED</var>) \cdot (<var>CONJUGATE_COLORED</var>)}
{(<var>B_REP_COLORED</var>) \cdot (<var>CONJUGATE_COLORED</var>)} =
\dfrac{(<var>A_REP_COLORED</var>) \cdot (<var>CONJUGATE_COLORED</var>)}
{(<var>B_REAL_COLORED</var>)^2 - (\color{<var>BLUE</var>}{<var>B_IMAG</var>i})^2}
</code>
<p>
Note that the denominator now doesn't contain any imaginary unit multiples, so it is a real number, simplifying the problem to complex number multiplication.<br />
Expand All @@ -67,11 +75,11 @@
The squares in the denominator are evaluated and subtracted.
</p>
<code>
\qquad \dfrac{(<var>A_REP</var>) \cdot (<var>B_REAL</var> - <var>B_IMAG</var>i)}
{(<var>B_REAL</var>)^2 - (<var>B_IMAG</var>i)^2} =
\dfrac{(<var>A_REP</var>) \cdot (<var>B_REAL</var> - <var>B_IMAG</var>i)}
\qquad \dfrac{(<var>A_REP_COLORED</var>) \cdot (<var>CONJUGATE_COLORED</var>)}
{(<var>B_REAL_COLORED</var>)^2 - (<var>B_IMAG_COLORED</var>i)^2} =
\dfrac{(<var>A_REP_COLORED</var>) \cdot (<var>CONJUGATE_COLORED</var>)}
{<var>B_REAL * B_REAL</var> + <var>B_IMAG * B_IMAG</var>} =
\dfrac{(<var>A_REP</var>) \cdot (<var>B_REAL</var> - <var>B_IMAG</var>i)}
\dfrac{(<var>A_REP_COLORED</var>) \cdot (<var>CONJUGATE_COLORED</var>)}
{<var>B_REAL * B_REAL + B_IMAG * B_IMAG</var>}
</code>
</div>
Expand All @@ -80,9 +88,9 @@
Afterwards, the numerator is multiplied using the distributive property.
</p>
<code>
\qquad \dfrac{(<var>A_REP</var>) \cdot (<var>B_REAL</var> - <var>B_IMAG</var>i)}
\qquad \dfrac{(<var>A_REP_COLORED</var>) \cdot (<var>CONJUGATE_COLORED</var>)}
{<var>DENOMINATOR</var>} =
\dfrac{(<var>A_REAL</var> \cdot <var>negParens(B_REAL)</var>) + (<var>A_IMAG</var> \cdot <var>negParens(B_REAL)</var>i) + (<var>A_REAL</var> \cdot <var>negParens(B_IMAG)</var>i) + (<var>A_IMAG</var> \cdot <var>negParens(B_IMAG)</var> i^2)}
\dfrac{(<var>A_REAL_COLORED</var> \cdot \color{<var>BLUE</var>}{<var>negParens(B_REAL)</var>}) + (<var>A_IMAG_COLORED</var> \cdot \color{<var>BLUE</var>}{<var>negParens(B_REAL)</var>i}) + (<var>A_REAL_COLORED</var> \cdot \color{<var>BLUE</var>}{<var>negParens(B_IMAG_COLORED)</var>i}) + (<var>A_IMAG_COLORED</var> \cdot \color{<var>BLUE</var>}{<var>negParens(B_IMAG_COLORED)</var> i^2})}
{<var>DENOMINATOR</var>}
</code>
<p>
Expand Down

0 comments on commit be6e14f

Please sign in to comment.