Sympy

Skjermbilde programvare:
Sympy
Prog.varedetaljer:
Versjon: 0.7.2
Last opp dato: 20 Feb 15
Utvikler: Ondrej Certik
Lisens: Gratis
Popularitet: 54

Rating: 4.5/5 (Total Votes: 2)

Sympy er en åpen kildekode symbolsk manipulasjon pakken, skrevet i ren Python.
Sympy mål er å bli et fullverdig CAS i Python, mens koden holdes så enkel som mulig slik at det kan være lett å utvide og forståelig

Egenskaper .

  • grunnleggende aritmetikk *, /, +, -
  • grunnleggende forenkling (som en * b * b + 2 * b * a * b - & gt; 3 * a * b ^ 2)
  • ekspansjon (som (a + b) ^ 2 - & gt; a ^ 2 + 2 * a * b + b ^ 2)
  • funksjoner (exp, ln, sin, cos, tan, ...)
  • komplekse tall (som exp (I * x) .evalc () - & gt; cos (x) + jeg * sin (x))
  • differensiering
  • taylor serie
  • grunnleggende substitusjon (som x- & gt; ln (x))
  • vilkårlig presisjon heltall og rationals
  • standard (python) flyter

Hva er nytt i denne utgaven:.

  • SymPy støtter nå Python 3 og PYPY
  • Denne utgivelsen inneholder også store nye funksjonene i kombinatorikk, klar integrasjon, tilfeldige variabler, matriseuttrykk, sett, klassisk mekanikk, kvantemekanikk, kommutativ algebra, plotting, og differensialgeometri.
  • Det var også hundrevis av feilrettinger i hele kodebasen.

