Sympy

Software screenshot:
Sympy
Software detaljer:
Version: 0.7.2
Upload dato: 20 Feb 15
Udvikler: Ondrej Certik
Licens: Gratis
Popularitet: 54

Rating: 4.5/5 (Total Votes: 2)

Sympy er et open source symbolsk manipulation pakke, som er skrevet i ren Python.
Sympy mål er at blive en fuld kendetegnet CAS i Python, mens koden holdes så enkelt som muligt, så det kan være let at tilføje og forståelig

Egenskaber :.

  • grundlæggende aritmetik *, /, +, -
  • grundlæggende forenkling (som a * b * b + 2 * b * a * b - & gt; 3 * a * b ^ 2)
  • ekspansion (som (a + b) ^ 2 - & gt; a ^ 2 + 2 * a * b + b ^ 2)
  • funktioner (exp, ln, sin, cos, tan, ...)
  • komplekse tal (som exp (I * x) .evalc () - & gt; cos (x) + I * sin (x))
  • differentiering
  • taylor serien
  • grundlæggende substitution (ligesom x- & gt; ln (x))
  • vilkårlige præcision heltal og rationals
  • standard (python) flyder

Hvad er nyt i denne udgivelse:.

  • SymPy understøtter nu Python 3 og PYPY
  • Denne version indeholder også store nye funktioner i kombinatorik, konkret integration, stokastiske variable, matrix udtryk, sæt, klassisk mekanik, kvantemekanik, kommutativ algebra, plotte og differential geometri.
  • Der var også flere hundrede fejlrettelser i hele kodebase.

