Когато става дума за решаването на уравнението на математиците в Linux, ние вече обсъдихме GeoGebra, софтуер за геометрия и 2D графики. Въпреки това, ако търсите по-мощни инструменти, трябва да опитате Sage. Всички сме чували за Matlab или Magma, но Sage предлага алтернатива с отворен код за тези две и според мен е по-лесна за използване.

Инсталация

Sage е винаги под тежки разработки, което означава, че нови подобрения се добавят много често. За да го инсталирате от източника:

Първо, ще трябва да задоволите няколко зависимости.

 sudo apt-get инсталирате build-essential m4 gfortran libssl-dev dpkg-dev 

След това можете да изтеглите източниците от официалната страница. Извадете ги и от терминал, стартирайте скрипта

 ./make 

Забележка : Ще имате нужда от около 3GB свободно място за Sage да работи правилно. Не забравяйте да ги имате преди да стартирате компилацията (което ще отнеме известно време).

Ако предпочитате двоичната версия, налице е PPA за Ubuntu:

 sudo apt-add-repository -pppa: цели / sagemath sudo apt-get актуализация sudo apt-get инсталирате sagemath-upstream-binary 

Можете да инсталирате и всички допълнителни пакети:

 sudo apt-get инсталирате texlive evince xpdf xdvi tk8.5-dev 

употреба

За да стартирате Sage, можете да го направите с командата

 ./sage 

от изтеглената директория.

Ако искате да стартирате градински часовник отвсякъде, можете да създадете символна връзка с него

 ln -s [път към графичния сигнализатор] / usr / local / bin / sage 

или дори да направите псевдоним във вашия ~ / .bashrc файл, както направих:

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

Sage не е графично средство по подразбиране. При стартирането трябва да получите нещо подобно

След това имате избор: продължете с конзолата или отидете на базирания на браузъра графичен интерфейс, като въведете

 тетрадка() 

И двамата са доста еквивалентни по отношение на функционалността. Графичният графичен интерфейс е по-интуитивен, особено за графики и графики, но терминалът работи доста добре. С GUI опитайте командата

 кръг ((0, 0), 1, rgbcolor = (1, 1, 0)) 

Ще видите жълт кръг, който се показва под него.

Ако направите същото в конзолата, вашият разглеждане на снимки по подразбиране ще се отвори и ще покаже същия кръг.

Забележка : Както графичният интерфейс, така и конзолата имат функция за автоматично довършване.

Сега, след като сте избрали интерфейса на графата, можем да започнем да говорим за самите функции. Sage е абсолютно огромна, а аз искам да кажа. Просто няма начин да обсъдим всеки аспект от него в една статия. Вместо това ще ви покажа няколко често срещани приложения, които може да искате да опитате.

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

Да, Sage може да направи някои основни математически упражнения. Добавяне, умножение и т.н. Тъй като е написано главно в Python, можете да използвате и синтаксиса на Python, за да правите неща като цяло разделяне.

2. Пономни корени

Доста често срещано е да се даде полином и да се поискат неговите корени. С Sage първо създавате полиномен пръстен с

 P.  = PolynomialRing (RR) 

където x ще бъде генератор, а RR означава реалните числа. Ако искате пръстенът ви да бъде над рационалните числа, например, заместете RR с QQ. След това копирате полинома си:

 t = х ^ 2-25 

И тогава поискате корените

 t.roots () 

Забележка : това ще върне корените в основния пръстен на полинома и техните множества. Ако искате корените да бъдат от друг базов пръстен, го поставете като аргумент за функцията root ().

3. Matrix Inverse

Ако сте малко в търговия или икономика, може би сте виждали матрици в даден момент от живота си. Обикновено има цял процес за намиране на обратните на тези матрици. Е, Сайдж го прави много просто за теб. Създайте своя матрица над основния пръстен, който искате.

 m = матрица (QQ, [[1, 2], [3, 4]]) 

И да търсим обратното:

 m.inverse () 

4. Графики

Sage има и някои графични възможности. По-рано ние съставяме кръг с

 кръг ((0, 0), 1, rgbcolor = (1, 1, 0)) 

Сигурен съм, че сте разбрали, че първият параметър е центърът на кръга, вторият е радиусът, а последният е цветът на кръга в RGB стандарт. Е, можете също така да очертаете основните функции, като първо декларирате променлива:

 x = var ('x') 

След това използвайте функцията plot ():

 участък (x ^ 3, (-10, 10)) 

Първият аргумент е функционалното уравнение, вторият е обхватът. Така че тук исках кубичната функция, показана от -10 до 10 на х-парцела.

Забележка : Ако имате инсталиран Jmol, можете дори да направите триизмерни графики, като декларирате две променливи

 x, y = var ("х, у") 

След това използвайте функцията plot3d ():

 графика3d (x ^ 2 + y ^ 2, (х, -2, 2), (у, -2, 2)) 

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

Понякога искаме решение за уравнение, но калкулаторът ни дава само сближаване. Още по-лошо е, ако има други променливи в това уравнение и че искаме решението да бъде изразено в зависимост от тях. В продължение на години в гимназията бях останал да правя това ръчно. Колко глупаво! Сайдж го прави перфектно. Декларирайте всичките си променливи

 x, a, b, с = var ("xab c") 

След това просто използвайте функцията solve (), като уравнението (ите) е първият аргумент и променливата (ите), която искате да бъде изразена след:

 решаваме ([x - 3 * a == 6, x + b * c == 10], х, б) 

Иска ми се да знам това обратно в гимназията ...

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

Ето най-доброто приложение, когато сте наистина мързеливи. Можете да използвате тази програма, за да разграничите и интегрирате функции. Както обикновено, обявете вашите променливи

 x = var ('x') 

След това използвайте функцията diff () или integrate ().

 диф (х ^ 3 + 4 * х + 16, х) 

за диференциране и

 интегрално (х ^ 3 + 4 * х + 16, х) 

за интегриране.

заключение

Sage е наистина невероятен инструмент. Синтаксисът бързо се учи и остава сравнително стандартен. Недостатъкът е, че документацията наистина е нещо, което трябва да прочетете, за да разберете какво можете да направите. Приложенията са толкова многобройни, че е лесно да се изгубите. Можете да направите диференциални уравнения заедно с криптографията. И става толкова специфично, че в момента се разработва функция за намиране на разделящото поле на полиноми в крайно поле (да, нямам представа какво означава и това).

Имате ли друг пример, който да предложите? Въпрос за Sage? Моля, уведомете ни в коментарите.

Кредит на изображението: Математика от Big Stock Снимка.