Programinė detalės:
Versija: 0.7.2
Įkėlimo datą: 20 Feb 15
Licencija: Nemokamai
Populiarumas: 148
Sympy yra atviro kodo simbolinė manipuliacijos paketas, parašyta gryna Python.
Sympy tikslas yra tapti pilnavertį CAS į Python, o kodas yra laikomi taip paprasta, kaip įmanoma, todėl ji gali būti lengvai išplečiamas ir suprantama
Įranga :.
- pagrindiniai aritmetika * /, +, - "
- Pagrindinis supaprastinimas (pavyzdžiui, a * b * b + 2 * b * * B - & gt; 3 * a * b ^ 2)
- plėtimosi (kaip (a + b) ^ 2 - & gt; ^ 2 + 2 * * b + b ^ 2)
- funkcijos (exp, ln, nuodėmė, cos, tan, ...)
- Kompleksiniai skaičiai (pavyzdžiui, exp (I * X) .evalc () - & gt; cos (x) + I * sin (x))
- diferenciacija
- Taylor serijos
- Pagrindinis Keitimas (kaip x- & gt; ln (x))
- savavališkų tikslieji sveikieji skaičiai ir racionaliai
- standartas (python) plūdės
Kas naujo , šioje laidoje:.
- SymPy dabar palaiko Python 3 ir PyPy
- Ši laida taip pat apima pagrindines naujų funkcijų Kombinatorika, tikrą integraciją, atsitiktinius kintamuosius, matricos išraiškas, rinkiniai, klasikinė mechanika, kvantinė mechanika, jungiamas algebra, braižymo ir Diferencialinė geometrija.
- Taip pat buvo šimtai pataisymų visame kodas bazę.
Kas naujo versijos 0.7.1:
- Pagrindiniai pokyčiai:
- Python 2.4 nebepalaikoma. SymPy neveiks visi Python 2.4. Jei vis dar reikia naudoti SymPy pagal Python 2.4 kažkodėl, jums reikės naudoti SymPy 0.7.0 arba anksčiau.
- Pyglet braižymo biblioteka yra dabar (neprivaloma) išorės priklausomybė. Anksčiau mes vežamos iš Pyglet versiją su SymPy, tačiau tai buvo senas ir klaidų. Planas galiausiai padaryti braižymo ir SymPy daug daugiau modulinės, kad ji palaiko daug backends, tačiau tai nebuvo padaryta dar. Nes dabar, dar tik Pyglet tiesiogiai palaikomas. Atkreipkite dėmesį, kad Pyglet tik neprivaloma priklausomybė ir yra reikalingas tik braižymo. Nuo SymPy poilsio vis dar gali būti naudojamas be jokių priklausomybių (išskyrus Python).
- isympy dabar dirba su nauju IPython 0,11.
- mpmath buvo atnaujintas 0,17. Žr atitinkančius mpmath laidos metu http://mpmath.googlecode.com/svn/trunk/CHANGES.
- Pridėta subs objektą atstovaujanti neįvertintą keitimus. Šis pagaliau leidžia mums atstovauja darinių įvertintos taške, ty, diff (f (x), x) .subs (x, 0) grąžina Subs (darinį (f (_x), _x), (_x,), (0, )). Tai taip pat reiškia, kad SymPy dabar gali teisingai apskaičiuoti grandinės taisyklę, kai ši funkcija yra reikalinga, pavyzdžiui, su f (g (x)). Diff (x).
- hypergeometric funkcijos / Meijer G-funkcijos:
- Pridėta klasės hiper () ir meijerg () atstovauti hypergeometric ir Meijer G-funkcijas, atitinkamai. Jie palaiko skaitmeninį vertinimą (taikant mpmath) ir simbolinę diferenciaciją (ne atsižvelgiant į parametrus).
- Pridėta algoritmą už perrašyti hypergeometric ir Meijer G-funkcijas požiūriu labiau pažįstamas, vadinamąsias specialias funkcijas. Ji yra prieinama funkcija hyperexpand (), ar taip pat per expand_func (). Šis algoritmas atpažįsta daug elementarių funkcijų, ir taip pat užpildo ir neišsamius gama funkcijas, Beselio funkcijos, ir klaidų funkcijas. Jis gali būti lengvai išplėsta dirbti daugiau klasių specialių funkcijų.
- Rinkiniai: "
- Pridėta FiniteSet klasės imituoti python nustatytą elgesį, o taip pat bendrauja su esamais intervalai ir unijų
- FiniteSets ir intervalai sąveikauja taip, kad, pavyzdžiui, intervalas (0, 10), - FiniteSet (0, 5) gamina (0, 5) U (5, 10]
- FiniteSets, taip pat tvarkyti non-skaitmeninius objektus taip, taip yra įmanoma, {1, 2, 'vienas', 'du', {a, b}}
- Pridėta ProductSet tvarkyti Dekarto produktų rinkinių
- Naujas naudojant * operatoriui, ty twodice = FiniteSet (1, 2, 3, 4, 5, 6) * FiniteSet (1, 2, 3, 4, 5, 6), arba kvadrato = Intervalas (0, 1) * Intervalas (0, 1)
- pow operatoriaus taip pat veikia kaip tikėtasi: R3 = Intervalas (-OO, oo) ** 3; (3, -5, 0) R3 == True
- atimtis, sąjungos, matavimo visi darbai atsižvelgiant sudėtingas sankryžas į sąskaitą.
- Pridėta as_relational metodą rinkinių, gaminant Būlio atskaitomybę naudojant AND, OR, eq, LT, GT, ir tt ...
- Pasikeitė reduce_poly_inequalities grįžti sąjungų rinkinių, o ne sąrašus rinkiniai
- Iterables:
- Pridėta gamybos kasdienybe sveikieji pertvaros ir dvejetainių skirsnių. Už sveikieji pertvaros rutina trunka 3 argumentus, pats numeris, didžiausią įmanomą elementas leido pertvarose generuojami ir kuo daugiau elementų, kurie bus pertvara. Dvejetainiai pertvaros pasižymi kuriose yra tik įgaliojimus dviejų.
- Pridėta generuoti rutinos multi-set pertvaros. Atsižvelgiant į Multikomplektas, algoritmas įgyvendinta sugeneruos visas galimas pertvaros tos multi-rinkinys.
- Pridėta gamybos kasdienybe Bell kombinacijų, sutrikimus ir involutions. Varpas perstatymas yra vienas iš kurių ciklai, kurie sudaro tai sudaro sveikieji skaičiai, mažėjimo tvarka. Dezorganizacja yra perstatymas toks, kad ith elementas yra ne ith padėtyje. Involiucija yra kombinacija kad kai dauginama iš savaime suteikia tapatybės kombinacija.
- Pridėta generuoti rutinos neribotas karoliai. Nevaržoma karoliai-Ary eilutė n simbolių, kurių kiekvienas galimų tipų. Tai buvo būdinga parametrų n ir K rutinos.
- Pridėta generuoti rutinos orientuotų miškuose. Tai algoritmo S įgyvendinimas TAOCP Vol 4A.
- XYZ Spin pagrindai:
- atstovauja, perrašyti ir InnerProduct logika buvo patobulinta dirbti tarp bet kurių dviejų spin bazių. Tai buvo padaryta naudojant Vignerio-D matrica įdiegtos WignerD klasės, apibrėžiant tarp įvairių bazių pakeitimus. Atstovaudamas valstybę, ty atstovauti (JzKet (1,0), pagrindas = Jx), gali būti naudojamas suteikti vektorių atstovavimą bet gauti bet kurį iš X / Y / Z bazių skaitinių reikšmių j ir m nugara eigenstate. Be to, teigiama, perrašomi į įvairių bazių, ty JzKet (1,0) .rewrite (Jx), bus parašyti valstybes kaip tiesinės kombinacijos elementų tikrą pagrindą. Kadangi šis remiasi atstovauja funkcija, tai veikia tik skaitmeniniais j ir M vertes. Vidinis produktas iš dviejų eigenstates skirtingų bazių gali būti vertinamas, ty InnerProduct (JzKet (1,0), JxKet (1,1)). Kai du skirtingi pagrindai yra naudojami, viena valstybė yra perrašytas į kitą pagrindu, todėl tai reikalauja skaitines vertes j ir m, bet innerproducts iš narių tuo pačiu pagrindu galima dar simboliškai.
- Rotation.D ir Rotation.d metodai, atstovaujantys Vignerio-D funkcija ir Vignerio nedidelio d funkciją, grąžinti į WignerD klasės, kuri gali būti įvertinta DOIT () metodą instancija suteikti atitinkamą matricą elementas Vignerio-D matrica.
- Kiti pakeitimai:
- Mes dabar naudoja MathJax mūsų docs. MathJax teikia LaTeX matematikos entierly naršyklėje JavaScript. Tai reiškia, kad matematika yra daug daugiau nuskaitoma nei ankstesnės png matematika, kuri naudoja vaizdus. MathJax palaikoma tik šiuolaikinių naršyklių, todėl LaTeX matematikos į docs gali neveikti vyresnio amžiaus naršyklių.
- nroots () dabar leidžia nustatyti skaičiavimų tikslumas
- Pridėta parama gmpy ir mpmath aisiais tipų sympify ()
- Nustatyti kai su lambdify klaidas ()
- Nustatyti klaidą su as_independent ir ne jungiamas simbolių.
- Nustatyti klaidą su rinkti (klausimu 2516)
- Daugelis pataisymai, susiję su perkėlimu SymPy Python 3. Dėka GSoC studentas Vladimiras Perić, ši užduotis yra beveik baigtas.
- Kai kurie žmonės buvo atgaline data įtraukti į autoriai failą.
- Pridėta Solver už ypatingą atveju, Riccati lygtys ODE modulį.
- Całki dariniai yra gana spausdinami glausta.
- Nustatyti klaidą su integravimo funkcijų su keliais DiracDeltas.
- Pridėti paramą Matrix.norm (), kad dirba matricų (ne tik vektoriai).
- patobulinimai GROEBNER bazių algoritmas.
- Plot.saveimage dabar palaiko StringIO outfile
- Expr.as_ordered_terms dabar palaiko ne lex rūšiavimo tvarką.
- skirt dabar canonicalizes diferencijavimo simbolių užsakymą. Taip yra todėl, kad gali supaprastinti išraiškos, pavyzdžiui, f (x, y) Diff (x, y) - f (x, y) Diff (y, x). Jei norite sukurti išvestinį objektą be rūšiavimo args, turite jį sukurti aiškiai su išvestin ÷ mis, kad gausite darinį (f (x, y), x, y)! = Išvestinė (f (x, y), y, x). Atkreipkite dėmesį, kad viduje, dariniai, kurie gali būti skaičiuojamos visada skaičiuojamas tokia tvarka, kokia jie pateikti.
- Pridėta funkcijos is_sequence () ir iterable (), kad nustatyti, ar kažkas yra užsisakyti iterable ar normalu iterable, atitinkamai.
- Įjungta parinktį Sfinksas, kuris prideda šaltinio nuorodą šalia kiekvienos funkcijos, kuri sieja su šaltinio kodo kopiją šią funkciją.
Kas naujo versijos 0.7.0:
- Tai pagrindinė versija, kuri prideda daug naujų funkcijų .
- didžiausias pokytis yra naujų POLYS, kurie daug daugiau galingas ir daug greičiau. Tai turi įtakos daug dalių SymPy, įskaitant matematikų ir supaprastinimo.
- Kitas didelis pokytis yra naujasis kvantinių modulis, kuris buvo įtraukta kaip dviejų Google Summer of kodekso projektų rezultatus.
- Be šių pagrindinių pokyčių, yra daug pokyčių per visus SymPy.
- Ši laida taip pat turi keletą dažniausiai smulkius atgalinio suderinamumo pertraukas.
Kas naujo versijos 0.6.3:
- Tinka Python2.6 (visi bandymai perduoti) ir Jython (visi bandymai perduoti išskyrus priklausomai nuo & quot; AST & quot; modulį).
- Tiesa padalinys buvo fiksuotas (visi bandymai perduoti su & quot; -Qnew & quot; Python variantą) .
- buildbot.sympy.org buvo sukurta; sympy dabar nuolat išbandyti Python 2.4, 2.5 ir 2.6 abu i386 ir amd64.
- py.bench:. Py.test pagrindu lyginamoji analizė
- bin / testas: paprasta py.test-kaip testavimo sistema, be išorinių priklausomybių ir gražiai spalvotas produkcijos .
- Dauguma ribos šiuo metu dirba.
- faktoryzację virš Z [x] buvo žymiai pagerėjo.
- piecewise funkcija buvo pridėta. nsimplify () buvo įgyvendinta.
- Simboliai ir var sintaksė buvo suvienyta.
- C kodo spausdinimas.
Reikalavimai :
- Python
Komentarai nerastas