Movatterモバイル変換


[0]ホーム

URL:


Пређи на садржај
Википедија
Претрага

SageMath

С Википедије, слободне енциклопедије
Sage
Прво издање2005.; пре 21 године (2005)
РепозиторијумУреди на Википодацима
Написан уПајтон,Cython
Оперативни системCross-platform
ТипРачунарски алгебарски систем
ЛиценцаGPL
Веб-сајтcloud.sagemath.com

SageMath (претходноSage ili SAGE, систем за алгебарско и геометријско експериментисање[1]) јематематички софтвер са функцијама које покривају многе аспектематематике, укључујућиалгебре,комбинаторике,нумеричке математике,теорије бројева, иинфинитезимални рачун.

Прва верзија SageMath је пуштен на слободу 24. фебруара 2005. године као слободан и софтвер отвореног кода под условима ГНУ-ове опште јавне лиценце, са почетним циљевима стварања "отвореног кода са алтернативом за Magma, Maple, Mathematica, andMATLAB".[2] Зачетник и вођа пројекта SageMath, William Stein, јематематичар на Универзитету у Вашингтону.

SageMath "користи Python-као синтаксу,"[3]  подржавапроцедуралне,функционалне иобјектно оријентисане конструкте.

Karakteristike

[уреди |уреди извор]
Sage документарни интерфејс у  веб-прегледачу.
Решавање једначина и припрема коришћењем SageMath notebook веб интерфејса

Карактеристике SageMath укључују:[4]

  • Лаптоп базиран на претраживачу за ревизију и поновно коришћење претходних улаза и излаза, укључујући графику и текст напомена. Компатибилан саFirefox,Opera, Konqueror,Google Chrome иSafari. Лаптоп може приступити локално или даљински и веза може бити осигурана са HTTPS.
  • Текстуалнекомандне линије интерфејса  користећи IPython
  • Подршка запаралелну обраду коришћењемвишејезгарних процесора, више процесора илидистрибуираног рачунарства
  • Рачунање користећи  Maxima иSymPy
  • Нумеричка линеарна алгебра користи GSL,SciPy и NumPy
  • Библиотеке основних и специјалних математичких функција
  • 2Д и 3Д графици симболичких функција и нумеричких података
  • Матрица манипулација, укључујући иретке низове
  • Мултиваријантна статистика библиотеке, помоћу R и SciPy
  • toolkit за додавање корисничких интерфејса за прорачуне и апликације[5]
  • Теорија графова визуализације и алати анализе
  • Библиотеке бројевне теорије функција
  • Подршка закомплексне бројевепроизвољну прецизност исимболичко рачунање
  • Техничка обрада текста, укључујући уређивање формуле и уграђивање SageMath уLaTeX документуs[6]
  • Пајтонова стандардна библиотека, укључујући и алате за повезивање на   SQL,HTTP, HTTPS, NNTP,IMAP,SSH,IRC,FTP и друге
  • Интерфејс на неке апликације независне као што су Mathematica,Magma, R, и Maple
  • MoinMoin каоВики систем за управљање знањем
  • Документација користећи Sphinx
  • Аутоматски Тест-пакет
  • Извршењефортран,C,C++, иCython кодае[7]
  • Иако није предвиђена SageMath директно, SageMath може бити позван изнутра  Mathematica;[8]ао што је урађено у овом примеру  Mathematica notebookАрхивирано на веб-сајтуWayback Machine (19. јул 2011)

Развој

[уреди |уреди извор]
William A. Stein

Вилијам Стајн реализован приликом дизајнирања Sage  када је било много отворених кодова математиких софтверски пакета већ написаних на различитим језицима, односноC,C++, Common Lisp,Фортран иПајтон.

 Уместо топлу воду, Sage (што је углавном написан уPython иCython) интегрише многе специјализованематематике софтверске пакете у заједничком интерфејсу, за који корисник треба да зна само пајтон. Међутим, Sage садржи стотине хиљада јединствених линија кода додајући нове функције и стварајући интерфејс између његових компоненти.[9]

SageMath користи и студенте и професионалце за развој. Развој SageMath је подржан од стране оба волонтерска рада и донација.[10]

Историја обраде

[уреди |уреди извор]

Само главна издања су наведена у наставку. SageMath практикује "ослобађање рано, ослобађање често" концепт, са издањима на сваких неколико недеља или месеци. Све у свему, било је више од 300 издања, иако је њихова учесталост је смањена.[11]

SageMath versions
VersionRelease DateDescription
0.1Јануар 2005
0.2–0.4Март до Јула 2005Cremona's  база података, мултивариате полиноми, велики коначних поља и још много тога документација
0.5–0.7Август до Септембра 2005Векторски простори, прстење, модуларни симболи, и прозори коришћења
0.8Октобар 2005Пуна дистрибуција GAP, Singular
0.9Новембар 2005Maxima и clisp додати
1.0Фебруар 2006
2.0Јануар 2007
3.0Април 2008Интеракција Р интерфејса
4.0Мај 2009Solaris 10 подршка, 64bit OSX подршка
5.0Мај 2012[12]OSX Lion подршка
6.0Децембар 2013SageMath развој преселио у Git[13]

