Elixir:
Работа с комплексными числами
Как это сделать:
В Elixir нет встроенной поддержки комплексных чисел, поэтому мы создаём свои собственные решения или используем библиотеку, например, ComplexNum
. Вот быстрый пример с использованием библиотеки:
# Предполагая, что у вас установлен ComplexNum
defmodule ComplexMath do
import ComplexNum
def add(a, b) do
ComplexNum.add(a, b)
end
end
# Создаем комплексные числа и складываем их
c1 = {3, 4} # представляет 3 + 4i
c2 = {2, -3} # представляет 2 - 3i
result = ComplexMath.add(c1, c2)
IO.puts "Результат: #{inspect(result)}"
Это выведет:
Результат: {5, 1}
Это означает, что сумма 3 + 4i
и 2 - 3i
равна 5 + 1i
.
Погружение в тему
Комплексные числа появились в истории из-за того, что обычные числа не могли обрабатывать квадратные корни из отрицательных чисел. И только в 17-м веке к ним стали относиться серьезно благодаря таким математикам, как Рене Декарт и Джероламо Кардано.
В Elixir для комплексных чисел часто используются кортежи вида {3, 4}
или посвящённая этому библиотека, чтобы не изобретать велосипед. Библиотеки обычно лучше — они обрабатывают сложные моменты, такие как умножение и деление, которые усложняются из-за мнимой единицы ‘i’ (кстати: i
в квадрате равно -1
).
Смотрите также
Проверьте эти ресурсы:
- Библиотека ComplexNum для менеджера пакетов Elixir, Hex.
- Школа Elixir, для продвинутых тем и упражнений по Elixir.
- Erlang – модуль math, который использует Elixir «под капотом», для других математических потребностей.