ПРОГРАММИРОВАНИЕ
Архив статей журнала
Предлагается пакет символьного построения экспоненциально-логарифмических решений таких линейных обыкновенных дифференциальных уравнений, которые могут иметь неполностью заданные (усеченные) коэффициенты – степенные ряды, для которых известны только начальные члены. Входящие в решения ряды также представляются конечным числом начальных членов. Для каждого такого ряда вычисляется максимально возможное число начальных членов, полностью определенных известными начальными фрагментами коэффициентов уравнения. При этом степень усечения каждого из этих рядов не может превосходить заданной пользователем величины. Последнее обеспечивает окончание вычисления и тогда, когда по известным фрагментам коэффициентов уравнения может быть определено любое число членов рядов, входящих в решения.
На основе рекуррентных формул Ньютона приведен алгоритм построения результанта двух целых функций, что является одним из методов исключения неизвестных для систем неалгебраических уравнений. Алгоритм реализован в системе компьютерной алгебры Maple. Приведены примеры, демонстрирующие работу данного алгоритма.
В последнее время на место основного языка научных и инженерных расчетов выдвигается язык Julia. У ряда пользователей возникает желание работать полностью внутри “экосистемы” Julia, подобно тому, как происходит работа в “экосистеме” Python. Для Julia существуют библиотеки, покрывающие большинство потребностей научно-инженерных расчетов. Перед авторами возникла необходимость использовать символьные вычисления для задач математического моделирования. Поскольку основным языком реализации численных алгоритмов мы выбрали язык Julia, то и задачи компьютерной алгебры хотелось бы решать на этом же языке. Авторы выделили основные функциональные области, задающие разные варианты применения систем компьютерной алгебры. В каждой из областей нами выделены наиболее характерные представители систем компьютерной алгебры на Julia. В результате авторы делают вывод, что в рамках “экосистемы” Julia возможно (и даже удобно) использовать системы компьютерной алгебры.
Рассматривается поведение квантовой запутанности в процессе унитарной эволюции в конструктивных моделях многокомпонентных квантовых систем. Описываются группы симметрий квантовых систем, допускающих возникновение геометрических структур, ассоциированных с квантовой запутанностью. Алгоритмы моделирования динамики квантовой запутанности основаны на методах компьютерной алгебры и вычислительной теории групп. Приводятся примеры конкретных вычислений.
В статье предложены два наиболее простых метода определения положений равновесия спутника, движущегося в центральном ньютоновом силовом поле по круговой орбите под действием гравитационного момента. В первом методе применялись подходы линейной алгебры, во втором алгоритмы компьютерной алгебры. Положения равновесия спутника в орбитальной системе координат при заданных значениях главных центральных моментов инерции определяются корнями системы нелинейных алгебраических уравнений. Для определения равновесных решений проводилась декомпозиция системы алгебраических уравнений с применением методов линейной алгебры и алгоритмов построения базисов Гребнера. Положения равновесия спутника определялись путем исследования числа действительных корней алгебраических уравнений из полученных базисов Гребнера. С использованием предложенного подхода показано, что спутник с неравными главными центральными моментами инерции имеет на круговой орбите 24 положения равновесия.
Факторизация полиномов – классическая алгоритмическая проблема алгебры, имеюшая широкий спектр приложений. Особый интерес представляет факторизация над конечными полями, среди которых поле порядка два является, вероятно, наиболее важным в связи с представлением булевых функций полиномами Жегалкина. В частности, факторизация булевых полиномов соответствует конъюнктивной декомпозиции булевых функций, заданных в алгебраической нормальной форме. Кроме того, факторизация дает решение проблемы декомпозиции функций, заданных в СДНФ и позитивных ДНФ, а также декартовой декомпозиции реляционых данных. Эти приложения демонстрируют важность разработки быстрых алгоритмов факторизации. В статье мы рассматриваем некоторые недавно предложенные алгоритмы факторизации полиномиальной сложности и описываем параллельную MIMD-реализацию, которая использует как параллелизм уровня задачи, так и параллелизм уровня данных. Мы представляем эксперименты, выполненные на бенчмарках логического синтеза и на синтетических (случайных) полиномах, которые показывают значительное ускорение факторизации. В заключение представлены результаты тестирования параллельной реализации алгоритма на массивнопараллельной многоядерной архитектуре (Redefine).
Для систем обыкновенных дифференциальных уравнений (ОДУ) с невырожденной линейной частью в общем и гамильтоновом случаях ставится задача отыскания инвариантных координатных подпространств в координатах ее нормальной формы, вычисленной вблизи положения равновесия. Приведены условия существования таких инвариантных подпространств в терминах резонансных соотношений между собственными числами линейной части системы. Дан алгоритм поиска резонансных соотношений между собственными числами без их явного вычисления, который существенно использует методы компьютерной алгебры и q-аналог субрезультантов многочлена. Обсуждается его реализация в трех распространенных системах компьютерной алгебры – Mathematica, Maple и SymPy. Приведены содержательные модельные примеры.
Предложены эвристические вероятностные алгоритмы полиномиального времени с односторонней ошибкой для распознавания кубических гиперповерхностей, чьи сингулярные локусы не содержат никакого линейного подпространства достаточно большой размерности. Эти алгоритмы легко реализовать в системах компьютерной алгебры. Алгоритмы основаны на проверке условий, что гессиан кубической формы не обращается в нуль тождественно или не определяет конус в проективном пространстве. Проверка свойств гессиана, в свою очередь, выполнима вероятностными алгоритмами с односторонней ошибкой, основанными на лемме Шварца–Зиппеля.
Обсуждается проблема поиска равновесных состояний машины Атвуда, в которой шкив конечного радиуса заменяется двумя отдельными малыми шкивами и оба груза могут колебаться в вертикальной плоскости. Получены дифференциальные уравнения движения системы и вычислены их решения в виде степенных рядов по малому параметру. Показано, что в случае грузов одинаковой массы равновесное положение r=const системы существует только при одинаковых амплитудах и частотах колебаний грузов и сдвиге фаз α = 0 или α = π. Кроме того, возможно состояние динамического равновесия, когда оба груза совершают колебания с одинаковыми амплитудами и частотами, а сдвиг фаз составляет α=±π/2. При этом длины маятников также совершают колебания около некоторого равновесного значения. Сравнение полученных результатов с соответствующими численными решениями уравнений движения подтверждает их корректность. Все необходимые вычисления выполняются с помощью системы компьютерной алгебры Wolfram Mathematica.
Рассматривается задача построения начальных членов формальных лорановых рядов, являющихся решениями для заданной компоненты yk (1⩽k⩽m) вектора неизвестных y дифференциальной системы y′=Ay, где y=(y1,…,ym)T, A – m × m-матрица, элементами которой являются d-усечения формальных лорановых рядов, т.е. их начальные члены до степени d⩾0 включительно. Предлагается алгоритм решения задачи с использованием алгоритма TSLS (Truncated Series Laurent Solution). Строящиеся предлагаемым алгоритмом первые члены формальных лорановых решений для yk являются инвариантными относительно возможных продолжений элементов матрицы исходной системы.
В статье предлагается алгоритмическая реализация элементарной версии метода Рунге для семейства диофантовых уравнений 4-й степени с двумя неизвестными. К уравнениям рассматриваемого типа сводится любое диофантово уравнение 4-й степени, старшая однородная часть которого разлагается в произведение линейного и кубического многочленов. Компьютерную реализацию алгоритма решения (в его оптимизированном виде) предполагается осуществить в системе компьютерной алгебры PARI/GP.
Компьютерная алгебра все шире применяется в научных и прикладных вычислениях. В качестве примера приведем тензорные вычисления или в более широком смысле этого слова – упрощение выражений с индексами. В настоящей статье развивается метод цветных графов для упрощения абстрактных выражений с индексами на случай, когда индексы могут быть отнесены к нескольким различным типам. Примерами таких индексов могут быть верхние и нижние индексы в тензорных выражениях. Предложенный подход позволяет значительно уменьшить число перебираемых вариантов при поиске канонической формы выражения, что резко ускоряет процесс вычислений.