We implement several explicit Runge-Kutta schemes that preserve quadratic invariants of autonomous dynamical systems in Sage. In this paper, we want to present our package ex.sage and the results of our numerical experiments. In the package, the functions rrk_solve, idt_solve and project_1 are constructed for the case when only one given quadratic invariant will be exactly preserved. The function phi_solve_1 allows us to preserve two specified quadratic invariants simultaneously. To solve the equations with respect to parameters determined by the conservation law we use the elimination technique based on Gröbner basis implemented in Sage. An elliptic oscillator is used as a test example of the presented package. This dynamical system has two quadratic invariants. Numerical results of the comparing of standard explicit Runge-Kutta method RK(4,4) with rrk_solve are presented. In addition, for the functions rrk_solve and idt_solve, that preserve only one given invariant, we investigated the change of the second quadratic invariant of the elliptic oscillator. In conclusion, the drawbacks of using these schemes are discussed.
Авторами реализовано несколько явных схем Рунге-Кутты, которые сохраняют квадратичные инварианты автономных динамических систем в Sage. В статье представлен пакет ex.sage и результаты численных экспериментов. В пакете функции rrk_solve, idt_solve и project_1 построены для случая, когда только один заданный квадратичный инвариант будет сохранён точно. Функция phi_solve_1 позволяет сохранить одновременно два указанных квадратичных инварианта. Для решения уравнений относительно параметров, определяемых законом сохранения, использована методика исключения на основе базисов Грёбнера, реализованная в Sage. В качестве тестового примера представленного пакета используется эллиптический осциллятор. Эта динамическая система имеет два квадратичных инварианта. Представлены численные результаты сравнения стандартного явного метода Рунге-Кутты RK(4,4) с rrk_solve. Кроме того, для функций rrk_solve и idt_solve, сохраняющих только один инвариант, исследовано изменение второго квадратичного инварианта эллиптического осциллятора. В заключение рассматриваются недостатки использования этих схем.