In [1]:
import numpy as np
import sympy as sym
from IPython.display import display,Math
In [2]:
print('Multiplication with complex numbers')
display(Math('z = (a\\quad bi)'))
display(Math('w = (c\\quad di)'))
display(Math('z\\times w = (a\\quad bi) \\times (c\\quad di)'))
display(Math('\\quad \\quad \\quad= ac + adi + cbi + bdi^2'))
display(Math('\\quad \\quad \\quad= ac + adi + cbi - bd'))

print('Complex number: 複素数')
display(Math('z'))
display(Math('z = a + bi'))
display(Math('w = a - bi'))
print('Complex conjugate: 複素共役')
display(Math('z^*'))
display(Math('z^* = a - bi'))
display(Math('w^* = a + bi'))

print('Multiplication with complex conjugate')
display(Math('z\\times z^* = (a\\quad bi) \\times (a- bi)'))
display(Math('\\quad \\quad \\quad= a^2 - abi + abi - bi^2'))
display(Math('\\quad \\quad \\quad= a^2 + b^2'))
Multiplication with complex numbers
$\displaystyle z = (a\quad bi)$
$\displaystyle w = (c\quad di)$
$\displaystyle z\times w = (a\quad bi) \times (c\quad di)$
$\displaystyle \quad \quad \quad= ac + adi + cbi + bdi^2$
$\displaystyle \quad \quad \quad= ac + adi + cbi - bd$
Complex number: 複素数
$\displaystyle z$
$\displaystyle z = a + bi$
$\displaystyle w = a - bi$
Complex conjugate: 複素共役
$\displaystyle z^*$
$\displaystyle z^* = a - bi$
$\displaystyle w^* = a + bi$
Multiplication with complex conjugate
$\displaystyle z\times z^* = (a\quad bi) \times (a- bi)$
$\displaystyle \quad \quad \quad= a^2 - abi + abi - bi^2$
$\displaystyle \quad \quad \quad= a^2 + b^2$
In [3]:
z1 = np.complex(4,5)
z2 = np.complex(6,-2)

w = np.real(z1)*np.real(z2) + np.real(z1)*np.imag(z2)*1j + np.imag(z1)*1j*np.real(z2) + np.imag(z1)*1j*np.imag(z2)*1j

print(w)
print(z1*z2)
print(sym.sympify(w))
print(sym.sympify(z1*z2))
(34+22j)
(34+22j)
34.0 + 22.0*I
34.0 + 22.0*I
In [4]:
np.conj(z1)
Out[4]:
(4-5j)
In [5]:
np.conj(z2)
Out[5]:
(6+2j)
In [6]:
a,b = sym.symbols('a,b',real=True)

z = a + b*sym.I

print(z)
sym.conjugate(z)
a + I*b
Out[6]:
a - I*b
In [7]:
z * sym.conjugate(z)
Out[7]:
(a - I*b)*(a + I*b)
In [8]:
sym.expand(z * sym.conjugate(z))
Out[8]:
a**2 + b**2
In [9]:
display(Math('z\\times x^* = %s' %sym.latex(sym.expand(z*sym.conjugate(z)))))
$\displaystyle z\times x^* = a^{2} + b^{2}$