Bash:
Работа с комплексными числами
Как это делать:
Bash изначально не поддерживает комплексные числа. Часто прибегают к использованию внешнего инструмента, как bc
с его опцией -l
. Вот как можно работать с комплексными числами в bash:
echo "sqrt(-1)" | bc -l
Вывод:
j
Умножение:
echo "(-1 + -1i) * (4 + 3i)" | bc -l
Вывод:
-1.00000000000000000000-7.00000000000000000000i
Подробнее
Комплексные числа существуют с 16-го века, но скриптовые языки, такие как Bash, не предназначены для математических вычислений, как комплексные числа, “из коробки”. Вот почему часто используются bc
или другие инструменты, как awk
. Некоторые альтернативные языки для работы с комплексными числами – это Python с его модулем cmath
и MATLAB, которые оба предназначены для более сложных математических функций. Что касается Bash, всё сводится к использованию инструментов - bc
использует строчную ‘i’ для обозначения мнимой единицы и поддерживает базовые операции, такие как сложение, вычитание, умножение и деление.
Смотрите также
- Руководство по
bc
: https://www.gnu.org/software/bc/manual/html_mono/bc.html - GNU Octave (альтернатива MATLAB): https://www.gnu.org/software/octave/
- Модуль
cmath
в Python: https://docs.python.org/3/library/cmath.html