Sympy

Screenshot Software:
Sympy
Detalii soft:
Versiune: 0.7.2
Incarca data: 20 Feb 15
Producător: Ondrej Certik
Licenţă: Gratuit
Popularitate: 54

Rating: 4.5/5 (Total Votes: 2)

Sympy este o sursă deschisă pachet manipulare simbolic, scris în Python pură.
Scopul Sympy este de a deveni un CAS cu caracteristici complete în Python, în timp ce codul este păstrat la fel de simplu posibil, astfel încât să poată fi ușor extensibil și ușor de înțeles

Caracteristici :.

  • aritmetica de bază *, /, +, -
  • simplificare de bază (ca un * b * b + 2 * b * a * b - & gt; 3 * a * b ^ 2)
  • expansiune (cum ar fi (a + b) ^ 2 - & gt; o ^ 2 + 2 * a * b + b ^ 2)
  • funcții (exp, ln, sin, cos, tan, ...)
  • numere complexe (cum ar fi exp (I * x) .evalc () - & gt; cos (x) + I * sin (x))
  • diferențiere
  • serie Taylor
  • substituție de bază (cum ar fi x- & gt; ln (x))
  • întregi de precizie arbitrare și rationale
  • etalon (Python) plutește

Ce este nou în această versiune:.

  • SymPy suportă acum Python 3 și PyPy
  • Această versiune include, de asemenea, caracteristici majore noi în combinatorică, integrare definit, variabile aleatoare, expresii matrice, seturi, mecanicii clasice, mecanica cuantica, algebra comutativă, plotare, și geometrie diferențială.
  • Au fost, de asemenea, sute de rezolvări ale unor probleme pe parcursul întregii baze de cod.

