Треки
/
Haskell
Haskell
/
Вправи
/
Комплексні числа
Комплексні числа

Комплексні числа

Легка

Вказівки

Комплексне число - це число виду a + b * i, де a і b - дійсні числа, а i задовольняє рівність i^2 = -1.

a називають дійсною частиною, а b - уявною частиною числа z. Спряженим до числа a + b * i є число a - b * i. Модуль комплексного числа z = a + b * i - це дійсне число |z| = sqrt(a^2 + b^2). Квадрат модуля |z|^2 дорівнює добутку z на спряжене до нього число.

Щоб знайти суму або різницю двох комплексних чисел, треба окремо додати або відняти їхні дійсні й уявні частини: (a + i * b) + (c + i * d) = (a + c) + (b + d) * i, (a + i * b) - (c + i * d) = (a - c) + (b - d) * i.

Результат множення за означенням дорівнює (a + i * b) * (c + i * d) = (a * c - b * d) + (b * c + a * d) * i.

Число, обернене до ненульового комплексного числа, дорівнює 1 / (a + i * b) = a/(a^2 + b^2) - b/(a^2 + b^2) * i.

Ділення комплексного числа a + i * b на інше число c + i * d дає: (a + i * b) / (c + i * d) = (a * c + b * d)/(c^2 + d^2) + (b * c - a * d)/(c^2 + d^2) * i.

Піднесення e до комплексного показника можна записати як e^(a + i * b) = e^a * e^(i * b), останній доданок якого дає формула Ейлера e^(i * b) = cos(b) + i * sin(b).

Реалізуйте такі операції:

  • додавання, віднімання, множення і ділення двох комплексних чисел,
  • спряження, модуль і піднесення заданого комплексного числа до степеня.

Припустімо, що мова програмування, яку ми використовуємо, не має реалізації комплексних чисел.


Джерело

WikipediaПосилання відкривається в новому вікні або вкладці
Редагувати через GitHub Посилання відкривається в новому вікні або вкладці
Haskell Exercism

Час розпочати Комплексні числа?

Зареєструйтеся на Exercism, щоб вивчати й опановувати Haskell, а також 107 вправ та справжнє наставництво від людей, і все це безкоштовно.