Números Complexos - Pt. 1
Números complexos e operações básicas
Pt 1 - Introdução
Nesta série de postagens, trataremos dos números complexos.
Utilizaremos o Python como linguagem de programação.
A Parte 1 deste série considera as operações com as coordenadas cartesianas;
-
Números complexos
1.1 - O módulo de um número complexo
1.2 - O Conjugado de um Número Complexo
-
Operações Básicas
2.1 - Adição
2.2 - Subtração
2.3 - Multiplicação de números complexos
2.4 - Divisão de números Complexos
Código disponível aqui: https://github.com/lgrando1/Notas_Numeros_Complexos/
1. Números complexos
Elemento de um sistema numérico que contém os números reais e um elemento especifico denominado $i$, chamado de unidade imaginária, e satisfaz a equação $i^2 = -1$.
Plano Complexo
Números complexos são expressões da forma $z = x + iy$ ou $z = x + jy$, onde:
- $x$ é a parte real de $z$ ou $x = Re$ z;
- $y$ é a parte imaginária de $z$ ou $y = Im$ z.
A representação cartesiana de um número complexo $z = 2 + j1$:
O conjunto de números complexos é chamado de plano complexo cujo simbolo é $\mathbb{C}$ e pode ser identificada como $\mathbb{R}^2$.
Os números reais são um conjunto do plano complexo onde a parte imaginaria é zero.
Conforme a biblioteca utilizada no Python, pode-se representar o elemento $i$ como a letra $j$, no caso da biblioteca cmath para representar a parte imaginaria de um número complexo Já a biblioteca Sympy utilizasse a Letra $I$.
Então a o numero $z = 2+3i$ pode ser descrito no Python como:
z = 2 + 3j
print("Representação do número")
print(z)
Representação do número
(2+3j)
print("Classe de z")
print(type(z))
Classe de z
<class 'complex'>
Um numero complexo pode ser representado por um ponto no plano complexo $\mathbb{C}$ e o numero $z = 2+3j$ pode ser representado no Python:
print(complex(2,3))
(2+3j)
print("Parte real de z")
print(z.real)
Parte real de z
2.0
print("Parte complexa de z")
print(z.imag)
Parte complexa de z
3.0
1.1 - O módulo de um número complexo
O módulo de um número complexo $z = x + iy$ é a distância entre o ponto $z$ e a origem, utilizando o Teorema de Pitágoras:
$|z| = \sqrt{x^2 + y^2}$
Em Python, pode obter este valor pela função abs(z):
z = 1+4i
w = 4+2i
z = 1+4j
w = 4+2j
print(f"O módulo de z é: {abs(z)}")
O módulo de z é: 4.123105625617661
print(f"O módulo de w é: {abs(w)}")
O módulo de w é: 4.47213595499958
1.2 - O Conjugado de um Número Complexo
O conjugado do número complexo $z = x + iy$ é $\overline{z} = x - iy$
Propriedades do conjugado:
$\overline{\overline{z}} = z$
$\overline{z+w} = \bar{z}+\bar{w}$
$\overline{z} = |\overline{z}|$
$z\overline{z} = (x+iy)(x-iy) = x^2+y^2 = |z|²$
$\frac{1}{z} = \frac{\overline{z}}{z\overline{z}}= \frac{\bar{z}}{|z|²}$
$|z \cdot w| = |z|\cdot|w|$
$\overline{(\frac{z}{w})} = \frac{\overline{z}}{\overline{w}}$, quando $w \neq 0$
$|z| = 0$ se e somente se $z = 0$
Para encontrar os valores Reais e imaginários de z,
podemos fazer $z = \overline{z}$ ou $z = -\overline{z}$, resultando em:
$Re$ z $= \frac{z + \overline{z}}{2}$
$Im$ z $= \frac{z - \overline{z}}{2i}$
Para obter o conjugado de um número complexo $z$ em Python:
z = 3+2j
print(z.conjugate())
(3-2j)
Algumas desigualdades:
$-|z|\leq Re$ z $ \leq |z|$
$-|z|\leq Im$ z $ \leq |z|$
Desigualdade triangular $|z+w| \leq |z| + |w|$
Generalizando:
$|z_1+z_2 + … z_n| \leq |z_1| + |z_2|+ … + |z_n|$
Desigualdade triangular inversa $|z-w| \geq |z| - |w|$
2. Operações Básicas
2.1 - Adição
Se $z = x + iy$ e $w = u + iv$, podemos representar z + w como:
$(x + iy) + (u + iv) = (x+u) + i(y+v)$, onde:
- Re$(z+w)$ = Re $z$ + Re $w$
- Im$(z+w)$ = Im $z$ + Im $w$
2.2 - Subtração
Se $z = x + iy$ e $w = u + iv$, podemos representar z - w como:
$(x + iy) - (u + iv) = (x-u) + i(y-v)$, onde:
- Re $(z-w)$ = Re $z$ - Re $w$
- Im $(z-w)$ = Im $z$ - Im $w$
Em Python para z = 1+4i e w = 4+2i
z = 1+4j
w = 4+2j
print(f"O valor de z+w é, {z+w}")
print(f"O valor de z-w é, {z-w}")
O valor de z+w é, (5+6j)
O valor de z-w é, (-3+2j)
2.3 - Multiplicação de números complexos
$(x+iy) \cdot (u-iv) = (xu-yv)+i(xv+yu) \in \mathbb{C}$
Propriedades:
- Associativas: $(z_1z_2)z_3 = z_1(z_2z_3)$;
- Comutativas: $z_1z_2 = z_2z_1$;
- Distributivas: $z_1(z_2+z_3) = z_1z_2+ z_1z_3)$.
Exemplo
a = 2+4j
b = -7+5j
$(2+4j) \cdot (-7+5j) = (2 \cdot -7 - 5 \cdot 4) + j(2 \cdot 5 + 4 \cdot -7)$
$= -34-18j$
Efetuando a multiplicação dos números a, b e c:
a = 2+4j
b = -7+5j
c = 3+2j
print("a * b = ", a * b)
print("a * c = ", a * c)
a * b = (-34-18j)
a * c = (-2+16j)
Verificando se as propriedades são verdadeiras
print("Associativa: (a*b)*c == a*(b*c)")
print((a*b)*c == a*(b*c))
Associativa: (a*b)*c == a*(b*c)
True
print("Comutativa: a*b == b*a")
print(a*b == b*a)
Comutativa: a*b == b*a
True
print("Distributiva: a*(b+c) == a*b + a*c")
print(a*(b+c) == a*b + a*c)
Distributiva: a*(b+c) == a*b + a*c
True
As Potências de $i$:
$i^0 = 1$
$i = 0 + 1i$
$i^2 = (0 + 1i)(0 + 1i) = (0\cdot0 - 1\cdot1) + i(0\cdot1+1\cdot0) = -1$
$i^3 = i^2 \cdot i = -1\cdot i = -i $
$i^4 = i^2 \cdot i^2 = -1\cdot -1 = 1 $
$i^5 = i^4 \cdot i = i $
$i^{100} = (i^4)^{25} = (1)^{25} = 1 $
2.4 - Divisão de números Complexos
Considere os números complexos $z = x + iy$ e $w = u + iv$,
Para efetuar a divisão $ \frac{z}{w} $, para $w \neq 0$,
multiplica o numerador e o denominador pelo conjugado complexo do denominador.
$\frac{z}{w} = \frac{x+iy}{u+iv} = \frac{(x+iy)(u-iv)}{(u+iv)(u-iv)} = \frac{(xu+yv)+i(-xv+yu)}{u^2+v^2 + i(-uv+vu)}$
$\frac{z}{w}$ = $\frac{xu+yv}{u^2+v^2}+i \frac{yu-xv}{u^2+v^2 }$
Desta forma:
$\frac{1}{z} = \frac{1}{x+iy} = \frac{x-iy}{x^2+y^2}$, quando $z \neq 0$
Para $a = 2+4j$ e $b = -7+5j$
$\frac{a}{b} = \frac {2 \cdot -7 + 4 \cdot 5}{-7^2+5^2}+i \frac{4 \cdot -7-2 \cdot 5}{-7^2+5^2} = 0.08108-i0.5135$
No Python:
a = 2+4j
b = -7+5j
c = 3+2j
print("a / b = ", a / b)
print("a / c = ", a / c)
a / b = (0.08108108108108109-0.5135135135135136j)
a / c = (1.0769230769230769+0.6153846153846155j)
Referências Bibliográficas
CMATH — MATHEMATICAL FUNCTIONS FOR COMPLEX NUMBERS. 2023. Python documentation. Disponível em: https://docs.python.org/3/library/cmath.html. Acesso em: 19 ago. 2023.
MEURER, Aaron; SMITH, Christopher P.; PAPROCKI, Mateusz; ČERTÍK, Ondřej; KIRPICHEV, Sergey B.; ROCKLIN, Matthew; KUMAR, AMiT; IVANOV, Sergiu; MOORE, Jason K.; SINGH, Sartaj; RATHNAYAKE, Thilina; VIG, Sean; GRANGER, Brian E.; MULLER, Richard P.; BONAZZI, Francesco; GUPTA, Harsh; VATS, Shivam; JOHANSSON, Fredrik; PEDREGOSA, Fabian; … SCOPATZ, Anthony. SymPy: symbolic computing in Python. PeerJ Computer Science, v. 3, p. e103, 2 jan. 2017. https://doi.org/10.7717/peerj-cs.103.
GEOGEBRA. 2023. GeoGebra. Disponível em: https://www.geogebra.org/. Acesso em: 19 ago. 2023.
LUCIO S. BUSTAMANTE, F. Números complexos com Python e SymPy. Disponível em: https://cienciaprogramada.com.br/2022/03/numeros-complexos-python-sympy/. Acesso em: 1 ago. 2023.
PETRA, B.-T. Introdução à análise complexa. Disponível em: https://www.coursera.org/learn/complex-analysis. Acesso em: 8 Mai. 2023.
URSINI, Edson L. Notas de Aulas TT413 - Métodos Matemáticos para Telecomunicacões. [S. l.: s. n.], 2023.