Ce este nou în versiunea 0.7.1:

  • Schimbări majore:
  • Python 2.4 nu mai este acceptat. SymPy nu va funcționa deloc în Python 2.4. Dacă aveți nevoie să utilizați SymPy sub Python 2.4 pentru un motiv oarecare, va trebui să utilizați SymPy 0.7.0 sau mai devreme.
  • Biblioteca complot Pyglet este acum o (opțional) dependență externă. Anterior, am expediat o versiune de Pyglet cu SymPy, dar acest lucru a fost vechi și buggy. Planul este de a face în cele din urmă trasarea în SymPy mult mai modular, astfel încât aceasta suportă multe backend, dar acest lucru nu a fost făcut încă. Pentru moment, încă numai Pyglet este suportat direct. Rețineți că Pyglet este doar o dependență opțional și este necesară doar pentru complot. Restul de SymPy poate fi utilizat în continuare fără dependențe (cu excepția Python).
  • isympy lucrează acum cu noua IPython 0,11.
  • mpmath a fost actualizat la 0,17. A se vedea notele corespunzătoare de lansare mpmath la http://mpmath.googlecode.com/svn/trunk/CHANGES.
  • Adaugata un obiect Subs pentru reprezentarea substituții neevaluate. Acest lucru permite în cele din urmă ne reprezinte instrumente derivate evaluate la un punct, și anume, diff (f (x), x) .subs (x, 0) returnează Subs (Derivate (f (_x), _x), (_x,), (0, )). Acest lucru înseamnă, de asemenea, că SymPy poate acum calcula corect regula lanț atunci când este necesară această funcționalitate, cum ar fi cu f (g (x)). Dif (x).
  • funcții hipergeometrice / Meijer G-Funcții:
  • clasele Adăugat hiper () și meijerg () pentru a reprezenta hipergeometrică și Meijer G-funcții, respectiv. Acestea susțin evaluare numerică (folosind mpmath) și diferențiere simbolică (nu în raport cu parametrii).
  • Adaugata un algoritm pentru rescrierea g-funcții hipergeometrice și Meijer, în ceea ce privește functii speciale mai familiare, denumite. Este accesibil prin intermediul funcției hyperexpand (), sau, de asemenea, prin expand_func (). Acest algoritm recunoaste multe funcții elementare, precum si functii complete și incomplete gamma, funcțiile Bessel și funcții de eroare. Acesta poate fi extins cu ușurință să se ocupe de mai multe clase de funcții speciale.
  • Seturi:
  • clasă Adăugat FiniteSet pentru a imita comportamentul set piton în același timp, de asemenea, interactioneaza cu intervale și Cooperative existente
  • FiniteSets și Intervale interacționează astfel încât, de exemplu Interval (0, 10) - FiniteSet (0, 5) produce (0, 5) U (5, 10]
  • FiniteSets ocupa, de asemenea obiecte non-numerice, astfel încât următoarele este posibil {1, 2, "o", "doi", {a, b}}
  • Adăugat ProductSet să se ocupe de produse carteziene de seturi
  • Creare folosind operatorul *, adică twodice = FiniteSet (1, 2, 3, 4, 5, 6) * FiniteSet (1, 2, 3, 4, 5, 6) sau pătrat = Interval (0, 1) * Interval (0, 1)
  • operatorului pow de asemenea, funcționează conform așteptărilor: R3 = Interval (-OO, oo) ** 3; (3, -5, 0) în R3 == Adevărat
  • scădere, uniune, măsurarea toate lucrările luând intersecții complexe în considerare.
  • Adaugata metodă as_relational la seturi, producătoare de situații boolean, folosind AND, OR, ecuația, Lt, Gt, etc ...
  • reduce_poly_inequalities schimbat pentru a reveni uniunilor de seturi, mai degrabă decât listele de seturi
  • Iterables:
  • Adăugat generatoare de rutine pentru paravane întregi și partiții binare. Rutina de partiții întregi reușește 3 argumente, numărul în sine, elementul de maximă posibilă permisă în partițiile generate și numărul maxim posibil de elemente care vor fi în partiția. Partiții binare sunt caracterizate prin conțin numai puteri de două.
  • Adaugata generatoare de rutină pentru partițiile multi-set. Având în vedere un MultiSet, algoritmul implementat va genera toate partițiile posibile ale acestei multi-set.
  • Adăugat generatoare de rutine pentru permutări gras, deranjamentelor și involuții. O permutare clopot este una în care ciclurile care o compun constau de întregi într-o ordine descrescătoare. Un deranjament este o permutare astfel încât elementul i-lea nu se află în poziția a i. O involuție este o permutare care, atunci când înmulțit cu el însuși dă permutare de identitate.
  • Adăugat generatoare de rutină pentru coliere nerestricționate. Un colier fără restricții este un-un șir de ordinul n caractere, fiecare dintre posibile tipuri. Acestea au fost caracterizate de parametrii n și k din rutina.
  • Adăugat generatoare de rutină pentru pădurile orientate. Aceasta este o punere în aplicare a algoritmului S în TAOCP Vol 4A.
  • xyz baze de spin:
  • reprezinta, rescrie și logica InnerProduct a fost îmbunătățit pentru a lucra între oricare două baze de spin. Acest lucru a fost realizat prin utilizarea matricea Wigner-D, implementat în clasa WignerD, în definirea modificările între diferitele baze. Reprezentând un stat, și anume reprezenta (JzKet (1,0), bază = Jx), poate fi folosit pentru a da reprezentarea vector de orice intra in oricare din bazele x / y / z pentru valorile numerice ale J și m din spin eigenstate. În mod similar, statele rescrierea în diferite baze, adică JzKet (1,0) .rewrite ("Jx"), se va scrie statele ca o combinație liniară a elementelor de bază dat. Deoarece aceasta se bazează pe funcția reprezintă, aceasta funcționează numai pentru j și m valori numerice. Produsul interioară a doua eigenstates în diferite baze pot fi evaluate, de exemplu InnerProduct (JzKet (1,0), JxKet (1,1)). Când se utilizează două baze diferite, o stare este rescris în altă bază, astfel încât acest lucru necesită valori numerice ale J și m, dar innerproducts statelor din aceeași bază poate fi încă făcut simbolic.
  • Rotation.D și Rotation.d metode, reprezentând funcția Wigner-D și funcția de mici d Wigner, a reveni o instanță a clasei WignerD, care pot fi evaluate cu metoda bagatelă () pentru a se obține matricea corespunzătoare element al matricei Wigner-D.
  • Alte modificări:
  • Noi acum folosi MathJax în docs noastre. MathJax face LaTeX matematica entierly în browser-ul folosind Javascript. Acest lucru înseamnă că matematica este mult mai ușor de citit decât matematica png precedent, care foloseste imagini. MathJax este acceptată numai pe browserele moderne, așa matematica LaTeX în docs nu pot lucra pe browsere mai vechi.
  • nroots () acum vă permite să setați precizia calculelor
  • Adăugat suport pentru tipurile gmpy și mpmath de a sympify ()
  • Fix unele bug-uri cu lambdify ()
  • Fix un bug cu as_independent și non-comutative simboluri.
  • Fix un bug cu colectare (emisiune 2516)
  • Multe remedieri legate de portarea SymPy la Python 3. Datorită elev nostru GSoC Vladimir Peric, această sarcină este aproape finalizată.
  • Unii oameni s-au adăugat retroactiv la dosar autorilor.
  • Adăugat o rezolvare pentru un caz special al ecuației Riccati în modulul ODE.
  • derivații reiterat sunt destul de imprimată într-un mod concis.
  • Fix un bug cu integrare funcții cu mai multe DiracDeltas.
  • Adauga suport pentru Matrix.norm (), care funcționează pentru Matrice (nu doar vectori).
  • Îmbunătățirile aduse baze algoritmul Groebner.
  • Plot.saveimage suportă acum un StringIO outfile
  • Expr.as_ordered_terms suportă acum ordonare non lex.
  • dif canonicalizes acum de ordinul a simbolurilor de diferențiere. Acesta este astfel încât să poată simplifica expresii cum ar fi f (x, y) .diff (x, y) - f (x, y) .diff (y, x). Dacă doriți să creați un obiect derivat fără sortare args, ar trebui să creați în mod explicit cu derivate, astfel încât veți obține Derivate (f (x, y), x, y)! = Derivate (f (x, y), y, x). Rețineți că pe plan intern, instrumente financiare derivate care pot fi calculați sunt întotdeauna calculate în ordinea în care sunt prezentate în.
  • funcții Adăugat is_sequence () și iterable (), pentru a determina dacă ceva este un iterable sau normal iterable, respectiv.
  • comandat
  • Activată o opțiune în Sfinx, care adaugă o legătură sursă de lângă fiecare funcție, care face legatura cu o copie a codului sursă pentru această funcție.

