Next: , Up: Top   [Contents][Index]

15.1 Эллиптические функции и интегралы в Maxima

Maxima поддерживает работу с эллиптическими функциями Якоби, а также полными и неполными эллиптическими интегралами - как символьную манипуляцию, так и численные расчеты. Определение этих функций и множество их свойств можно найти в главах 16, 17 справочника Abramowitz, Stegun. Мы используем определения и отношения из книги Абрамовица и Стиган там, где это возможно.

В частности, все эллиптические функции и нтегралы используют параметр m вместо модуля k или амплитуды \alpha. Это единственное расхождение с Амбрамовицем и Стиган, которые используют для эллиптических функций амплитуду. Действуют следующие отношения:

В первую очередь упор делался на символьные вычисления с эллиптическими функциями и интегралами. Поэтому известно большинство производных для функций и интегралов. Однако, если в какчестве параметра заданы числа с плавающей точкой, то возвращается численное значение.

Поддержка большинства других свойств эллиптических функций и интегралов, помимо выражения их производных, еще не реализована.

Несколько примеров для эллиптических функций:

(%i1) jacobi_sn (u, m);
(%o1)                    jacobi_sn(u, m)
(%i2) jacobi_sn (u, 1);
(%o2)                        tanh(u)
(%i3) jacobi_sn (u, 0);
(%o3)                        sin(u)
(%i4) diff (jacobi_sn (u, m), u);
(%o4)            jacobi_cn(u, m) jacobi_dn(u, m)
(%i5) diff (jacobi_sn (u, m), m);
(%o5) jacobi_cn(u, m) jacobi_dn(u, m)

      elliptic_e(asin(jacobi_sn(u, m)), m)
 (u - ------------------------------------)/(2 m)
                     1 - m

            2
   jacobi_cn (u, m) jacobi_sn(u, m)
 + --------------------------------
              2 (1 - m)

Несколько примеров для эллиптических интегралов:

(%i1) elliptic_f (phi, m);
(%o1)                  elliptic_f(phi, m)
(%i2) elliptic_f (phi, 0);
(%o2)                          phi
(%i3) elliptic_f (phi, 1);
                               phi   %pi
(%o3)                  log(tan(--- + ---))
                                2     4
(%i4) elliptic_e (phi, 1);
(%o4)                       sin(phi)
(%i5) elliptic_e (phi, 0);
(%o5)                          phi
(%i6) elliptic_kc (1/2);
                                     1
(%o6)                    elliptic_kc(-)
                                     2
(%i7) makegamma (%);
                                 2 1
                            gamma (-)
                                   4
(%o7)                      -----------
                           4 sqrt(%pi)
(%i8) diff (elliptic_f (phi, m), phi);
                                1
(%o8)                 ---------------------
                                    2
                      sqrt(1 - m sin (phi))
(%i9) diff (elliptic_f (phi, m), m);
       elliptic_e(phi, m) - (1 - m) elliptic_f(phi, m)
(%o9) (-----------------------------------------------
                              m

                                 cos(phi) sin(phi)
                             - ---------------------)/(2 (1 - m))
                                             2
                               sqrt(1 - m sin (phi))

Поддержку эллиптических функций и интегралов реализовал Реймонд Той, и его код доступен под лицензии GPL, как и весь код Maxima.


Next: , Up: Top   [Contents][Index]