Рубрика «символьные вычисления»

image

Этот топик продолжает серию моих статей на Хабре, посвященных исследованию аттрактора Лоренца.

Часть 1. Критический взгляд на аттрактор Лоренца
Часть 2. Динамическая система Лоренца и вычислительный эксперимент
Часть 3. О существовании периодических решений в системе Лоренца
Часть 4. Три цикла в аттракторе Лоренца

Итак, рассмотрим нелинейную систему дифференциальных уравнений, введенную Эдвардом Лоренцом в 1963 году:

$ (1)left{ begin{array}{l} dot{x}=sigma(y-x),\ dot{y}=rx-y-xz,\ dot{z}=xy-bz, end{array}right. $

где

$sigma=10,:r=28,:b=8/3:-$

классические значения параметров системы.Читать полностью »

Раньше мы уже искали необычные модели Playboy с помощью библиотеки Python Scikit-learn. Теперь мы продемонстрируем некоторые возможности библиотек SymPy, SciPy, Matplotlib и Pandas на живом примере из разряда занимательных школьных задач по математике. Цель — облегчить порог вхождения при изучении Python библиотек для анализа данных.

Python и красивые ножки: как я бы знакомил сына с математикой и программированием - 1

Читать полностью »

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

image

где функция image представляет собой сумму

image

многомерного многочлена image и тригонометрического полинома image, являющегося image-периодической векторной функцией.

Многие из теорем существования периодических решений системы (1) используют тот фундаментальный факт, что такие решения полностью определяются неподвижными точками оператора сдвига по траекториям системы. Однако использование данных теорем для непосредственного нахождения нужного периодического решения, скорее всего, не представляется возможным.
Читать полностью »

Познакомившись с магией систем компьютерной алгебры, я провела несколько вечеров в странных и на первый взгляд бессмысленных занятиях — перерешивая вузовские задачки по алгебре, математическому анализу, дифференциальным уравнениям… Просто потому, что было интересно — найдется ли такое уравнение, которое не смогут решить ни Maple, ни Maxima? В моем арсенале были эти две системы, и со всеми проблемами они справлялись «на ура». Это вовсе не означает, что всё решалось мгновенно и без применения математических знаний. Некоторые задачи требовали особых подходов, многочисленных преобразований и замен переменных. Так что, с противниками компьютерной алгебры можно поспорить — при правильном применении она нисколько не расслабляет мозг, а наоборот — развивает логическое (и прочее) мышление.

Иллюстрируя вышесказанное, в этом посте я расскажу о нескольких различных сценариях использования СКА Maple в борьбе с интегралами. Надеюсь, что персоны, знакомые с тонкостями символьных вычислений, найдут для себя здесь что-нибудь новенькое. А для тех, кому такой способ решения задач в новинку, я постаралась добавить побольше комментариев.

Постигаем интегралы с помощью Maple
Читать полностью »

Символьные вычисления на примере решения одной несложной задачи по квантовой механикеСего дня я хотел бы предложить своим читателям небольшую заметку о том, как при помощи языка Haskell разработать модуль для выполнения символьных вычислений. В этой заметке будет описано только самое начало — как подступиться к задаче, какие типы данных использовать, как привязать к решению задачи мощную систему вывода типов языка Haskell. При помощи разработанных программных сущностей мы попробуем решить одну простенькую задачу по квантовой механике или даже, скорее, по линейной алгебре (она взята из первого задания курса «Quantum Mechanics and Quantum Computation» на Coursera — задача № 11). При этом мы посмотрим, как последовательное написание функций для выполнения символьных вычислений позволяет всё ближе и ближе подойти к правильному решению.

Вот условие задачи:

Let |ϕ> = ½ |0> + (1 + √2 i)/2 |1> be the state of a qubit. What is the inner product of |ϕ> and |+>?

Другими словами, необходимо найти скалярное произведение двух векторов, которые представляют кубиты |ϕ> и |+>, причём первый кубит задан в базисе (|0>, |1>), а то, как в этом же базисе раскладывается второй кубит, надо помнить :).

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

Читать полностью »