Ce este nou în versiunea 0.7.0:

  • Aceasta este o versiune majoră care adaugă noi funcționalități mult .
  • Cea mai mare schimbare este noul polys, care sunt mult mai puternice și mult mai rapid. Acest lucru afectează multe părți ale SymPy, inclusiv rezolvarea și simplificarea.
  • O altă schimbare mare este noul modul cuantic, care s-a adăugat ca urmare a două Google Summer of Code proiecte.
  • În afară de aceste schimbări majore, există multe schimbări în întreaga toate SymPy.
  • Această versiune are, de asemenea, câteva pauze în mare parte minore de compatibilitate înapoi.

Ce este nou în versiunea 0.6.3:

  • portat la Python2.6 (toate testele treci) și Jython (toate testele treci cu excepția celor în funcție de & quot; AST & quot; modul).
  • Adevărata diviziune a fost fixată (toate testele treci cu & quot; -Qnew & quot; opțiune Python)
  • .
  • buildbot.sympy.org a fost creat; sympy este acum testată în mod regulat pe Python 2.4, 2.5, 2.6 și pe ambele i386 și amd64.
  • py.bench:. Bazate pe py.test benchmarking
  • bin / test: un simplu cadru de testare-py.test cum ar fi, fără dependențe externe și cu ieșire frumos colorate
  • .
  • Cele mai multe limite lucrează acum.
  • Factorizarea pe Z [x] a fost mult îmbunătățit.
  • funcție pe porțiuni a adăugat. nsimplify () a fost pusă în aplicare.
  • Simboluri și sintaxă var s-au unificat.
  • imprimarea cod C.

Cerințe :

  • Python

Software similare

Comentarii la Sympy

Comentariile nu a fost găsit
Adauga comentarii
Porniţi pe imagini!