Sympy

Sagteware kiekie:
Sympy
Sagteware besonderhede:
Weergawe: 0.7.2
Upload datum: 20 Feb 15
Ontwikkelaar: Ondrej Certik
Lisensie: Gratis
Populariteit: 54

Rating: 4.5/5 (Total Votes: 2)

Sympy is 'n oop bron simboliese manipulasie pakket, geskryf in suiwer Python.
Sympy se doel is om 'n volledige CAS in Python, terwyl die kode is so eenvoudig as moontlik gehou word sodat dit maklik extensible en verstaanbaar kan wees

Eienskappe :.

  • basiese afreken *, /, +, -
  • basiese vereenvoudiging (soos 'n * b * b + 2 * b * a * b - & gt; 3 * a * b ^ 2)
  • uitbreiding (soos (a + b) ^ 2 - & gt; 'n ^ 2 + 2 * a * b + b ^ 2)
  • funksies (exp, ln, sonde, cos, tan, ...)
  • komplekse getalle (soos exp (I * x) .evalc () - & gt; cos (x) + I * sonde (x))
  • differensiasie
  • Taylor reeks
  • basiese vervanging (soos x- & gt; ln (x))
  • arbitrêre presisie heelgetalle en rasionale getalle
  • standaard (luislang) dryf

Wat is nuut in hierdie release:.

  • SymPy ondersteun nou Python 3 en PyPy
  • Hierdie release sluit ook groot nuwe funksies in kombinatorika, definitiewe integrasie, stogastiese veranderlikes, matriks uitdrukkings, stelle, klassieke meganika, kwantum meganika, kommutatiewe algebra, plot, en differensiaalmeetkunde.
  • Daar was ook honderde bugfixes die hele kode basis.

Wat is nuut in die weergawe 0.7.1:

  • Groot veranderinge:
  • Python 2.4 is nie meer ondersteun. SymPy sal nie werk nie op alle in Python 2.4. As jy nog steeds nodig SymPy te gebruik onder Python 2.4 vir een of ander rede, sal jy nodig het SymPy 0.7.0 of te gebruik vroeër.
  • Die Pyglet plot biblioteek is nou 'n (opsioneel) eksterne afhanklikheid. Voorheen het ons 'n weergawe van Pyglet gestuur met SymPy, maar dit was oud en karretjie. Die plan is om uiteindelik maak die plot in SymPy baie meer modulêre, sodat dit ondersteun baie back ends, maar dit is nog nie gedoen nie. Vir nou, nog net Pyglet direk ondersteun. Let daarop dat Pyglet is slegs 'n opsionele afhanklikheid en is slegs nodig vir die plot. Die res van SymPy kan nog steeds gebruik word sonder enige afhanklikes (behalwe vir Python).
  • isympy werk nou saam met die nuwe IPython 0.11.
  • mpmath is opgedateer tot 0,17. Sien die ooreenstemmende mpmath release by http://mpmath.googlecode.com/svn/trunk/CHANGES.
  • Bygevoeg 'n Subs voorwerp vir die voorstelling ongeevalueerde substitusies. Dit laat uiteindelik ons ​​afgeleides geëvalueer op 'n punt verteenwoordig, dws diff (f (x), x) .subs (x, 0) gee terug Subs (Afgeleide (f (_x), _x), (_x,), (0, )). Dit beteken ook dat SymPy nou korrek kan bereken die kettingreël toe hierdie funksie vereis word, soos met f (g (x)). Diff (x).
  • hipergeometriese funksies / Meijer G-funksies:
  • Bygevoeg klasse hiper () en meijerg () hipergeometries en Meijer G-funksies te verteenwoordig, onderskeidelik. Hulle ondersteun numeriese evaluering (met behulp van mpmath) en simboliese onderskeid (nie met betrekking tot die parameters).
  • Bygevoeg 'n algoritme vir die herskryf hipergeometries en Meijer g-funksies in terme van meer vertroud met die naam van spesiale funksies. Dit is toeganklik via die funksie hyperexpand (), of ook via expand_func (). Hierdie algoritme, herken baie elementêre funksies, en ook 'n volledige en onvolledige gamma funksies, Besselfunksies en dwaling funksies. Dit kan maklik uitgebrei word om meer klasse van spesiale funksies te hanteer.
  • Stelle:
  • Added FiniteSet klas luislang stel gedrag na te boots, terwyl dit ook die interaksie met bestaande Intervalle en Unies
  • FiniteSets en intervalle interaksie sodat, byvoorbeeld interval (0, 10) - FiniteSet (0, 5) produseer (0, 5) U (5, 10]
  • FiniteSets hanteer ook nie-numeriese voorwerpe so die volgende is moontlik {1, 2, "een", "twee", {a, b}}
  • Added ProductSet Cartesiese produkte van stelle te hanteer
  • Skep met behulp van die * operateur, dws twodice = FiniteSet (1, 2, 3, 4, 5, 6) * FiniteSet (1, 2, 3, 4, 5, 6) of vierkante = interval (0, 1) * Interval (0, 1)
  • pow operateur werk ook soos verwag: R3 = interval (-oo, oo) ** 3; (3, -5, 0) in R3 == Ware
  • aftrek, unie, meting al die werk wat komplekse kruisings in ag neem.
  • Bygevoeg as_relational metode te stel, die vervaardiging van boolean state met AND, OR, Aand, Lt, GT, ens ...
  • verander reduce_poly_inequalities vakbonde van stelle om terug te keer, eerder as lyste van stelle
  • Iterables:
  • Added genereer roetines vir heelgetal mure en binêre mure. Die roetine vir heelgetal partisies neem 3 argumente, die getal self, die maksimum moontlike element toegelaat in die mure gegenereer en die maksimum aantal elemente wat in die verdeling sal wees. Binary partisies word gekenmerk deur wat slegs magte van twee.
  • Bygevoeg genereer roetine vir multi-stel partisies. Gegewe 'n MultiSet, die algoritme geïmplementeer sal alle moontlike mure van daardie multi-stel genereer.
  • Added genereer roetines vir klokkie permutasies, steuring, en involuties. 'N klokkie permutasie is een waarin die siklusse wat dit komponeer bestaan ​​uit heelgetalle in 'n dalende orde. A versteuring is 'n permutasie sodanig dat die ith element is nie by die ith posisie. 'N involution is 'n permutasie dat wanneer met homself vermenigvuldig gee die identiteit permutasie.
  • Added roetine vir onbeperkte halssnoere genereer. 'N onbeperkte halssnoer is 'n a-êre string N karakters, elk van 'n moontlike tipes. Hierdie is gekenmerk deur die parameters N en K in die roetine.
  • Added roetine vir georiënteerde woude genereer. Dit is 'n implementering van die algoritme S in TAOCP Vol 4A.
  • xyz Spin basisse:
  • Die voorstel, herskryf en Inprodukt logika is verbeter om te werk tussen enige twee spin basisse. Dit is gedoen deur gebruik te maak van die Wigner-D matriks, in die WignerD klas geïmplementeer word, in die definisie van die veranderinge tussen die verskillende basisse. Wat 'n staat, dws verteenwoordig (JzKet (1,0), basis = JX), kan gebruik word om die vektor voorstelling te gee van enige kry in enige van die x / y / z basisse vir numeriese waardes van j en m in die spin toestanden. Net so, herskryf state in verskillende basisse, dws JzKet (1,0) .rewrite ('JX'), sal die state skryf as 'n lineêre kombinasie van elemente van die gegewe basis. Omdat hierdie staatmaak op die stel funksie, dit werk net vir numeriese j en M waardes. Die innerlike produk van twee eigenstates in verskillende basisse geëvalueer kan word, dit wil sê Inprodukt (JzKet (1,0), JxKet (1,1)). Wanneer twee verskillende basisse gebruik word, is 'n staat herskryf in die ander hand, so dit verg numeriese waardes van j en m, maar innerproducts van state in dieselfde basis kan nog steeds simbolies gedoen word.
  • Die Rotation.D en Rotation.d metodes, wat die Wigner-D funksie en die Wigner klein-d funksie, terugkeer 'n geval van die WignerD klas, wat met die duit () metode geëvalueer word om die ooreenstemmende matriks te gee element van die Wigner-D matriks.
  • Ander veranderinge:
  • Ons gebruik nou MathJax in ons docs. MathJax lewer LaTeX wiskunde entierly in die leser met behulp van JavaScript. Dit beteken dat die wiskunde is baie meer leesbare as die vorige png wiskunde, wat beelde gebruik. MathJax word alleen ondersteun op moderne blaaiers, so LaTeX wiskunde in die dokumente mag nie op ouer blaaiers werk.
  • nroots () kan jy nou stel die akkuraatheid van bewerkings
  • Bygevoeg ondersteuning vir gmpy en mpmath se tipes te sympify ()
  • Fix sommige foute met lambdify ()
  • Fix 'n fout met as_independent en nie-kommutatiewe simbole.
  • Fix 'n fout met die versamel (kwessie 2516)
  • Baie fixes met betrekking tot die oordra van SymPy te Python 3. Dankie aan ons GSoC student Vladimir Peric, hierdie taak is byna voltooi.
  • Sommige mense is terugwerkend bygevoeg aan die outeurs lêer.
  • Bygevoeg 'n oplosser vir 'n spesiale geval van die Riccati vergelyking in die ODE module.
  • herhaalde afgeleide word mooi gedruk in 'n bondige manier.
  • Fix 'n fout met die integrasie van funksies met verskeie DiracDeltas.
  • Voeg ondersteuning vir Matrix.norm () wat vir Matrikse (nie net vektore).
  • Verbeterings aan die Groebner basisse algoritme.
  • Plot.saveimage ondersteun nou 'n StringIO outfile
  • Expr.as_ordered_terms ondersteun nou nie lex rye.
  • diff canonicalizes nou aan die orde van differensiasie simbole. Dit is dus van uitdrukkings soos f (x, y) .diff (x, y) kan vereenvoudig - f (x, y) .diff (y, x). As jy wil 'n afgeleide voorwerp te skep sonder sorteer die argumente, moet jy dit maak uitdruklik met die afgeleide, sodat jy sal Afgeleide (f (x, y), x, y)! = Afgeleide (f (x, y) kry, y, x). Let daarop dat intern, afgeleide instrumente wat bereken kan word, is altyd bereken in die volgorde wat hulle gegee word in.
  • Bygevoeg funksies is_sequence () en iterable () om te bepaal of daar iets is 'n geordende iterable of normale iterable, onderskeidelik.
  • aangeskakel 'n opsie in Sphinx dat voeg 'n bron skakel langs elke funksie, wat verwys na 'n afskrif van die bron-kode vir die funksie.

Wat is nuut in die weergawe 0.7.0:

  • Dit is 'n groot vrylating dat voeg baie nuwe funksies .
  • Die grootste verandering is die nuwe polys, wat baie meer kragtige en baie vinniger. Dit raak baie dele van SymPy, insluitend die solvers en vereenvoudiging.
  • Nog 'n groot verandering is die nuwe kwantum module, wat bygevoeg is as 'n gevolg van twee Google Summer of Code projekte.
  • Afgesien van hierdie groot veranderinge, daar is baie veranderinge in die hele van SymPy.
  • Hierdie vrystelling het ook 'n paar meestal klein backwards compatibility breek.

Wat is nuut in die weergawe 0.6.3:

  • oorgedra na Python2.6 (alle toetse slaag) en Jython (alle toetse slaag, behalwe dié afhangende van die & quot; ast & quot; module).
  • Ware afdeling is vasgestel (alle toetse slaag met die & quot; -Qnew & quot; Python opsie)
  • .
  • buildbot.sympy.org is geskep; sympy nou gereeld getoets op Python 2.4, 2.5, en 2.6 op beide i386 en amd64.
  • py.bench. Py.test-gebaseerde benchmarking
  • bin / toets: 'n eenvoudige py.test-agtige toets raamwerk, sonder eksterne afhanklikhede en met mooi gekleurde uitset
  • .
  • Die meeste perke nou werk.
  • Faktorisering oor Z [x] is baie verbeter.
  • stuksgewyse funksie is bygevoeg. nsimplify () is geïmplementeer.
  • Simbole en var sintaksis is verenig.
  • C-kode druk.

Vereistes :

  • Python

Soortgelyke sagteware

SpeedCrunch
SpeedCrunch

2 Jun 15

Hypre
Hypre

11 May 15

Grapher
Grapher

3 Jun 15

Kommentaar te Sympy

Kommentaar nie gevind
Kommentaar te lewer
Draai op die foto!