Достигнућа

[уреди |уреди извор]
  • 2007: прва награда у науци софтвера  Лес Les Trophées du Libre, на међународном такмичењу за слободни софтвер
    [14]
  • 2012: један од изабраних за Google Summer of Code.[15]
  • 2013: ACM/SIGSAM Jenks Prize.[16]
  • SageMath је цитиран у различитим публикацијама.[17][18]

Перформансе

[уреди |уреди извор]

Оба бинарна и изворна кода су доступна за SageMath са  странице за скидање. Ако је SageMath изграђен од изворног кода, многи од укључених библиотека, као што су ATLAS, FLINT, и NTL ће бити подешен и оптимизован за тај рачунар, узимајући у обзир број процесора, величине својих скровишта, да ли постоји хардверска подршка за ССЕ инструкције, итд 

Cython може повећати брзину SageMath програма, као претварање Python кода уC.[19]

Лиценцирање и доступност

[уреди |уреди извор]

SageMath  јеслободан софтвер, дистрибуира под условима ГНУ-ове опште јавне лиценце. SageMath је доступан на много начина:

  • Изворни код се може преузети са странице преузимања. Иако не препоручује за крајње кориснике, развојна издања SageMath су такође доступна.
  • Binaries може се скинути за  Linux, OS X и Solaris (both x86 иSPARC).
  • На CD-у Linux оперативни систем је такође доступан. Ово омогућава коришћење Sage без инсталације Linux-а.
  • Корисници могу користити онлајн верзију  SageMath на sagenb.org, али је прекинуто у априлу 2015. године.
  • Корисници могу користити онлајн  "једна ћелија" верзију SageMath на sagecell.sagemath.org или уградити једну sage ћелију у било коју веб страницу. Корисници могу да праве пермалинкс на SageMath израчунавања користећи сервер ћелија.[20]
  • Нови онлајн SageMath notebook je dostupan na cloud.sagemath.com.

Иако је Microsoft спонзор верзије  Sage за Windows оперативни систем,[21] од 2012. није било никаквих планова за матерњи порт, а корисници Windows-а тренутно морају да користе технологију виртуелизације као штоВиртуалБок за покретање Sage.[22] Као Sage 5.9, углавном успешно гради на Cygwin.[23]

Linux дистрибуције и којима SageMath је доступан у пакету суMandriva,Fedora, иArch Linux. Такође је доступан као наменски Ubuntu PPA.[24] [25] Међутим, SageMath може да се инсталира на било коју Linux дистрибуцију.

Gentoo prefix такође пружа  Sage на другим оперативним системима.

Софтверски пакети садржани у SageMath-у

[уреди |уреди извор]

Филозофија SageMath је коришћење постојећих библиотека отворених кодова где год они постоје. Стога, користи многе библиотеке из других пројеката.

Математички пакети садржани у SageMath[26]
АлгебраGAP,Maxima,Singular
Алгебарска геометријаSingular
Аритметика произвољне прецизностиMPIR, MPFR, MPFI, NTL, mpmath
Аритметичка геометријаPARI/GP, NTL, mwrank, ecm
РачунањеMaxima,SymPy,GiNaC
КомбинаторикаSymmetrica, Sage-Combinat
Линеарна алгебраATLAS, BLAS, LAPACK,NumPy, LinBox, IML, GSL
Теорија графоваNetworkX
Теорија групаGAP
Нумеричко рачунањеGSL,SciPy,NumPy, ATLAS
Теорија бројеваPARI/GP, FLINT, NTL
Статистичко рачунарствоR,SciPy
Други пакети садржани у SageMath
Љуска командне линијеIPython
База податакаZODB,SQLite
Графички интерфејсSageMath Notebook, jsMath
Графикаmatplotlib, Tachyon3d, GD,Jmol
Интерактивни програмски језикPython
УмрежавањеTwisted
Други математички пакет доступан за SageMath
Диференцијална геометрија и Тензорски РачунSage Manifolds[27]

Примери коришћења

[уреди |уреди извор]

Алгебра и рачунање

[уреди |уреди извор]
x,a,b,c=var('x, a, b, c')# Имајте на уму да IPython такође подржава бржи начин да се то уради, позивом# ово је еквивалентно изразима који почињу са зарезом:# ,var x a b clog(sqrt(a)).simplify_log()# враћа 1/2*log(a)log(a/b).expand_log()# враћа log(a) - log(b)sin(a+b).simplify_trig()# враћа sin(a)*cos(b) + sin(b)*cos(a)cos(a+b).simplify_trig()# враћа -sin(a)*sin(b) + cos(a)*cos(b)(a+b)^5# враћа (a + b)^5expand((a+b)^5)# a^5 + 5*a^4*b + 10*a^3*b^2 + 10*a^2*b^3 + 5*a*b^4 + b^5limit((x^2+1)/(2+x+3*x^2),x=Infinity)# враћа 1/3limit(sin(x)/x,x=0)# враћа 1diff(acos(x),x)# враћа -1/sqrt(-x^2 + 1)f=exp(x)*log(x)f.diff(x,3)# враћа e^x*log(x) + 3*e^x/x - 3*e^x/x^2 + 2*e^x/x^3solve(a*x^2+b*x+c,x)# враћа [x == -1/2*(b + sqrt(-4*a*c + b^2))/a,# x == -1/2*(b - sqrt(-4*a*c + b^2))/a]f=x^2+432/xsolve(f.diff(x)==0,x)# враћа [x == 3*I*sqrt(3) - 3,# x == -3*I*sqrt(3) - 3, x == 6]

