Elixir:
Trabalhando com números complexos
Como fazer:
O Elixir não possui números complexos incorporados, então criamos os nossos ou usamos uma biblioteca, como a ComplexNum
. Aqui está um exemplo rápido com uma biblioteca:
# Assumindo que você tenha ComplexNum instalado
defmodule ComplexMath do
import ComplexNum
def add(a, b) do
ComplexNum.add(a, b)
end
end
# Criar números complexos e adicioná-los
c1 = {3, 4} # representa 3 + 4i
c2 = {2, -3} # representa 2 - 3i
resultado = ComplexMath.add(c1, c2)
IO.puts "O resultado é: #{inspect(resultado)}"
Isso produziria:
O resultado é: {5, 1}
Significa que a soma de 3 + 4i
e 2 - 3i
é 5 + 1i
.
Aprofundando
Números complexos surgiram na história porque os números regulares não podiam lidar com raízes quadradas de negativos. Foi só no século 17 que eles foram levados a sério, graças a matemáticos como René Descartes e Gerolamo Cardano.
No Elixir, você frequentemente usa tuplas como {3, 4}
para números complexos, ou usa uma biblioteca dedicada para evitar reinventar a roda. Bibliotecas são geralmente melhores - elas lidam com detalhes complicados como multiplicação e divisão, que ficam complicados por causa da unidade imaginária ‘i’ (FYI: i
ao quadrado é igual a -1
).
Veja Também
Confira esses recursos:
- Biblioteca ComplexNum para o gerenciador de pacotes do Elixir, Hex.
- Elixir School, para tópicos avançados e exercícios de Elixir.
- Erlang – módulo math, que o Elixir usa por baixo dos panos, para outras necessidades matemáticas.