Movatterモバイル変換


[0]ホーム

URL:


Ir para o conteúdo
Wikipédia
Busca

SageMath

Origem: Wikipédia, a enciclopédia livre.
SageMath
DesenvolvedorWilliam Stein
Lançamento inicial24 de fevereiro de2005 (20 anos)
Lançamento estável
10.7 / 9 de agosto de 2025; há 6 meses
Versão beta
10.7beta0 / 2 de abril de 2025; há 10 meses
Repositório
Escrito emPython, Cython
Sistema
operacional
Multiplataforma
PlataformaPython
TipoSistema algébrico computacional
LicençaGNU General Public License
Websitesagemath.org (eminglês,emchinês,emfrancês,emalemão,emportuguêseemrusso)., acessado pela última vez há 226semanas e 4dias

OSageMath (anteriormenteSage eSAGE,acrónimo eminglês paraSistema Algébrico e Geométrico de Experimentações[1]) é um software dematemática que possui recursos que abrangem muitas áreas, incluindoálgebra,combinatória,análise numérica,teoria dos números ecálculo.

A primeira versão do SageMath foi lançada em24 de fevereiro de2005 como umsoftware livre e decódigo aberto, nos termos daGNU General Public License, com o objectivo de criar uma "alternativa decódigo aberto a outros programas, como o Magma (sistema algébrico computacional),Maple,Mathematica eMATLAB".[2]

O SageMath utiliza alinguagem de programaçãoPython, suportando programaçõesprocedural,funcional e deorientação a objetos.

Características

[editar |editar código]
A interface gráfica do SageMath funciona como a maioria dos navegadoresweb
Resolução de equações e de diagramação utilizando a interfaceweb do SageMath

Entre as características do SageMath, estão:[3]

Desenvolvimento

[editar |editar código]
William Stein, desenvolvedor do Sage

William Stein percebeu, ao projectar o SageMath, que já havia muitossoftwares decódigo aberto escritos em diferenteslinguagens de programação, a saber,C,C++,Common Lisp,Fortran ePython.

Ao invés dereinventar a roda, o SageMath (que é escrito principalmente emPython e Cython) integra váriossoftwares dematemática em umainterface comum, para que umutilizador necessite saber apenasPython.[4]
Tantoestudantes quanto profissionais auxiliam no desenvolvimento do SageMath. O desenvolvimento do SageMath é mantido por trabalhos voluntários e doações.[5]

Histórico de lançamentos

[editar |editar código]

Apenas os maiores lançamentos estão listados abaixo. O Sage segue o conceito "liberação rápida e frequente", lançando novas versões com diferença de poucas semanas ou meses. No total, houve mais de 300 novas versões lançadas, embora a frequência de atualizações tenha diminuído.[6]

VersãoData de lançamentoDescrição
0.1Janeiro de 2005Inclui PARI, mas não GAP ou Singular
0.2 - 0.4Março a Julho de 2005Banco de dados do Cremona, polinômios multivariados, campos finitos grandes e mais documentação
0.5 - 0.7Agosto e Setembro de 2005Espaços vectoriais, anéis, símbolos modulares e janelas de utilização
0.8Outubro de 2005Distribuição completa do GAP, Singular
0.9Novembro de 2005Maxima e clisp adicionados
1.0Fevereiro de 2006
2.0Janeiro de 2007
3.0Abril de 2008
4.0Maio de 2009
5.0Maio de 2012
6.0Dezembro de 2013Desenvolvimento movido para o Git
7.0Janeiro de 2016Melhorias na interface gráfica
8.0Julho de 2017
9.0Janeiro de 2020Conversão para Python 3

Conquistas

[editar |editar código]

Em2007, o SageMath ganhou o primeiro prémio na divisão de software científico doLes Trophées du Libre, uma competição internacional parasoftware livre.[7]

O SageMath também já foicitado em várias publicações.[8][9]

Licença e disponibilidade

[editar |editar código]

O SageMath ésoftware livre, distribuído sob os termos daGNU General Public License, versão 3. O programa está disponível de várias maneiras:

Embora aMicrosoft estivesse patrocinando uma versão nativa do SageMath para osistema operacionalWindows,[10] até2012 não havia planos para o desenvolvimento de uma versão nativa, e os utilizadores doWindows têm actualmente que utilizarmáquinas virtuais, como oVirtualBox, para poderem executar o SageMath.[11]
As distribuiçõesLinux em que o SageMath está disponível como um pacote sãoUbuntu,Debian,Fedora,Arch Linux,NixOS eGNU Guix System. O SageMath pode ser instalado em qualquer distribuiçãoLinux.

Pacotes desoftware contidos no SageMath

[editar |editar código]

A filosofia do SageMath é a utilização de bibliotecas desoftwares de código aberto, onde quer que existam. Por isso, utiliza muitas bibliotecas de outros projectos.