Диференцијалне једначине

[уреди |уреди извор]
t=var('t')# дефинише променљиву tx=function('x',t)# дефинише x да буде функција променљивеde=(diff(x,t)+x==1)desolve(de,[x,t])# враћа (c + e^t)*e^(-t)

Линеарна алгебра

[уреди |уреди извор]
A=matrix([[1,2,3],[3,2,1],[1,1,1]])y=vector([0,-4,-1])A.solve_right(y)# враћа (-2, 1, 0)A.eigenvalues()# враћа [5, 0, -1]B=matrix([[1,2,3],[3,2,1],[1,2,1]])B.inverse()# враћа[01/2-1/2][-1/4-1/41][1/20-1/2]# исте матрице, али током дуплог круга (не рационалним бројевима, као горе)sage:B=matrix(RDF,1,2,3],[3,2,1],[1,2,1)sage:B.inverse()[-5.55111512313e-170.5-0.5][-0.25-0.251.0][0.50.0-0.5]# Позив NumPy за Moore-Penrose псеудо-инверзије,# јер SageMath не подржава то.importnumpyC=matrix([[1,1],[2,2]])matrix(numpy.linalg.pinv(C))# враћа[0.10.2][0.10.2]

Теорија бројева

[уреди |уреди извор]
prime_pi(1000000)# враћа 78498, број простих бројева мање од једног милионаE=EllipticCurve('389a')# изградити елиптичне криве од Cremona етикетеP,Q=E.gens()7*P+Q# враћа (24187731458439253/244328192262001 :# 3778434777075334029261244/3819094217575529893001 : 1)sage:E2=EllipticCurve(CC,[0,0,-2,1,1])sage:E2EllipticCurvedefinedbyy^2+(-2.00000000000000)*y=x^3+1.00000000000000*x+1.00000000000000overComplexFieldwith53bitsofprecisionsage:E2.j_invariant()61.7142857142857

Повезани пројекти

[уреди |уреди извор]

Види још

[уреди |уреди извор]
  • Поређење рачунарски алгебарских система

Референце

[уреди |уреди извор]
  1. ^Stein, William.
  2. ^Stein, William (2007-06-12).
  3. ^Anastassiou, George A.; Mezei, Razvan A. (2015).Numerical Analysis Using Sage. New York: Springer. стр. x1 and 1.ISBN 9783319167381. 
  4. ^"Sage documentation".
  5. ^"SageMath Interact functionality".
  6. ^"Using SageTeX".
  7. ^"Using Compiled Code Interactively"Архивирано на веб-сајтуWayback Machine (4. април 2013).
  8. ^"Calling SageMath from Mathematica"Архивирано 2012-07-08 на сајтуArchive.today.
  9. ^"days7 - Sage Wiki".
  10. ^"Sage – Acknowledgement".
  11. ^"SageMath Download - src-old".
  12. ^"sage-5.0.txt"[мртва веза].
  13. ^"Installing and using SageMath just got even easier".
  14. ^"Free Software Brings Affordability, Transparency To Mathematics".
  15. ^"Sage Mathematical Software System"Архивирано на веб-сајтуWayback Machine (8. јун 2012).
  16. ^"SIGSAM: Awards and prizes"Архивирано на веб-сајтуWayback Machine (6. септембар 2013).
  17. ^"Publications Citing Sage".
  18. ^"Publications Citing Sage-Combinat".
  19. ^"Cython, Sage, and the Need for Speed".
  20. ^"About the SageMath Cell Server".
  21. ^"Sage – Acknowledgment".
  22. ^Stein, William (16 March 2012).
  23. ^"Information for the port to Cygwin"Архивирано на веб-сајтуWayback Machine (2. јун 2013).
  24. ^"Sage : "AIMS" team".
  25. ^"sage-on-gentoo".
  26. ^"SageMath Standard Packages"Архивирано на веб-сајтуWayback Machine (29. март 2010).
  27. ^SageManifolds: home

Спољашње везе

[уреди |уреди извор]
Отворени код
Затворени код
Без подршке
Слободни софтвер
Власнички софтвер
Јавно власништво
Софтвер отвореног кода
Бесплатан софтвер
Малопродајни софтвер
Вишеплатформни
Мајкрософт Виндоус
Excel add-ons
SageMath nasrodnim projektima Vikipedije:
Mediji na Ostavi
Podaci na Vikipodacima
Преузето из „https://sr.wikipedia.org/w/index.php?title=SageMath&oldid=30735672
Категорије:
Сакривене категорије:

[8]ページ先頭

©2009-2026 Movatter.jp