Задачи высшей математики с Maxima
3.1 Операции с комплексными числами
3.1.1 Представление комплексных чисел
Значение целой положительной степени комплексного аргумента проще всего вычислять в тригонометрической форме. Если ) (здесь — модуль комплексного числа, — его аргумент), то для любого целого положительного числа имеет место формула: .
Корнем -й степени из комплексного числа называется число такое, что . Для любого комплексного числа существует комплексных чисел таких, что . Значение корня, т.е. значение функции также удобно вычислять в тригонометрической форме. Если , то для любого целого положительного числа имеет место формула: , т.е. функция является многозначной функцией — каждому значению аргумента отвечает различных значений корня.
Если , то значения функции вычисляются по формуле .
Логарифмом комплексного числа называется такое число , что . Значения логарифмической функции вычисляются по формуле Величину называют главным значением логарифма. Функция является многозначной функцией — каждому значению аргумента отвечает бесконечное множество различных значений логарифма.
Комплексное выражение определено в Maxima посредством сложения действительной части выражения и произведения (мнимой единицы) и мнимой части (т.е. в алгебраической форме). Например, корни из уравнения равны и . Решение в Maxima:
(%i1) eq:x^2-4*x+13=0;
(%i2) solve(eq,x);
(%i3) x1:%o2[1]$ x2:%o2[2];
(%i4) print(x1,x2);
Более сложный пример вычисления корней алгебраического уравнения -й степени:
(%i1) solve(x^3=1,x);
(%i2) solve(x^5=1,x);
Количество корней, возвращаемое Maxima, соответствует основной теореме алгебры (уравнение третьей степени имеет три корня, пятой — пять и т.д.).
Преобразование комплексных выражений может осуществляться функциями для работы с алгебраическими выражениями ( и др.), но предусмотрен и ряд специфических функций, рассчитанных на операции именно с комплексными числами.
3.1.2 Функции для работы с комплексными числами
Упрощение частных, корней, и других функций комплексных выражений может обычно достигаться при использовании функций .
Вычисление модуля комплексного числа осуществляется функцией . Аргумент комплексного выражения вычисляется при помощи функции . Комплексный аргумент — в пределах таким образом, что , где — модуль комплексного числа . Следует учитывать, что — вычислительная функция, не предназначенная для упрощения комплексных выражений. (в некоторых случаях удобно использовать опцию , установка которой заставляет представлять результаты в формате с плавающей точкой — см. пример ниже).
Пример:
(%i1) carg (1);
(%i2) carg (1 + %i);
(%i3) carg (exp (%i)),numer;
(%i4) carg (exp (%pi * %i));
(%i5) carg (exp (3/2 * %pi * %i));
Для преобразования комплексных выражений используют также функцию . Управление её работой осуществляется флагом .
Когда переменная установлена (), комплексные показательные функции преобразованы в эквивалентные выражения в терминах тригонометрических функций: упрощает к виду , если выражение не содержит . Значение по умолчанию .
Кроме того, преобразование различных форм комплексных чисел осуществляется функцией , которая преобразует тригонометрические и гиперболические функции в экспоненциальную форму. Флаги и не могут оба быть установлены в одновременно.
Пример:
(%i1) demoivre:true;
(%i2) demoivre (exp (3+3/2 * %pi * %i));
(%i3) demoivre (exp (%pi+3/2 * %pi * %i));
Комплексно-сопряжённые выражения вычисляются при помощи функции .
Пример:
(%i1) declare ([aa, bb], real, cc, complex, ii, imaginary);
(%i2) conjugate (aa + bb*%i);
(%i3) conjugate (ii);
Как видно из примера, функция позволяет объявить тип выражений: действительные, комплексные и чисто мнимые ().
Функция представляет основную ветвь комплексного логарифма, соответствующую , например:
(%i1) a:1+%i;
(%i2) plog(a);
Функция возвращает выражение , эквивалентное (параметры и действительны).
Преобразование комплексного выражения к алгебраической форме осуществляется функцией .
Пример:
(%i1) a:1+%i;
(%i2) polarform(a);
(%i3) rectform(%);
Функция ) вычисляет остаток в комплексной плоскости для выражения , когда переменная z принимает значение . Остаток — коэффициент при ряда Лорана для .
Пример:
(%i1) residue (s/(s**2+a**2), s, a*%i);
(%i2) residue (sin(a*x)/x**4, x, 0);