Saturs[Paslēpt][Rādīt]
Matemātiku nevar apiet neatkarīgi no tā, vai esat universitātes students vai strādājat datu zinātnē.
Varētu pat apgalvot, ka datu zinātne ir lietišķās matemātikas/statistikas veids. NumPy, SciPy, scikit-mācīties, un TensorFlow ir tikai dažas no Python bibliotēkām, kas kvantitatīvi nodarbojas ar matemātiku.
Tomēr ir tikai viens konkurents, kas nepārprotami izmanto matemātiskos simbolus: SymPy.
Uzzināsim visu par SymPy.
Kas ir SymPy?
SymPy ir Python simboliskā matemātikas bibliotēka. Tā tiecas būt par pilnvērtīgu datoru algebras sistēmu (CAS), vienlaikus saglabājot pēc iespējas vienkāršu kodu, lai tas būtu saprotams un viegli paplašināms.
Tas ir pilnībā uzrakstīts Python valodā. To ir vienkārši lietot, jo tas balstās tikai uz mpmath — tīru Python bibliotēku patvaļīgai peldošā komata aritmētikai.
Kā bibliotēka tā tika izveidota, īpaši uzsverot lietojamību. Paplašināmība ir ļoti svarīga tās lietojumprogrammu saskarnes (API) izstrādē.
Rezultātā tas nemēģina uzlabot Python valodu. Mērķis ir, lai lietotāji varētu to izmantot kopā ar citiem Python bibliotēkas savā darbplūsmā gan interaktīvā vidē, gan kā lielākas sistēmas ieprogrammēta sastāvdaļa.
SymPy kā bibliotēkai trūkst iebūvētas grafikas lietotāja interfeiss (GUI). Bibliotēka ir:
- Bezmaksas, gan attiecībā uz runu, gan alu, jo tas ir licencēts saskaņā ar BSD licenci.
- Uz Python bāzes: tas ir pilnībā izstrādāts Python un izmanto Python kā valodu.
- Viegls, jo tas paļaujas tikai uz mpmath, tīru Python bibliotēka patvaļīgai peldošā komata aritmētikai, padarot to vienkāršu lietošanu.
- Var tikt iekļauts citās programmās un modificēts ar pielāgotām funkcijām papildus lietošanai kā interaktīvs rīks.
Kāpēc izmantot SymPy?
Sage, datora algebras sistēma, arī izmanto Python kā savu programmēšanas valodu. Sage, no otras puses, ir milzīgs, un tam ir nepieciešams lejupielādēt vairāk nekā gigabaitu. Tā priekšrocība ir vieglums.
Papildus tam, ka tas ir kompakts, tam nav citu atkarību, izņemot Python, kas ļauj to izmantot praktiski visur.
Turklāt Sage un SymPy mērķi nav vienādi. Sage vēlas būt pilnvērtīga matemātikas sistēma, un tas tiek darīts, apvienojot visas galvenās atvērtā pirmkoda matemātiskās sistēmas vienā.
Ja izmantojat funkciju Sage, piemēram, integrēt, tā izsauc kādu no tajā esošajām atvērtā pirmkoda pakotnēm. Patiesībā tas ir iebūvēts Sage. No otras puses, SymPy tiecas būt par autonomu sistēmu, kurā visas funkcionalitātes ir ieviestas.
Tās spēja darboties kā bibliotēka ir svarīga iezīme. Daudzas datoru algebras sistēmas ir paredzētas izmantošanai interaktīvā vidē, taču tās ir grūti automatizēt vai paplašināt.
To var izmantot interaktīvi Python vai importēt savā Python programmā. Tam ir arī API, lai to viegli paplašinātu ar savām rutīnām.
SymPy instalēšana
Vienkārši izmantojiet tālāk norādīto komandu, lai instalētu savā vidē.
SymPy simboli
Sāksim ar to tūlīt! Tās pamatobjekts ir simbols. Programmā SymPy varat ģenerēt simbolu x, rakstot:
Iepriekš minētais kods ģenerē simbolu x. Tajā esošie simboli ir paredzēti, lai atdarinātu matemātiskos simbolus, kas attēlo nezināmas vērtības.
Rezultātā zemāk ir parādīts šāds aprēķins:
Kā parādīts iepriekš, simbols x darbojas līdzīgi nezināmai summai. Ja vēlaties izveidot daudz simbolu, ierakstiet tos šādi:
Šajā gadījumā jūs izveidojāt divus simbolus y un z vienā un tajā pašā brīdī. Šos simbolus tagad var pievienot, atņemt, reizināt un dalīt pēc vēlēšanās:
SymPy funkcijas
1. sympify() funkcija
Sympify() metode pārveido patvaļīgu izteiksmi par SymPy izteiksmi. Tas pārveido standarta Python objektus, piemēram, veselus skaitļus.
Virknes tiek pārveidotas par to izteiksmēm, kā arī veseliem skaitļiem utt.
2. evalf() funkcija
Šī funkcija novērtē norādīto skaitlisko izteiksmi ar peldošā komata precizitāti līdz 100 cipariem.
Funkcija papildus pieņem vārdnīcas objektu ar simbolu skaitliskām vērtībām kā subs argumentu. Apsveriet šādu frāzi:
Peldošā komata precizitāte pēc noklusējuma ir iestatīta uz 15 cipariem. Tomēr to var mainīt uz jebkuru skaitli no 1 līdz 100.
Sekojošais vienādojums tiek novērtēts ar 20 ciparu precizitāti.
3. Lambdify() funkcija
Lambdify ir funkcija, kas pārvērš tās izteiksmes Python funkcijās. Evalf() metode ir neefektīva, novērtējot izteiksmi plašā vērtību diapazonā.
Lambdify darbojas līdzīgi kā lambda funkcija, izņemot to, ka tā pārvērš SymPy nosaukumus nodrošinātās ciparu bibliotēkas nosaukumos, kas parasti ir NumPy.
Pēc noklusējuma Lambdify tiek lietots matemātikas standarta bibliotēkas implementācijām.
Apkalpošana
Šeit ir uzskaitītas dažas bibliotēkas nozīmīgākās funkcijas; ir daudz vairāk, kas nav iekļauti, bet jūs varat tos pārbaudīt šeit.
1. Galvenās iespējas
- Pamata aritmētika: tiek atbalstīti operatori +, -, *, / un ** (jauda)
- Polinoma izplešanās
- Veseli skaitļi, racionālie skaitļi un pludiņi ar patvaļīgu precizitāti
- Trigonometriskās, hiperboliskās un eksponenciālās funkcijas, saknes, logaritmi, absolūtā vērtība, sfēriskās harmonikas, faktoriāli un gamma funkcijas, zeta funkcijas, polinomi un speciālās funkcijas
- Simboli, kas nav komutējoši
- Atbilstoši modeļi
2. Calculus
- Integrācija: šajā metodē tiek izmantota paplašinātā Riša-Normana heiristika
- Diferenciācija.
- Ierobežot funkcijas
- Lorāna Teilora sērija
3. Polinomi
- Grēbnera fondi
- Daļējo frakciju sadalīšanās
- Dalījums, gcd Rezultāti ir pamata aritmētikas piemēri.
4. Kombinatorika
- Permutācijas
- Grey un Prufer kodi
- Kombinācijas, nodalījumi, apakškopas
- Daudzskaldņu, Rubika, Simetriskas un citas permutācijas grupas
5. Diskrētā matemātika
- Summāri
- Loģiskās izteiksmes
- Binomiālie koeficienti
- Skaitļu teorija
Aplikācijas
1. Ēku kalkulators
2. Datoru algebras sistēmas
Atšķirībā no citām datoru algebras sistēmām, simboliskie mainīgie tajā ir jādeklarē manuāli, izmantojot funkciju Symbol ().
3. Calculus
Simboliskās aprēķinu sistēmas spēja simboliski veikt visu veidu aprēķinus ir tās galvenais spēks.
Tas var vienkāršot apgalvojumus, simboliski, aprēķināt atvasinājumus, integrāļus un ierobežojumus, atrisināt vienādojumus, mijiedarboties ar matricām un darīt daudz vairāk.
Lai rosinātu apetīti, šeit ir simboliskā spēka garša.
Ko vēl jūs varat darīt ar SymPy?
Tā vietā, lai padziļināti mīņātos par papildu jautājumiem, ļaujiet man sniegt jums sarakstu ar resursiem, kas palīdzēs uzlabot jūsu prasmes.
- Matricas un lineārā algebra: Tas var strādāt ar matricām un veikt pamata lineārās algebras darbības. Valoda ir līdzīga NumPy sintaksei. Tomēr ir ievērojamas atšķirības. Lai sāktu, izpētiet matricas bibliotēkā.
- Izteiksme: Tas izmanto izteiksmju koku, kas ir uz koku balstīta struktūra, lai izsekotu izteiksmēm. Paskaties uz izteiksmes koki ja vēlaties uzzināt vairāk par viņu iekšējo darbību.
- Atvasinājumi un integrāļi: Tas var paveikt lielāko daļu no tā, ko jūs varētu iemācīties ievada aprēķina nodarbībā (atskaitot domāšanu). Varat sākt, apskatot mūsu funkciju diferencēšana programmā SymPy.
- Saistība ar NumPy: NumPy un SymPy ir ar matemātiku saistītas bibliotēkas. Tomēr tie būtībā ir atšķirīgi! NumPy darbojas ar cipariem, bet tas darbojas ar simboliskām izteiksmēm.
- Vienkāršojumi: Tas ir pietiekami inteliģents, lai automātiski vienkāršotu izteiksmes. Tomēr, ja vēlaties to precīzāk kontrolēt, apskatiet to vienkāršojumiem.
Secinājumi
SymPy ir spēcīga simboliskās matemātikas bibliotēka.
Varat to izmantot, lai izveidotu mainīgos un funkcijas, kā arī simboliski paplašinātu un vienkāršotu matemātiskos apgalvojumus un atrisinātu vienādojumus, nevienādības un pat vienādojumu/vienādību sistēmas.
Funkcijas var ierakstīt gan skripta tekstā, gan tieši terminālī (vai Jupyter piezīmju grāmatiņas), lai iegūtu ātru novērtējumu un labāku veikto aprēķinu grafisko attēlojumu.
Vai esat gatavs izpētīt vairāk SymPy? Paziņojiet mums komentāros.
Atstāj atbildi