Pacotes de matemática contidos no SageMath
ÁlgebraGAP,Maxima, Singular,Macaulay 2
Geometria algébricaSingular,Macaulay 2
Aritmética de precisão arbitráriaMPIR, MPFR, MPFI, NTL, mpmath
Geometria aritméticaPARI/GP, NTL, mwrank, ecm
CálculoMaxima, SymPy, GiNaC
CombinatóriaSymmetrica, Sage-Combinat
Álgebra linearATLAS, BLAS, LAPACK,NumPy, LinBox, IML, GSL
Teoria dos gráficosNetworkX
Teoria dos gruposGAP
Computação numéricaGSL,SciPy,NumPy, ATLAS,Scilab,GNU Octave
Teoria dos númerosPARI/GP, FLINT, NTL, Kash/Kant
Computação estatísticaR,SciPy
Outros pacotes contidos no SageMath
Shell da linha de comandoIPython
Banco de dadosZODB, Python pickles,SQLite
Configuração do tipo de matemáticaLaTeX
Interface gráficaSage Notebook, jsmath
GráficosMatplotlib, Tachyon3d, GD, Jmol
Linguagem de programação interativaPython
RedeTwisted

Exemplos de utilização

[editar |editar código]

Álgebra e cálculo

[editar |editar código]
x,a,b,c=var('x, a, b, c')log(sqrt(a)).simplify_log()# returns 1/2*log(a)log(a/b).expand_log()# returns log(a) - log(b)sin(a+b).simplify_trig()# returns sin(a)*cos(b) + sin(b)*cos(a)cos(a+b).simplify_trig()# returns -sin(a)*sin(b) + cos(a)*cos(b)(a+b)^5# returns (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)# returns 1/3limit(sin(x)/x,x=0)# returns 1diff(acos(x),x)# returns -1/sqrt(-x^2 + 1)f=exp(x)*log(x)f.diff(x,3)# returns 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)# returns [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)# returns [x == 3*I*sqrt(3) - 3, x == -3*I*sqrt(3) - 3, x == 6]

Equações diferenciais

[editar |editar código]
t=var('t')# define a variable tx=function('x',t)# define x to be a function of that variableDE=lambday:diff(y,t)+y-1desolve(DE(x(x=t)),[x,t])# returns (c + e^t)*e^(-t)

Álgebra linear

[editar |editar código]
A=Matrix([[1,2,3],[3,2,1],[1,1,1]])y=vector([0,-4,-1])A.solve_right(y)# returns (-2, 1, 0)A.eigenvalues()# returns [5, 0, -1]B=Matrix([[1,2,3],[3,2,1],[1,2,1]])B.inverse()# returns'''[   0  1/2 -1/2]   [-1/4 -1/4    1]   [ 1/2    0 -1/2]'''# Call NumPy for the Moore-Penrose pseudo-inverse, since Sage does not support that yet.importnumpyC=Matrix([[1,1],[2,2]])matrix(numpy.linalg.pinv(C.numpy()))# returns'''[0.1 0.2]   [0.1 0.2]'''

Teoria dos números

[editar |editar código]
prime_pi(1000000)# returns 78498, the number of primes less than one millionE=EllipticCurve('389a')# construct an elliptic curve from its Cremona labelP,Q=E.gens()7*P+Q# returns (24187731458439253/244328192262001 : 3778434777075334029261244/3819094217575529893001 : 1)

Ver também

[editar |editar código]

Referências

  1. William Stein.«SAGE: A Computer System for Algebra and Geometry Experimentation». Consultado em 16 de abril de 2012 
  2. William Stein.«Sage Days 4»(PDF). Arquivado a partir do ficheiro originalem30 de março de2012. Consultado em 16 de abril de 2012 
  3. «SageMath - Documentação de Ajuda». Consultado em 16 de abril de 2012 
  4. «Sage Days 7: Combinatorics». 14 de novembro de 2008. Consultado em 17 de abril de 2012 
  5. «www.sagemath.org/development-ack.html». Consultado em 17 de abril de 2012 
  6. SageMath.«Sage Download - src-old». Consultado em 17 de abril de 2012 
  7. Science Daily (6 de dezembro de 2007).«Free Software Brings Affordability, Transparency To Mathematics». Consultado em 17 de abril de 2012 
  8. SageMath.«Publications Citing Sage». Consultado em 17 de abril de 2012 
  9. SageMath.«Publications Citing Sage-Combinat». Consultado em 17 de abril de 2012 
  10. name="sage_development"
  11. William Stein (16 de março de 2012).«Re: Question about Sage» Verifique valor|url= (ajuda). Consultado em 17 de abril de 2012 Link web

Ligações externas

[editar |editar código]
Software livre
Software não-livre
Varejo
Código aberto
Software gratuito/shareware
Descontinuados
OCommons possui umacategoria com imagens e outros ficheiros sobreSageMath
Obtida de "https://pt.wikipedia.org/w/index.php?title=SageMath&oldid=71405966"
Categorias:
Categoria oculta:

[8]ページ先頭

©2009-2026 Movatter.jp