Hva er nytt i versjon 0.7.1:

  • Store endringer:
  • Python 2.4 støttes ikke lenger. SymPy vil ikke fungere i det hele tatt i Python 2.4. Hvis du fortsatt trenger å bruke SymPy henhold Python 2.4 for noen grunn, vil du trenger å bruke SymPy 0.7.0 eller tidligere.
  • Pyglet plotting bibliotek nå en (valgfri) ekstern avhengighet. Tidligere leverte vi en versjon av Pyglet med SymPy, men dette var gammelt og buggy. Planen er å etter hvert få plotting i SymPy mye mer modulær, slik at det støtter mange backends, men dette har ikke blitt gjort ennå. For nå, er fortsatt bare Pyglet støttes direkte. Merk at Pyglet er bare en valgfri avhengighet og er bare nødvendig for plotting. Resten av SymPy kan fortsatt brukes uten avhengigheter (unntatt Python).
  • isympy arbeider nå med den nye IPython 0,11.
  • mpmath har blitt oppdatert til 0,17. Se de tilsvarende mpmath release notes på http://mpmath.googlecode.com/svn/trunk/CHANGES.
  • Lagt til en Subs objekt for å representere unevaluated erstatninger. Dette kan til slutt oss representerer evaluert ved et punkt derivater, dvs. diff (f (x), x) .subs (x, 0) returnerer Subs (Derivat (f (_x), _x), (_x,), (0, )). Dette betyr også at SymPy kan nå fullstendig beregne kjede regelen når denne funksjonaliteten er nødvendig, slik som med f (g (x)). Diff (x).
  • hyper funksjoner / Meijer G-funksjoner:
  • Lagd klasser hyper () og meijerg () til å representere hyper og Meijer G-funksjoner, henholdsvis. De støtter numerisk evaluering (ved hjelp mpmath) og symbolsk differensiering (ikke i forhold til parametrene).
  • Lagt en algoritme for omskriving hypergeometrisk og Meijer g-funksjoner i form av mer kjente, oppkalt spesielle funksjoner. Det er tilgjengelig via funksjonen hyperexpand (), eller også via expand_func (). Denne algoritmen gjenkjenner mange elementære funksjoner, og også fullstendige og ufullstendige gamma funksjoner, Bessel funksjoner, og feilfunksjoner. Det kan lett utvides til å håndtere flere klasser av spesielle funksjoner.
  • Sett:
  • Lagd FiniteSet klasse å etterligne python sett oppførsel mens også i samspill med eksisterende Intervaller og fagforeninger
  • FiniteSets og Intervaller samhandle slik at for eksempel intervall (0, 10) - FiniteSet (0, 5) produserer (0, 5) U (5, 10]
  • FiniteSets også håndtere ikke-numeriske objekter slik at følgende er mulig {1, 2, 'en', 'to', {a, b}}
  • Lagd ProductSet å håndtere kartesiske produkter av settene
  • Opprett bruker * operatøren, dvs. twodice = FiniteSet (1, 2, 3, 4, 5, 6) * FiniteSet (1, 2, 3, 4, 5, 6) eller firkantet = Intervall (0, 1) * Intervall (0, 1)
  • pow operatør fungerer også som forventet: R3 = Intervall (-oo, oo) ** 3; (3, -5, 0) i R3 == Sann
  • subtraksjon, union, måling alt arbeid tar kompliserte kryss i betraktning.
  • Lagt as_relational metode for å settene, produsere boolske uttalelser ved hjelp av AND, OR, Eq, Lt, Gt, osv ...
  • Endrede reduce_poly_inequalities å returnere sammenslutninger av sett istedet lister over sett
  • Iterables:
  • Lagd generere rutiner for heltall partisjoner og binære partisjoner. Rutinen for heltallige skillevegger tar 3 argumenter, antall i seg selv, den maksimalt mulige element er tillatt i de skillevegger som genereres og den maksimalt mulige antall elementer som vil være i skilleveggen. Binære partisjoner kjennetegnes ved at den inneholder bare makter av to.
  • Lagt generere rutine for multi-set partisjoner. Gitt en multiset, algoritmen implementert vil generere alle mulige partisjoner av at multi-settet.
  • Lagd generere rutiner for bell permutasjoner, derangements og involutions. En klokke permutasjon er en hvor de sykluser som utgjør det består av heltall i en nedadgående retning. En forstyrrelse er en permutasjon, slik at den i-te element er ikke i den i-te stilling. En involusjon er en permutasjon at når multiplisert med seg selv gir identitet permutasjon.
  • Lagd generere rutine for ubegrenset halskjeder. En ubegrenset kjede er en en-ær streng med n tegn, hver av mulige typer. Disse har vært preget av parametrene n og k i rutinen.
  • Lagd generere rutine for orienterte skoger. Dette er en implementering av algoritme S i TAOCP Vol 4A.
  • xyz Spin baser:
  • Den representerer, omskrive og InnerProduct logikk har blitt forbedret for å jobbe mellom to spin baser. Dette ble gjort ved å benytte Wigner-D matrise, implementert i WignerD klasse, i å definere de endringer mellom de forskjellige baser. Som representerer en tilstand, dvs. representerer (JzKet (1,0), Jx = basis), kan brukes til å gi vektoren representasjon av en hvilken som helst annen i hvilken som helst av x / y / z baser for numeriske verdier for j og m i spinn eigenstate. Tilsvarende ombrenning tilstander i ulike baser, dvs. JzKet (1,0) .rewrite ('Jx'), vil skrive statene som en lineær kombinasjon av elementer fra den gitte basis. Fordi dette er avhengig av å representere funksjon, fungerer dette bare for numeriske j og m verdier. Den indre produkt av to eigenstates i ulike baser kan evalueres, dvs. InnerProduct (JzKet (1,0), JxKet (1,1)). Når to forskjellige baser er brukt, er en tilstand omskrevet inn i den andre basis, så dette krever numeriske verdier av j og m, men innerproducts av stater i samme grunnlag kan fortsatt gjøres symbolsk.
  • De Rotation.D og Rotation.d metoder, som representerer den Wigner-D funksjon og Wigner liten-d-funksjonen, returnerer en forekomst av WignerD klassen, som kan evalueres med doit () metode for å gi tilsvarende matrise element av Wigner-D matrise.
  • Andre endringer:
  • Vi bruker nå MathJax i våre docs. MathJax gjengir LaTeX matematikk entierly i nettleseren hjelp av Javascript. Dette betyr at det matte er mye mer lesbart enn den forrige PNG matte, som bruker av bilder. MathJax støttes bare på moderne nettlesere, så LaTeX matematikk i docs kan ikke fungere på eldre nettlesere.
  • nroots () nå kan du stille presisjonen av beregninger
  • Lagt til støtte for gmpy og mpmath menn typer å sympify ()
  • Fix noen bugs med lambdify ()
  • Fix en bug med as_independent og ikke-kommutative symboler.
  • Fix en bug med collect (utgave 2516)
  • Mange feilrettinger knyttet til porting SymPy til Python 3. Takket være våre GSoC student Vladimir Peric, denne oppgaven er nesten fullført.
  • Noen mennesker ble tilbakevirkende kraft lagt til FORFATTERE fil.
  • Lagt til en løser for et spesialtilfelle av den Riccati ligningen i ODE modulen.
  • itereres derivater er ganske trykt i en kortfattet måte.
  • Fix en bug med integrering av funksjoner med flere DiracDeltas.
  • Legg til støtte for Matrix.norm () som fungerer for matriser (ikke bare vektorer).
  • Forbedringer til Groebner baser algoritme.
  • Plot.saveimage støtter nå en StringIO outfile
  • Expr.as_ordered_terms støtter nå ikke lex orde.
  • diff canonicalizes nå rekkefølgen av differensiering symboler. Dette er slik det kan forenkle uttrykk som f (x, y) .diff (x, y) - f (x, y) .diff (y, x). Hvis du ønsker å opprette en bearbeidelse objekt uten å sortere args, bør du lage det eksplisitt med Derivative, slik at du vil få deriverte (f (x, y), x, y)! = Derivat (f (x, y), y, x). Merk at internt blir derivater som kan bli beregnet alltid beregnet i den rekkefølgen de er gitt i.
  • Lagd funksjoner is_sequence () og iterable () for å avgjøre om noe er en ordnet iterable eller normal iterable hhv.
  • Aktivert et alternativ i Sphinx som legger en kilde linken ved siden av hver funksjon, som linker til en kopi av kildekoden for den funksjonen.

