Turinys[Slėpti][Rodyti]
Nesvarbu, ar esate universiteto studentas, ar dirbate duomenų mokslo srityje, matematikos neaplenksite.
Galima net ginčytis, kad duomenų mokslas yra taikomosios matematikos / statistikos rūšis. NumPy, SciPy, „Scikit-Learn“ir TensorFlow yra tik keletas Python bibliotekų, kurios kiekybiškai nagrinėja matematiką.
Tačiau yra tik vienas konkurentas, kuris aiškiai susiduria su matematiniais simboliais: SymPy.
Sužinokime viską apie SymPy.
Kas yra „SymPy“?
SymPy yra Python simbolinė matematikos biblioteka. Ji siekia būti visų funkcijų turinčia kompiuterine algebros sistema (CAS), išlaikant kuo paprastesnį kodą, kad jis būtų suprantamas ir lengvai išplečiamas.
Tai visiškai parašyta Python. Jį paprasta naudoti, nes jis remiasi tik mpmath, gryna Python biblioteka, skirta savavališkai slankiojo kablelio aritmetikai.
Kaip biblioteka, ji buvo sukurta daug dėmesio skiriant naudojimo patogumui. Išplečiamumas yra labai svarbus kuriant programos sąsają (API).
Dėl to jis nesistengia tobulinti Python kalbos. Tikslas yra, kad vartotojai galėtų jį naudoti kartu su kitais Python bibliotekos savo darbo eigoje, nesvarbu, ar tai būtų interaktyvi aplinka, ar kaip užprogramuotas didesnės sistemos komponentas.
SymPy, kaip biblioteka, neturi integruotos grafikos vartotojo sąsaja (GUI). Biblioteka yra:
- Nemokama, tiek kalbant, tiek dėl alaus, nes yra licencijuota pagal BSD licenciją.
- „Python“ pagrindu: ji visiškai sukurta „Python“ ir kaip kalba naudojama „Python“.
- Lengvas, nes remiasi tik mpmath, grynas Python biblioteka savavališkai slankiojo kablelio aritmetikai, todėl ją paprasta naudoti.
- Gali būti įtrauktas į kitas programas ir modifikuojamas naudojant pasirinktines funkcijas, be to, gali būti naudojamas kaip interaktyvus įrankis.
Kodėl verta naudoti SymPy?
Sage, kompiuterio algebros sistema, taip pat naudoja Python kaip savo programavimo kalbą. Kita vertus, „Sage“ yra didžiulis, jį reikia atsisiųsti daugiau nei gigabaitą. Jo pranašumas yra tas, kad jis yra lengvas.
Be to, kad jis yra kompaktiškas, jis neturi kitų priklausomybių, išskyrus Python, todėl jį galima naudoti praktiškai visur.
Be to, „Sage“ ir „SymPy“ tikslai nėra vienodi. „Sage“ siekia būti visapusiška matematikos sistema ir tai daro sujungdama visas pagrindines atvirojo kodo matematikos sistemas į vieną.
Kai naudojate funkciją „Sage“, pvz., „integrate“, ji iškviečia vieną iš joje esančių atvirojo kodo paketų. Tiesą sakant, jis yra įmontuotas į Sage. Kita vertus, „SymPy“ siekia būti savarankiška sistema, kurios visos funkcijos yra įdiegtos pačioje joje.
Jos gebėjimas veikti kaip biblioteka yra svarbi savybė. Daugelis kompiuterių algebros sistemų yra skirtos naudoti interaktyvioje aplinkoje, tačiau jas sunku automatizuoti ar išplėsti.
Jis gali būti naudojamas interaktyviai Python arba importuojamas į savo Python programą. Jame taip pat yra API, kad būtų galima lengvai išplėsti savo rutiną.
„SymPy“ diegimas
Tiesiog naudokite toliau pateiktą komandą, kad įdiegtumėte savo aplinkoje.
SymPy simboliai
Pradėkime nuo to dabar! Jo pagrindinis objektas yra simbolis. SymPy galite sugeneruoti simbolį x rašydami:
Aukščiau pateiktas kodas generuoja simbolį x. Jame esantys simboliai yra skirti imituoti matematinius simbolius, vaizduojančius nežinomas reikšmes.
Dėl to toliau pateikiamas toks skaičiavimas:
Kaip parodyta aukščiau, simbolis x veikia panašiai kaip nežinoma suma. Jei norite padaryti daug simbolių, parašykite juos taip:
Šiuo atveju sukūrėte du simbolius y ir z tuo pačiu momentu. Šiuos simbolius dabar galima pridėti, atimti, dauginti ir padalyti, kaip norite:
SymPy funkcijos
1. sympify() funkcija
Sympify() metodas paverčia savavališką išraišką į SymPy išraišką. Jis konvertuoja standartinius Python objektus, tokius kaip sveikieji skaičiai.
Stygos transformuojamos į jų išraiškas, taip pat į sveikuosius skaičius ir kt.
2. evalf() funkcija
Ši funkcija įvertina nurodytą skaitinę išraišką slankiojo kablelio tikslumu iki 100 skaitmenų.
Funkcija papildomai priima žodyno objektą su skaitinėmis simbolių reikšmėmis kaip subs argumentą. Apsvarstykite šią frazę:
Pagal numatytuosius nustatymus slankiojo kablelio tikslumas yra 15 skaitmenų. Tačiau jį galima pakeisti į bet kurį skaičių nuo 1 iki 100.
Ši lygtis įvertinama 20 skaitmenų tikslumu.
3. Lambdify() funkcija
Lambdify yra funkcija, kuri paverčia savo išraiškas į Python funkcijas. Metodas evalf() yra neefektyvus vertinant išraišką plačiame reikšmių diapazone.
Lambdify veikia panašiai kaip lambda funkcija, išskyrus tai, kad SymPy pavadinimus ji paverčia pateiktos skaitmeninės bibliotekos, kuri paprastai yra NumPy, pavadinimus.
Pagal numatytuosius nustatymus „Lambdify“ taikoma matematikos standartinėms bibliotekoms.
Savybės
Čia išvardytos kelios svarbiausios bibliotekos funkcijos; yra daug daugiau neįtrauktų, bet galite juos patikrinti čia.
1. Pagrindinės galimybės
- Pagrindinė aritmetika: palaikomi +, -, *, / ir ** operatoriai (galia)
- Polinominė plėtra
- Sveikieji skaičiai, racionalūs skaičiai ir plūdės su savavališku tikslumu
- Trigonometrinės, hiperbolinės ir eksponentinės funkcijos, šaknys, logaritmai, absoliuti reikšmė, sferinės harmonikos, faktorialai ir gama funkcijos, zeta funkcijos, daugianariai ir specialiosios funkcijos
- Simboliai, kurie yra nekeičiami
- Derantys raštai
2. Skaičiavimas
- Integravimas: Šis metodas naudoja išplėstą Risch-Norman euristiką
- Diferenciacija.
- Apriboti funkcijas
- Laurent Taylor serija
3. Polinomai
- Gröbnerio pamatai
- Dalinių trupmenų skaidymas
- Padalinys, gcd Rezultatai yra pagrindinės aritmetikos pavyzdžiai.
4. Kombinatorika
- Permutacijos
- Grey ir Prufer kodai
- Deriniai, pertvaros, pogrupiai
- Daugiakampės, Rubiko, Simetrinės ir kitos permutacijos grupės
5. Diskretinė matematika
- Suminiai
- Loginės išraiškos
- Binominiai koeficientai
- Skaičių teorija
Programos
1. Pastatų skaičiuoklė
2. Kompiuterinės algebros sistemos
Skirtingai nuo kitų kompiuterių algebrų sistemų, jūs turite rankiniu būdu deklaruoti simbolinius kintamuosius, naudodami funkciją Symbol ().
3. Skaičiavimas
Simbolinės skaičiavimo sistemos gebėjimas simboliškai atlikti įvairius skaičiavimus yra pagrindinė jos stiprybė.
Jis gali supaprastinti teiginius, simboliškai, apskaičiuoti išvestis, integralus ir ribas, išspręsti lygtis, sąveikauti su matricomis ir padaryti daug daugiau.
Norėdami sužadinti apetitą, paragaukite simbolinės galios.
Ką dar galite padaryti su „SymPy“?
Užuot nuodugniai tyrinėję papildomas problemas, leiskite man pateikti jums išteklių, kurie padės tobulinti savo įgūdžius, sąrašą:
- Matricos ir tiesinė algebra: Jis gali dirbti su matricomis ir atlikti pagrindines tiesinės algebros operacijas. Kalba yra panaši į NumPy sintaksę. Tačiau yra pastebimų skirtumų. Norėdami pradėti, ištirkite matricos bibliotekoje.
- Išraiška: Jis naudoja išraiškų medį, kuris yra medžiu pagrįsta struktūra, kad būtų galima sekti išraiškas. Žiūrėti į išraiškos medžiai jei norite daugiau sužinoti apie jų vidinį veikimą.
- Dariniai ir integralai: Jis gali atlikti daugumą to, ko išmoktumėte per įvadinę skaičiavimo pamoką (atėmus mąstymą). Galite pradėti nuo mūsų funkcijos diferenciacija SymPy.
- Ryšys su NumPy: „NumPy“ ir „SymPy“ yra su matematika susijusios bibliotekos. Vis dėlto jie iš esmės skiriasi! NumPy veikia su skaičiais, o su simbolinėmis išraiškomis.
- Supaprastinimai: Tai pakankamai protinga, kad automatiškai supaprastintų išraiškas. Tačiau, jei norite tiksliau kontroliuoti tai, pažiūrėkite į jį supaprastinimai.
Išvada
SymPy yra galinga simbolinės matematikos biblioteka.
Galite naudoti jį kurdami kintamuosius ir funkcijas, taip pat simboliškai išplėsti ir supaprastinti matematinius teiginius ir spręsti lygtis, nelygybes ir net lygčių / nelygybių sistemas.
Funkcijas galite rašyti tiek scenarijaus tekste, tiek tiesiogiai terminale (arba Jupyter užrašų knygelės), kad būtų galima greitai įvertinti ir geriau grafiškai pavaizduoti atliktus skaičiavimus.
Ar esate pasirengęs ištirti daugiau „SymPy“? Praneškite mums komentaruose.
Palikti atsakymą