Hvad er nyt i version 0.7.1:

  • Større ændringer:
  • Python 2.4 understøttes ikke længere. SymPy vil ikke arbejde på alle i Python 2.4. Hvis du stadig nødt til at bruge SymPy under Python 2.4 eller anden grund, skal du bruge SymPy 0.7.0 eller tidligere.
  • Pyglet plotte Biblioteket er nu en (valgfrit) eksterne afhængighed. Vi har tidligere sendt en version af Pyglet med SymPy, men dette var gamle og buggy. Planen er at i sidste ende gøre det plotte i SymPy meget mere modulær, så det understøtter mange backends, men det er ikke sket endnu. For nu, er stadig kun Pyglet understøttes direkte. Bemærk at Pyglet er kun en valgfri afhængighed og er kun nødvendig for at plotte. Resten af ​​SymPy kan stadig anvendes uden afhængigheder (undtagen Python).
  • isympy fungerer nu med den nye IPython 0,11.
  • mpmath er blevet opdateret til 0.17. Se de tilsvarende mpmath release notes på http://mpmath.googlecode.com/svn/trunk/CHANGES.
  • Tilføjet en Subs objekt til at repræsentere unevaluated udskiftninger. Dette endelig lader os repræsentere derivater evalueret på et punkt, nemlig, diff (f (x), x) .subs (x, 0) returnerer Subs (derivat (f (_x), _x), (_x,), (0, )). Dette betyder også, at SymPy nu korrekt kan beregne kæden regel, når denne funktion er påkrævet, såsom med f (g (x)). Diff (x).
  • hypergeometriske funktioner / Meijer G-funktioner:
  • Tilføjet klasser hyper () og meijerg () til at repræsentere hypergeometriske og Meijer G-funktioner, hhv. De støtter numerisk evaluering (ved hjælp mpmath) og symbolsk differentiation (ikke i forhold til parametre).
  • Tilføjet en algoritme til at omskrive hypergeometriske og Meijer g-funktioner i form af mere velkendte, kaldet særlige funktioner. Det er tilgængeligt via funktionen hyperexpand (), eller også via expand_func (). Denne algoritme genkender mange elementære funktioner, og også komplette og ukomplette gamma funktioner, Bessel funktioner og fejlfunktioner. Det kan let udvides til at håndtere flere klasser af specialfunktioner.
  • Indstiller:
  • Tilføjet FiniteSet klasse til at efterligne python sæt adfærd samtidig interagere med eksisterende intervaller og fagforeninger
  • FiniteSets og intervaller interagerer således at for eksempel Interval (0, 10) - FiniteSet (0, 5) producerer (0, 5) U (5, 10]
  • FiniteSets også håndtere ikke-numeriske objekter, så det følgende er mulig {1, 2, "et", "to", {a, b}}
  • Tilføjet ProductSet at håndtere kartesiske produkter sæt
  • Opret ved hjælp af * operatør, dvs. twodice = FiniteSet (1, 2, 3, 4, 5, 6) * FiniteSet (1, 2, 3, 4, 5, 6) eller firkantet = Interval (0, 1) * Interval (0, 1)
  • arbejder pow operatør også som forventet: R3 = Interval (-oo, oo) ** 3; (3, -5, 0) i R3 == Sand
  • Subtraktion, union, måling alt arbejde under komplekse vejkryds i betragtning.
  • Tilføjet as_relational metode til apparater, der producerer booleske udsagn hjælp Og Eller Eq, Lt, Gt, osv ...
  • Ændrede reduce_poly_inequalities at returnere fagforeninger af sæt i stedet for lister over sæt
  • Iterables:
  • Tilføjet generere rutiner for heltal skillevægge og binære partitioner. Rutinen for heltal partitioner tager 3 argumenter, selve nummeret, den maksimalt mulige element tilladt i skillevægge genereret og det maksimalt mulige antal elementer, der vil være i skillevæggen. Binære partitioner er kendetegnet ved kun indeholder beføjelser to.
  • Tilføjet generere rutine for multi-sæt partitioner. Givet en MultiSet, algoritmen implementeres vil generere alle mulige partitioner af denne multi-sæt.
  • Tilføjet generere rutiner for klokke permutationer, derangements og involutions. En klokke permutation er en, hvor de cyklusser, der udgør det består af heltal i en faldende orden. En forstyrrelse er en permutation sådan, at den i'te element er ikke den i'te position. En involution er en permutation, at når ganget med sig selv giver identitet permutation.
  • Tilføjet generere rutine for ubegrænset halskæder. En ubegrænset halskæde er en a-ary streng af n tegn, der hver en mulige typer. Disse er blevet præget af parametrene n og K i rutinen.
  • Tilføjet generere rutine for orienterede skove. Dette er en implementering af algoritme S i TAOCP Vol 4A.
  • xyz Spin baser:
  • repræsenterer, omskrive og InnerProduct logik er blevet forbedret for at arbejde mellem to spin-baser. Dette blev gjort ved at udnytte Wigner-D matrix, implementeret i WignerD klassen, ved fastlæggelsen af ​​ændringer mellem de forskellige baser. Repræsenterer en tilstand, dvs. repræsenterer (JzKet (1,0), basis = Jx), kan anvendes til at give vektor repræsentation af nogen få i nogen af ​​de x / y / z baser for numeriske værdier af j og m i spin egentilstand. Tilsvarende omskrivning stater i forskellige baser, dvs. JzKet (1,0) .rewrite (Jx), vil skrive staterne som en lineær kombination af elementer fra den givne grundlag. Da dette er afhængig af at repræsentere funktion, det virker kun til numeriske J og M værdier. Den indre produkt af to egentilstande i forskellige baser kan vurderes, dvs. InnerProduct (JzKet (1,0), JxKet (1,1)). Når der anvendes to forskellige baser, er en tilstand omskrevet til andet grundlag, så det kræver numeriske værdier af j og m, men innerproducts af stater i samme grundlag kan stadig gøres symbolsk.
  • Rotation.D og Rotation.d metoder, der repræsenterer Wigner-D funktionen og Wigner små-d-funktion, returnere en instans af WignerD klassen, som kan evalueres med doit () metode til at give den tilsvarende matrix element i Wigner-D matrix.
  • Andre ændringer:
  • Vi bruger nu MathJax i vores docs. MathJax gør LaTeX matematik entierly i browseren ved hjælp af Javascript. Dette betyder, at matematik er meget mere læsbar end den tidligere PNG matematik, som bruger billeder. MathJax understøttes kun på moderne browsere, så LaTeX matematik i docs virker muligvis ikke på ældre browsere.
  • nroots () nu kan du indstille præcision beregninger
  • Tilføjet understøttelse af gmpy og mpmath s typer at sympify ()
  • Fix nogle bugs med lambdify ()
  • Løs et bug med as_independent og ikke-kommutative symboler.
  • Løs et bug med indsamle (emne 2516)
  • Mange rettelser vedrørende portering SymPy til Python 3. Takket være vores GSoC student Vladimir Peric, denne opgave er næsten afsluttet.
  • Nogle mennesker blev med tilbagevirkende kraft tilføjet til forfatterne filen.
  • Tilføjet en solver for et specialtilfælde af den Riccati ligning i ODE-modulet.
  • itererede derivater temmelig trykt i en kortfattet måde.
  • Løs et bug med at integrere funktioner med flere DiracDeltas.
  • Tilføj støtte til Matrix.norm (), der arbejder for matricer (ikke kun vektorer).
  • Forbedringer af Groebner baser algoritme.
  • Plot.saveimage understøtter nu en StringIO outfile
  • Expr.as_ordered_terms understøtter nu ikke lex orderings.
  • diff nu canonicalizes rækkefølgen af ​​differentiering symboler. Dette er så det kan forenkle udtryk som f (x, y) .diff (x, y) - f (x, y) .diff (y, x). Hvis du vil oprette et Bearbejdet objekt uden sortere args, skal du oprette det eksplicit med Derivative, så du får derivat (f (x, y), x, y)! = Derivative (f (x, y), y, x). Bemærk, at internt, derivater, kan beregnes altid beregnet i den rækkefølge, de er angivet i.
  • Tilføjet funktioner is_sequence () og Iterable () til at afgøre, om noget er en ordnet Iterable eller normal Iterable henholdsvis.
  • Aktiveret en mulighed i Sphinx, der tilføjer en kilde linket ved siden af ​​hver funktion, som linker til en kopi af kildekoden til denne funktion.