Hva er nytt i versjon 0.7.0:

  • Dette er en stor utgivelse som legger mye ny funksjonalitet .
  • er den største endringen de nye polys, som er mye kraftigere og mye raskere. Dette påvirker mange deler av SymPy, inkludert løsere og forenkling.
  • En annen stor forandring den nye kvante-modulen, som ble lagt til som et resultat av to Google Summer of Code prosjekter.
  • Bortsett fra disse store endringer, er det mange endringer gjennom hele SymPy.
  • Denne utgivelsen har også et par stort sett mindre bakoverkompatibilitet pauser.

Hva er nytt i versjon 0.6.3:

  • portet til Python2.6 (alle tester passere) og Jython (alle tester passere unntatt de avhengig av & quot; ast & quot; modul).
  • Sann divisjon ble løst (alle tester passere med & quot; -Qnew & quot; Python opsjon)
  • .
  • buildbot.sympy.org ble opprettet; sympy er nå regelmessig testet på Python 2.4, 2.5, og 2.6 på begge i386 og amd64.
  • py.bench:. Py.test-basert benchmarking
  • bin / test: en enkel py.test lignende testing rammeverk, uten eksterne avhengigheter og med pent farget utgang
  • .
  • De fleste grenser nå fungere.
  • Faktorisering løpet Z [x] ble kraftig forbedret.
  • Stykkevis funksjonen ble lagt til. nsimplify () ble implementert.
  • Symboler og Var syntaks ble forent.
  • C-kode utskrift.

Krav :

  • Python

Lignende programvare

Kommentarer til Sympy

Kommentarer ikke funnet
Legg til kommentar
Slå på bilder!