ГлавнаяОперационные системыLinuxSage, отличный математический инструмент для Linux

Sage, отличный математический инструмент для Linux

мудрец-главныйКогда дело доходит до решения математических уравнений в Linux, мы ранее обсуждали GeoGebra, программное обеспечение для геометрии и двумерных графиков. Однако, если вы ищете более мощные инструменты, вам стоит попробовать Sage. Мы все слышали о Matlab или Magma, но Sage предлагает альтернативу этим двум с открытым исходным кодом, и, на мой взгляд, ее проще использовать.

Установка

Sage постоянно находится в стадии интенсивной разработки, а это означает, что новые улучшения добавляются очень часто. Чтобы установить его из исходного кода:

Во-первых, вам нужно будет удовлетворить несколько зависимостей.

Установка

build-essential m4 gfortran libssl-dev dpkg-dev

Затем вы сможете скачать исходники с официальной страницы. Извлеките их и из терминала запустите скрипт

./make

Примечание. Для правильной работы Sage вам потребуется около 3 ГБ свободного места. Обязательно имейте их перед запуском компиляции (это займет некоторое время).

Если вы предпочитаете двоичную версию, для Ubuntu также доступен PPA:

sudo apt-add-repository -y ppa:aims/sagemath
sudo apt-get update
sudo apt-get install sagemath-upstream-binary

Вы также можете установить все дополнительные пакеты:

sudo apt-get install texlive evince xpdf xdvi tk8.5-dev

Использование

Чтобы запустить Sage, вы можете сделать это с помощью команды

./sage

из загруженного каталога.

Если вы хотите запустить sage откуда угодно, вы можете создать символическую ссылку с помощью

ln -s [path to the sage launcher] /usr/local/bin/sage

или даже создайте псевдоним в файле ~/.bashrc, как это сделал я:

 alias sage=/home/adrien/sage-5.2/sage

По умолчанию Sage — это неграфический инструмент. При запуске вы должны получить что-то вроде этого

мудрый запуск

После этого у вас есть

Использование

оту с консолью или перейти к графическому интерфейсу на основе браузера, набрав

 notebook()

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

circle((0,0), 1, rgbcolor=(1,1,0))

Вы увидите желтый кружок под ним.

мудрец-гуй

Если вы сделаете то же самое в консоли, откроется программа просмотра изображений по умолчанию и отобразится тот же кружок.

Примечание. И в графическом интерфейсе, и в консоли есть функция автозаполнения.

Теперь, когда вы выбрали интерфейс sage, можно поговорить о самих функциях. Sage абсолютно огромен, и я серьезно. Мы просто не можем обсудить все аспекты этого вопроса в одной статье. Вместо этого я покажу вам несколько распространенных приложений, которые вы, возможно, захотите попробовать.

1. Калькулятор

Да, Сейдж умеет выполнять базовые математические вычисления. Сложение, умножение и т. д. Поскольку он написан в основном на Python, вы также можете использовать синтаксис Python для таких операций, как целочисленное деление.

шалфей-basic_math

2. Полиномиальные корни

Очень часто получают многочлен и спрашивают, есть ли у него корни. В Sage вы сначала создаете полиномиальное кольцо с

P.<x> = PolynomialRing(RR)</x>

где x — генератор, а RR — действительные числа. Например, если вы хотите, чтобы ваше кольцо превышало рациональные числа, замените RR на QQ. Затем вы копируете свой полином:

t = x^2 - 25

А потом вы спрашиваете корни

t.roots()

Примечание : это вернет корни в базовом кольце многочлена и их кратности. Если вы хотите, чтобы корни были из другого базового кольца, поместите его в качестве аргумента функции root().

корни шалфея

3. Обратная матрица

Если вы немного увлекаетесь торговлей или экономикой, возможно, вы видели матрицы в какой-то момент своей жизни. Обычно существует целый процесс поиска обратных этих матриц. Что ж, Sage сделает это за вас очень просто. Создайте матрицу на основе желаемого базового кольца.

m = matrix(QQ, [[1, 2], [3, 4]])

И чтобы найти обратное:

m.inverse()

1. Калькулятор="https://saintist.ru/wp-content/uploads/2024/05/sage-matrix_inverse.jpg" alt="sage-matrix_inverse">

4. Графики

Sage также обладает некоторыми возможностями графического отображения. Ранее мы рисовали круг с

circle((0,0), 1, rgbcolor=(1,1,0))

Я почти уверен, что вы поняли, что первый параметр — это центр круга, вт

2. Полиномиальные корни

круга в стандарте RGB. Ну, вы также можете построить основные функции, сначала объявив переменную:

x = var('x')

А затем используйте функциюplot():

plot(x^3, (-10,10))

Первый аргумент — это функциональное уравнение, второй — диапазон. Итак, я просил кубическую функцию, показанную на графике x от -10 до 10.

мудрый заговор

Примечание. Если у вас установлен Jmol, вы даже можете создавать трехмерные графики, объявив две переменные

x, y = var('x,y')

А затем используйте функциюplot3d():

plot3d(x^2 + y^2, (x,-2,2), (y,-2,2))

шалфей-сюжет3d

5. Решение уравнений

Иногда нам нужно найти решение уравнения, но калькулятор дает только приближение. Еще хуже, есл

3. Обратная матрица

какие-то переменные и мы хотим, чтобы решение было выражено как функция от них. В течение многих лет в старшей школе мне приходилось делать это вручную. Как глупо! Сэйдж делает это отлично. Объявите все ваши переменные

x, a, b, c = var('x a b c')

А затем просто используйте функциюsolve() с уравнением(ями) в качестве первого аргумента и переменными(ями), которые вы хотите выразить после:

solve([x - 3*a == 6, x + b*c == 10], x, b)

<

Хотел бы я знать это еще в старшей школе…

мудрец-решить

6. Дифференциация и интеграция

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

4. Графики

ите переменные

 x = var('x')

А затем используйте функцию diff() или Integrated().

 diff(x^3 + 4*x + 16, x)

для различения и

 integral(x^3 + 4*x + 16, x)

для интеграции.

sage-diff_integrate

Заключение

Sage — действительно невероятный инструмент. Синтаксис быстро изучается и остается довольно стандартным. Недостаток заключается в том, что вам действительно следует прочитать документацию, чтобы понять, что вы действительно можете сделать. Приложений настолько много, что легко заблудиться. Вы можете решать дифференциальные уравнения вместе с криптографией. И это настолько специфично, что прямо сейчас разрабатывается функция для нахождения поля разложения многочленов по конечному полю (да, я тоже понятия не имею, что это значит).

Можете ли вы предложить еще какой-нибудь пример? Вопрос о Сейдже? Пожалуйста, дайте нам знать в комментариях.

Изображение предоставлено: Maths от Big Stock Photo.

5. Решение уравнений

6. Дифференциация и интеграция

Заключение

ПОХОЖИЕ СТАТЬИ

Популярные записи