Hvad er nyt i version 0.7.0:

  • Det er en stor udgivelse, der tilføjer meget ny funktionalitet .
  • Den største ændring er den nye polys, som er langt mere kraftfulde og meget hurtigere. Dette påvirker mange dele af SymPy, herunder solvers og forenkling.
  • En anden stor forandring er den nye quantum modul, som blev tilføjet som følge af to Google Summer of Code-projekter.
  • Bortset fra disse store forandringer, der er mange ændringer i hele hele SymPy.
  • Denne udgivelse har også et par meste mindre bagudkompatibilitet pauser.

Hvad er nyt i version 0.6.3:

  • porteret til Python2.6 (alle test pass) og Jython (alle test passerer undtagen dem, afhængigt af & quot; ast & quot; modul).
  • Sand division blev fastsat (alle test passerer med & quot; -Qnew & quot; Python option)
  • .
  • buildbot.sympy.org blev skabt; sympy nu regelmæssigt testet på Python 2.4, 2.5, og 2.6 på begge i386 og amd64.
  • py.bench:. Py.test-baserede benchmarking
  • bin / test: en simpel py.test-lignende test rammer, uden eksterne afhængigheder og med pænt farvet output
  • .
  • De fleste grænser nu arbejde.
  • Faktorisering i Z [x] blev forbedret.
  • stykkevis funktion blev tilføjet. nsimplify () blev gennemført.
  • Symboler og var syntaks blev forenet.
  • C-kode udskrivning.

Krav :

  • Python

Lignende software

Kommentarer til Sympy

Kommentarer ikke fundet
Tilføj kommentar
Tænd billeder!