Orodha ya Yaliyomo[Ficha][Onyesha]
Hakuna kuzunguka hisabati, iwe wewe ni mwanafunzi wa chuo kikuu au unafanya kazi katika sayansi ya data.
Mtu anaweza hata kusema kuwa sayansi ya data ni aina ya hesabu / takwimu zilizotumika. NumPy, SciPy, Scikit-Jifunze, na TensorFlow ni maktaba chache tu za Python ambazo hushughulika na hesabu kwa kiasi.
Walakini, kuna mshindani mmoja tu wa kushughulika kwa uwazi na alama za hisabati: SymPy.
Wacha tujue yote kuhusu SymPy.
Nini SymPy?
SymPy ni maktaba ya hisabati ya mfano ya Python. Inatamani kuwa mfumo kamili wa aljebra ya kompyuta (CAS) huku ikiweka msimbo kama msingi iwezekanavyo ili kueleweka na kupanuka kwa urahisi.
Imeandikwa kikamilifu katika Python. Ni rahisi kutumia kwani inategemea tu mpmath, maktaba safi ya Python kwa hesabu ya uhakika ya kuelea.
Kama maktaba, iliundwa kwa msisitizo mkubwa juu ya utumiaji akilini. Upanuzi ni muhimu katika muundo wa kiolesura cha programu yake (API).
Kama matokeo, haifanyi jaribio la kuongeza lugha ya Python. Kusudi ni kwa watumiaji kuweza kuitumia pamoja na zingine Maktaba za Python katika mtiririko wao wa kazi, iwe katika mazingira shirikishi au kama sehemu iliyoratibiwa ya mfumo mkubwa zaidi.
SymPy, kama maktaba, haina mchoro uliojengewa ndani interface user (GUI). Maktaba ni:
- Bure, kuhusu hotuba na bia, kwa sababu ina leseni chini ya leseni ya BSD.
- Msingi wa Python: Imetengenezwa kabisa katika Python na inaajiri Python kama lugha yake.
- Nyepesi kwa sababu inategemea tu mpmath, safi Maktaba ya Python kwa hesabu holela ya sehemu ya kuelea, na kuifanya iwe rahisi kutumia.
- Inaweza kujumuishwa katika programu zingine na kurekebishwa kwa vitendaji maalum pamoja na kutumika kama zana shirikishi.
Kwa nini utumie SymPy?
Sage, mfumo wa aljebra wa kompyuta, pia huajiri Python kama lugha yake ya programu. Sage, kwa upande mwingine, ni kubwa sana, inayohitaji upakuaji wa zaidi ya gigabyte. Ina faida ya kuwa nyepesi.
Mbali na kuwa compact, haina tegemezi zaidi ya Python, kuruhusu kutumika kivitendo kila mahali.
Zaidi ya hayo, malengo ya Sage na SymPy si sawa. Sage anatamani kuwa mfumo kamili wa hisabati, na hufanya hivyo kwa kuchanganya mifumo yote kuu ya hisabati ya chanzo-wazi kuwa moja.
Unapotumia kitendakazi cha Sage, kama vile kuunganisha, inaomba mojawapo ya vifurushi vya chanzo-wazi ambacho kina. Kwa kweli, imejengwa ndani ya Sage. SymPy, kwa upande mwingine, inatamani kuwa mfumo wa kujitegemea, na utendaji wote unaotekelezwa ndani yake yenyewe.
Uwezo wake wa kufanya kazi kama maktaba ni kipengele muhimu. Mifumo mingi ya aljebra ya kompyuta inakusudiwa kutumiwa katika mazingira ya mwingiliano, lakini ni vigumu kuiendesha au kupanua.
Inaweza kutumika kwa maingiliano katika Python au kuingizwa kwenye programu yako mwenyewe ya Python. Pia ina API za kuipanua kwa urahisi na taratibu zako mwenyewe.
Inasakinisha SymPy
Tumia tu amri iliyo hapa chini kusakinisha katika mazingira yako.
Alama za SymPy
Wacha tuanze nayo sasa! Kitu chake cha msingi ni ishara. Katika SymPy, unaweza kutoa ishara x kwa kuandika:
Nambari iliyo hapo juu hutoa ishara x. Alama ndani yake zimekusudiwa kuiga alama za hisabati zinazowakilisha maadili yasiyojulikana.
Kama matokeo, hesabu ifuatayo imeonyeshwa hapa chini:
Kama inavyoonyeshwa hapo juu, ishara x hufanya kazi sawa na kiasi kisichojulikana. Ikiwa ungependa kutengeneza alama nyingi, ziandike kama ifuatavyo:
Uliunda alama mbili, y, na z, kwa wakati mmoja katika kesi hii. Alama hizi sasa zinaweza kuongezwa, kupunguzwa, kuzidishwa, na kugawanywa kama inavyotakiwa:
Kazi za SymPy
1. sympify() kitendakazi
Njia ya sympify() inabadilisha usemi wa kiholela kuwa usemi wa SymPy. Inabadilisha vitu vya kawaida vya Python, kama vile nambari kamili.
Kamba hubadilishwa kuwa misemo yao na nambari kamili, nk.
2. evalf() kitendakazi
Chaguo hili la kukokotoa hutathmini usemi maalum wa nambari kwa usahihi wa sehemu inayoelea wa hadi tarakimu 100.
Chaguo za kukokotoa pia hukubali kipengee cha kamusi chenye thamani za nambari kwa alama kama hoja ya subs. Fikiria kifungu kifuatacho:
Usahihi wa sehemu zinazoelea umewekwa kuwa tarakimu 15 kwa chaguomsingi. Walakini, hii inaweza kubadilishwa kuwa nambari yoyote kati ya 1 na 100.
Equation ifuatayo inatathminiwa kwa usahihi wa tarakimu 20.
3. Lambdify() kazi
Lambdify ni chaguo la kukokotoa ambalo hubadilisha misemo yake kuwa kazi za Python. Njia ya evalf() haifai wakati wa kutathmini usemi kwenye anuwai ya maadili.
Lambdify hufanya kazi sawa na chaguo la kukokotoa lambda, isipokuwa kwamba inatafsiri majina ya SymPy kwa majina ya maktaba ya nambari iliyotolewa, ambayo kwa ujumla ni NumPy.
Kwa chaguo-msingi, Lambdify inatumika kwa utekelezaji wa maktaba ya kiwango cha hesabu.
Vipengele
Baadhi ya vipengele muhimu vya maktaba vimeorodheshwa hapa; kuna nyingi zaidi ambazo hazijajumuishwa, lakini unaweza kuziangalia hapa.
1. Uwezo wa Msingi
- Hesabu za kimsingi: +, -, *, /, na ** waendeshaji zinatumika (nguvu)
- Upanuzi wa polynomial
- Nambari kamili, mantiki, na kuelea kwa usahihi kiholela
- Utendakazi wa trigonometric, hyperbolic, na kielelezo, mizizi, logariti, thamani kamili, ulinganifu wa duara, vipengele na vitendakazi vya gamma, vitendaji vya zeta, polimanomia na vitendakazi maalum.
- Alama ambazo hazibadilishi
- Mitindo inayolingana
2. Kalkulasi
- Muunganisho: Mbinu hii inatumia mbinu iliyopanuliwa ya Risch-Norman
- Tofauti.
- Kikomo cha vitendaji
- mfululizo wa Laurent Taylor
3. Wanaume wengi
- Gröbner misingi
- Mtengano wa sehemu za sehemu
- Division, gcd Matokeo ni mifano ya hesabu za kimsingi.
4. Combinatorics
- Ruhusa
- Misimbo ya Grey na Prufer
- Mchanganyiko, Partitions, Subsets
- Vikundi vya Polyhedral, Rubik, Symmetric, na Vikundi Vingine vya Ruhusa
5. Hisabati Tofauti
- Muhtasari
- Maneno yenye mantiki
- Mgawo wa Binomial
- Nadharia ya nambari
matumizi
1. Kikokotoo cha ujenzi
2. Mifumo ya Algebra ya Kompyuta
Tofauti na Mifumo mingine ya Aljebra ya Kompyuta, lazima utangaze vijiti vya ishara ndani yake kwa kutumia Alama() chaguo la kukokotoa.
3. Kalkulasi
Uwezo wa mfumo wa hesabu wa mfano kufanya kila aina ya hesabu kwa njia ya mfano ni nguvu yake kuu.
Inaweza kurahisisha kauli, kwa njia ya mfano, kukokotoa viambajengo, viambajengo, na mipaka, kutatua milinganyo, kuingiliana na matrices, na kufanya mengi zaidi.
Ili kuamsha hamu yako, hapa kuna ladha ya nguvu ya ishara.
Nini kingine Unaweza Kufanya na SymPy?
Badala ya kuhangaika kuhusu masuala ya ziada kwa kina, wacha nikupe orodha ya nyenzo ili kukusaidia kuboresha ujuzi wako:
- Matrices na Linear Algebra: Inaweza kufanya kazi na matrices na kufanya shughuli za msingi za aljebra. Lugha ni sawa na syntax ya NumPy. Hata hivyo, kuna tofauti zinazojulikana. Kuanza, chunguza matiti katika maktaba.
- Uelezaji: Hutumia mti wa kujieleza, ambao ni muundo wa msingi wa mti, ili kufuatilia misemo. Angalia miti ya kujieleza ikiwa unataka kujifunza zaidi kuhusu kazi zao za ndani.
- Viingilio na Muunganisho: Inaweza kutimiza mengi ambayo ungejifunza katika darasa la utangulizi la calculus (ondoa kufikiri). Unaweza kuanza kwa kuangalia kazi yetu upambanuzi katika SymPy.
- Uhusiano na NumPy: NumPy na SymPy zote ni maktaba zinazohusiana na hisabati. Wao, hata hivyo, kimsingi ni tofauti! NumPy inafanya kazi na nambari, wakati inafanya kazi na misemo ya ishara.
- Urahisishaji: Ina akili ya kutosha kurahisisha misemo kiotomatiki. Walakini, ikiwa unataka udhibiti mzuri zaidi juu ya hii, angalia yake kurahisisha.
Hitimisho
SymPy ni maktaba yenye nguvu ya hisabati ya ishara.
Unaweza kuitumia kuunda vigeu na vitendakazi, na pia kupanua na kurahisisha taarifa za hisabati kiishara na kutatua milinganyo, ukosefu wa usawa, na hata mifumo ya milinganyo/kukosekana kwa usawa.
Unaweza kuandika kazi zote kwenye maandishi ya hati na moja kwa moja kwenye terminal (au Daftari za Jupyter) kupata tathmini ya haraka na taswira bora ya taswira ya hesabu zilizofanywa.
Je, uko tayari kuchunguza zaidi SymPy? Tujulishe kwenye maoni.
Acha Reply