Pular para o conteúdo

Número complexo

Definição

Um número complexo z é um número que pode ser escrito na forma

\hspace{0.5cm} z = x + yi

onde x é chamado de parte real de z e y é chamado de parte imaginária de z . A unidade imaginária i tem como propriedade

\hspace{0.5cm} i^2 = -1 \;\; \rightarrow \;\; i = \sqrt{-1}

Isto significa que, ao elevarmos a unidade imaginária i ao quadrado, obteremos um valor negativo.

O conjunto dos números complexos, representado por {\mathbb{C}} , corresponde ao maior conjunto numérico existente. Portanto, o conjunto dos números reais está contido no conjunto dos números complexos ( {\mathbb{R}} \subset {\mathbb{C}} ). Assim, podemos dizer que os números complexos representam o conjunto de todos os pares ordenados (x,y) cujos elementos pertencem ao conjunto dos números reais {\mathbb{R}}.

Exemplo

O programa a seguir exibe a parte real e a parte imaginária de 4 números. Note que a parte imaginária em Python é representada por j (ou J ). A letra j foi adotada em Python para seguir a convenção da Engenharia Elétrica.

a = 3.4 + 2.3j
b = 4.1
c = 2.1 - 3j
d = 5
print(type(a))
print('a:', type(a), ', parte real =', a.real, ', parte imag. =', a.imag)
print('b:', type(b), ', parte real =', b.real, ', parte imag. =', b.imag)
print('c:', type(c), ', parte real =', c.real, ', parte imag. =', c.imag)
print('d:', type(d), ', parte real =', d.real, ', parte imag. =', d.imag)

A execução do programa mostra que a variável do tipo real e a variável do tipo inteiro possuem parte imaginária igual a zero. São quatro números complexos com as seguintes coordenadas: (3.4,2.3), (4.1,0.0), (2.1,-3.0) e (5,0)

a: <class 'complex'>, parte real = 3.4 , parte imag. = 2.3
b: <class 'float'>, parte real = 4.1 , parte imag. = 0.0
c: <class 'complex'>, parte real = 2.1 , parte imag. = -3.0
d: <class 'int'>, parte real = 5 , parte imag. = 0

Operações

Sejam z_1 = 2.3 + 1.4 i e z_2 = 3.6 -2 i.

  • Adição – soma as partes correspondentes de cada número.
\hspace{0.5cm} z_1 + z_2 = 5.9 -0.6i
  • Subtração – subtrai as partes correspondentes de cada número.
\hspace{0.5cm} z_1 - z_2 = -1.3 +3.4i
  • Multiplicação – multiplica cada parte de um número pelas duas partes do outro número. Lembre-se que i^2 = -1 .
\hspace{0.5cm} z_1 \times z_2 = 11.08 + 0.44i
  • Divisão – para efetuar esta operação é preciso definir o conjugado de z como \overline{z} = x -yi. Então
\hspace{0.5cm} {\displaystyle\frac{z_1}{z_2} = \frac{z_1}{z_2} \times \frac{\overline{z_2}}{\overline{z_2}} = \frac{(2.3 + 1.4 i)(3.6 +2 i)}{(3.6 -2 i)(3.6 +2 i)} \approx 0.323 + 0.568i}

Usando Python temos

z1 = 2.3 + 1.4J
z2 = 3.6 -2j
print('z1 + z2 =', z1 + z2)
print('z1 - z2 =', z1 - z2)
print('z1 * z2 =', z1 * z2)
print('z1 / z2 =', z1 / z2)

A resposta confirma os resultados obtidos nas operações acima.

z1 + z2 = (5.9-0.6000000000000001j)
z1 - z2 = (-1.3000000000000003+3.4j)
z1 * z2 = (11.079999999999998+0.4400000000000004j)
z1 / z2 = (0.32311320754716977+0.5683962264150942j)

Método complex()

Este método retorna um número complexo. Vejamos um exemplo.

a = complex(-2.1, 3.4)
b = complex(4.5)
c = complex(0,3.1)
d = complex()
e = complex('1+2j')
print('a = ', a, ', real =', a.real, ', imag. =', a.imag)
print('b = ', b, ', real =', b.real, ', imag. =', b.imag)
print('c = ', c, ', real =', c.real, ', imag. =', c.imag)
print('d = ', d, ', real =', d.real, ', imag. =', d.imag)
print('e = ', e, ', real =', e.real, ', imag. =', e.imag)

A resposta do programa mostra que o método complex() espera, como entrada, dois valores reais. Quando estes valores não são fornecidos, o valor zero é usado. Se a entrada for uma string, o método tenta convertê-la para um número complexo.

a = (-2.1+3.4j) , real = -2.1 , imag. = 3.4
b = (4.5+0j) , real = 4.5 , imag. = 0.0
c = 3.1j , real = 0.0 , imag. = 3.1
d = 0j , real = 0.0 , imag. = 0.0
e = (1+2j) , real = 1.0 , imag. = 2.0

É interessante observar o que acontece quando os argumentos do método complex() são números complexos.

a = complex(1+2j, 3-1j)
print(a)

A resposta do programa é

(2+5j)

A explicação para esse resultado é simples. Basta lembrar que o número complexo corresponde à soma da primeira coordenada com a segunda coordenada multiplicada por j (estamos aqui usando a notação de Python ao invés da tradicional notação matemática).

\hspace{0.5cm} a = 1+2j + (3-1j) \times j = 1 + 2j +3j - j^2= 1 + 5j -(-1) = 2 + 5j

Identificador

Ao contrário dos números inteiros e dos números reais, dois números complexos com um mesmo valor não são necessariamente o mesmo objeto. Podemos usar o método id() para verificar.

a = 2.3 + 1.5j
b = 2.3 + 1.5j
c = a
print('id(a) = ', id(a))
print('id(b) = ', id(b))
print('id(c) = ', id(c))

A resposta do programa mostra que as variáveis a e b possuem diferentes identificação (são dois objetos distintos), enquanto a e c são dois nomes para um mesmo objeto.

id(a) = 140073248469808 
id(b) = 140073248469872 
id(c) = 140073248469808