Робота з комплексними числами

C++:
Робота з комплексними числами

Як це зробити:

C++ має вбудовану бібліотеку <complex>, яка спрощує роботу з комплексними числами. Ось швидкий огляд:

#include <iostream>
#include <complex>

int main() {
    std::complex<double> num1(2.0, 3.0); // Створює комплексне число (2 + 3i)
    std::complex<double> num2(3.0, 4.0); // Інше комплексне число (3 + 4i)

    // Додавання
    std::complex<double> result = num1 + num2;
    std::cout << "Результат додавання: " << result << std::endl; // (5 + 7i)

    // Множення
    result = num1 * num2;
    std::cout << "Результат множення: " << result << std::endl; // (-6 + 17i)

    // Спряжене число
    result = std::conj(num1);
    std::cout << "Спряжене до num1: " << result << std::endl; // (2 - 3i)
    
    return 0;
}

Поглиблений аналіз

Комплексні числа мають багату історію, вперше з’явившись у розв’язаннях кубічних рівнянь у 16 столітті. Вони незамінні в багатьох галузях, не лише в програмуванні. У комп’ютерних науках комплексні числа допомагають у алгоритмах, які потребують двовимірного чисельного простору, як-от швидке перетворення Фур’є (FFT).

Попри те, що бібліотека <complex> у C++ є стандартною, існують альтернативи в інших мовах, наприклад, тип даних complex у Python або математичні бібліотеки в JavaScript. Сама бібліотека <complex> надає комплексну функціональність, включаючи тригонометричні, експоненційні та логарифмічні операції, призначені для комплексних чисел.

При програмуванні цих чисел ключовим є розуміння лежачої в основі математики, щоб уникати неточностей і розуміти операції, як-от комплексне спряження, яке змінює знак уявної частини, або наслідки формули Ейлера, яка пов’язує комплексні експоненціали з тригонометричними функціями.

Дивіться також