Задачи высшей математики с Maxima
3.1 Операции с комплексными числами
3.1.1 Представление комплексных чисел
Значение целой положительной степени комплексного аргумента проще всего вычислять в тригонометрической форме. Если ) (здесь
— модуль комплексного числа,
— его аргумент), то для любого целого положительного числа
имеет место формула:
.
Корнем -й степени из комплексного числа
называется число
такое, что
. Для любого комплексного числа
существует
комплексных чисел
таких, что
. Значение корня, т.е. значение функции
также удобно вычислять в тригонометрической форме. Если
, то для любого целого положительного числа
имеет место формула:
, т.е. функция
является многозначной функцией — каждому значению аргумента отвечает
различных значений корня.
Если, то значения функции
вычисляются по формуле
.
Логарифмом комплексного числа называется такое число
, что
. Значения логарифмической функции
вычисляются по формуле
Величину
называют главным значением логарифма. Функция
является многозначной функцией — каждому значению аргумента отвечает бесконечное множество различных значений логарифма.
Комплексное выражение определено в Maxima посредством сложения действительной части выражения и произведения (мнимой единицы) и мнимой части (т.е. в алгебраической форме). Например, корни из уравнения
равны
и
. Решение в Maxima:
(%i1) eq:x^2-4*x+13=0;
![{x}^{2}-4\,x+13=0\leqno{ (\%o1) }](/sites/default/files/tex_cache/76e4276ef04938c15b9ddd4a935ad187.png)
(%i2) solve(eq,x);
![[x=2-3\,i,x=3\,i+2]\leqno{ (\%o2) }](/sites/default/files/tex_cache/c5bcd273cd791621a47b001d0249e72a.png)
(%i3) x1:%o2[1]$ x2:%o2[2];
![x=3\,i+2\leqno{ (\%o3) }](/sites/default/files/tex_cache/319fdaa779e06dad81831e53ad9950ea.png)
(%i4) print(x1,x2);
![x=2-3\,i, x=3\,i+2 \leqno{ (\%o4) }](/sites/default/files/tex_cache/ec0c45220f8222c25479392977c84bf6.png)
Более сложный пример вычисления корней алгебраического уравнения -й степени:
(%i1) solve(x^3=1,x);
![[x=\frac{\sqrt{3}\,i-1}{2},x=-\frac{\sqrt{3}\,i+1}{2},x=1]\leqno{ (\%o1) }](/sites/default/files/tex_cache/8e5fe43d23d03605a0ce0fd0e4b6cdd4.png)
(%i2) solve(x^5=1,x);
![[x={e}^{\frac{2\,i\,\pi }{5}},x={e}^{\frac{4\,i\,\pi
}{5}},x={e}^{-\frac{4\,i\,\pi }{5}},x={e}^{-\frac{2\,i\,\pi }{5}},x=1]\leqno{
(\%o2) }](/sites/default/files/tex_cache/0e0872b848ef414590aa52a9c4182bb8.png)
Количество корней, возвращаемое Maxima, соответствует основной теореме алгебры (уравнение третьей степени имеет три корня, пятой — пять и т.д.).
Преобразование комплексных выражений может осуществляться функциями для работы с алгебраическими выражениями ( и др.), но предусмотрен и ряд специфических функций, рассчитанных на операции именно с комплексными числами.
3.1.2 Функции для работы с комплексными числами
Упрощение частных, корней, и других функций комплексных выражений может обычно достигаться при использовании функций .
Вычисление модуля комплексного числа осуществляется функцией . Аргумент комплексного выражения вычисляется при помощи функции
. Комплексный аргумент —
в пределах
таким образом, что
, где
— модуль комплексного числа
. Следует учитывать, что
— вычислительная функция, не предназначенная для упрощения комплексных выражений. (в некоторых случаях удобно использовать опцию
, установка которой заставляет представлять результаты в формате с плавающей точкой — см. пример ниже).
Пример:
(%i1) carg (1);
![0\leqno{ (\%o1) }](/sites/default/files/tex_cache/a83d76e6a1dd06cea8128b1f72dbf060.png)
(%i2) carg (1 + %i);
![\frac{\pi }{4}\leqno{ (\%o2) }](/sites/default/files/tex_cache/eefcc705ccf1b32b1aa6055c2df1dd5a.png)
(%i3) carg (exp (%i)),numer;
![1.0\leqno{ (\%o3) }](/sites/default/files/tex_cache/687ed7e98bb010ada9e78bf1ae2afa1d.png)
(%i4) carg (exp (%pi * %i));
![\pi \leqno{ (\%o4) }](/sites/default/files/tex_cache/1d885c8e40c864a173b125556fab9415.png)
(%i5) carg (exp (3/2 * %pi * %i));
![-\frac{\pi }{2}\leqno{ (\%o5) }](/sites/default/files/tex_cache/eafd03631ff997246c20785fe12fdf7c.png)
Для преобразования комплексных выражений используют также функцию . Управление её работой осуществляется флагом
.
Когда переменная установлена (
), комплексные показательные функции преобразованы в эквивалентные выражения в терминах тригонометрических функций:
упрощает к виду
, если выражение
не содержит
. Значение по умолчанию
.
Кроме того, преобразование различных форм комплексных чисел осуществляется функцией , которая преобразует тригонометрические и гиперболические функции в экспоненциальную форму. Флаги
и
не могут оба быть установлены в
одновременно.
Пример:
(%i1) demoivre:true;
![true\leqno{ (\%o1) }](/sites/default/files/tex_cache/f6bc78881ac4ec376a7acab387bca183.png)
(%i2) demoivre (exp (3+3/2 * %pi * %i));
![-{e}^{3}\,i\leqno{ (\%o2) }](/sites/default/files/tex_cache/98ecc3e6373c4a8395417ac110d3f75e.png)
(%i3) demoivre (exp (%pi+3/2 * %pi * %i));
![-{e}^{\pi }\,i\leqno{ (\%o3) }](/sites/default/files/tex_cache/cfabe54ba1a68e7aa9214c16d479e1d1.png)
Комплексно-сопряжённые выражения вычисляются при помощи функции .
Пример:
(%i1) declare ([aa, bb], real, cc, complex, ii, imaginary);
![done\leqno{ (\%o1) }](/sites/default/files/tex_cache/00b87de7da553b4a8a4034b0f1529fc3.png)
(%i2) conjugate (aa + bb*%i);
![aa-i\,bb\leqno{ (\%o2) }](/sites/default/files/tex_cache/7c0579db65911dbb7dd33da10bed0b9a.png)
(%i3) conjugate (ii);
![-ii\leqno{ (\%o3) }](/sites/default/files/tex_cache/9ff6623f5a4b7adc92af73f414114208.png)
Как видно из примера, функция позволяет объявить тип выражений: действительные, комплексные и чисто мнимые (
).
Функция представляет основную ветвь комплексного логарифма, соответствующую
, например:
(%i1) a:1+%i;
![i+1\leqno{ (\%o1) }](/sites/default/files/tex_cache/19c4518c27396e50e6ac51a2f16200f8.png)
(%i2) plog(a);
![\frac{log\left( 2\right) }{2}+\frac{i\,\pi }{4}\leqno{ (\%o2) }](/sites/default/files/tex_cache/83c07222728d9a6029a4b84e40ca2239.png)
Функция возвращает выражение
, эквивалентное
(параметры
и
действительны).
Преобразование комплексного выражения к алгебраической форме осуществляется функцией .
Пример:
(%i1) a:1+%i;
![i+1\leqno{ (\%o1) }](/sites/default/files/tex_cache/19c4518c27396e50e6ac51a2f16200f8.png)
(%i2) polarform(a);
![\sqrt{2}\,{e}^{\frac{i\,\pi }{4}}\leqno{ (\%o2) }](/sites/default/files/tex_cache/7d4daae3dafb6e4e763a866ba3ab806a.png)
(%i3) rectform(%);
![i+1\leqno{ (\%o3) }](/sites/default/files/tex_cache/ff91fca88827ea62bdbd3c053d150c55.png)
Функция ) вычисляет остаток в комплексной плоскости для выражения
, когда переменная z принимает значение
. Остаток — коэффициент при
ряда Лорана для
.
Пример:
(%i1) residue (s/(s**2+a**2), s, a*%i);
![\frac{1}{2}\leqno{ (\%o1) }](/sites/default/files/tex_cache/c1ce7a50fbba66a7e64e8cfeb2633cf0.png)
(%i2) residue (sin(a*x)/x**4, x, 0);
![-\frac{{a}^{3}}{6}\leqno{ (\%o2) }](/sites/default/files/tex_cache/96709d009d7cbec158531e4cac2755b0.png)