Table of Contents[Kache][Montre]
Pa gen okenn ale nan matematik, kit ou se yon etidyan inivèsite oswa travay nan syans done.
Youn ta ka menm diskite ke syans done se yon kalite matematik aplike / estatistik. NumPy, SciPy, Scikit-Aprann, epi TensorFlow se jis kèk nan bibliyotèk Python ki fè fas ak matematik nan yon fason quantitative.
Sepandan, gen yon sèl konkiran pou fè fas klèman ak senbòl matematik: SymPy.
Ann jwenn tout bagay sou SymPy.
Ki sa ki SymPy?
SymPy se yon bibliyotèk matematik senbolik Python. Li aspire yo dwe yon sistèm aljèb òdinatè konplè (CAS) pandan y ap kenbe kòd la kòm debaz ke posib yo dwe konprann ak fasil dilatabl.
Li konplètman ekri nan Python. Li senp pou itilize paske li sèlman depann sou mpmath, yon bibliyotèk Python pi bon kalite pou aritmetik abitrè flottante.
Kòm yon bibliyotèk, li te kreye ak yon anfaz enpòtan sou itilizasyon nan tèt ou. Ekstansibilite se kritik nan konsepsyon koòdone pwogram aplikasyon li yo (API).
Kòm yon rezilta, li pa fè okenn tantativ amelyore lang lan Python. Objektif la se pou itilizatè yo kapab itilize li ansanm ak lòt Bibliyotèk Python nan workflow yo, kit se nan yon anviwònman entèaktif oswa kòm yon eleman pwograme nan yon pi gwo sistèm.
SymPy, kòm yon bibliyotèk, manke yon grafik entegre koòdone itilizatè (GUI). Bibliyotèk la se:
- Gratis, tou de konsènan lapawòl ak byè, paske li gen lisans anba lisans BSD.
- Ki baze sou Python: Li se totalman devlope nan Python epi li anplwaye Python kòm lang li.
- Lejè paske li sèlman depann sou mpmath, yon pi Bibliyotèk Python pou aritmetik abitrè k ap flote, ki fè li senp pou itilize.
- Èske yo ka enkòpore nan lòt pwogram ak modifye ak fonksyon koutim anplis ke yo te itilize kòm yon zouti entèaktif.
Poukisa itilize SymPy?
Sage, yon sistèm aljèb òdinatè, tou anplwaye Python kòm langaj pwogramasyon li yo. Sage, nan lòt men an, se menmen, ki egzije yon download ki gen plis pase yon jigokte. Li gen benefis pou yo te lejè.
Anplis de sa ke yo te kontra enfòmèl ant, li pa gen okenn depandans lòt pase Python, ki pèmèt li yo dwe itilize pratikman tout kote.
Anplis de sa, objektif Sage ak SymPy yo pa menm. Sage vle vin yon sistèm matematik konplè, epi li fè sa lè li konbine tout sistèm matematik prensipal yo nan yon sèl.
Lè ou sèvi ak yon fonksyon Sage, tankou entegre, li envoke youn nan pakè sous louvri li genyen. An reyalite, li se bati nan Sage. SymPy, nan lòt men an, aspire yo dwe yon sistèm endepandan, ak tout fonksyonalite aplike nan li menm.
Kapasite li pou fonksyone kòm yon bibliyotèk se yon karakteristik enpòtan. Anpil sistèm aljèb òdinatè yo fèt pou itilize nan anviwònman entèaktif, men yo difisil pou otomatize oswa elaji.
Li ka itilize entèaktif nan Python oswa enpòte nan pwòp pwogram Python ou. Li tou gen API pou fasil pwolonje li ak woutin pwòp ou yo.
Enstale SymPy
Senpleman sèvi ak kòmandman ki anba a pou enstale nan anviwònman ou.
Senbòl SymPy
Ann kòmanse ak li kounye a! Objè fondamantal li se yon senbòl. Nan SymPy, ou ka jenere yon senbòl x lè w ekri:
Kòd ki pi wo a jenere senbòl x la. Senbòl ladan l yo gen entansyon imite senbòl matematik ki reprezante valè enkoni.
Kòm yon rezilta, kalkil sa a yo montre anba a:
Jan yo montre pi wo a, senbòl x la fonksyone menm jan ak yon montan enkoni. Si ou vle fè anpil senbòl, ekri yo jan sa a:
Ou te kreye de senbòl, y, ak z, nan menm moman an nan ka sa a. Kounye a ka ajoute, soustraksyon, miltipliye, epi divize senbòl sa yo jan yo vle:
Fonksyon SymPy
1. senpify() fonksyon
Metòd sympify() transfòme yon ekspresyon abitrè nan yon ekspresyon SymPy. Li konvèti objè Python estanda, tankou nonm antye.
Chèn yo transfòme nan ekspresyon yo kòm byen ke nonb antye relatif, elatriye.
2. evalf() fonksyon
Fonksyon sa a evalye yon ekspresyon nimerik espesifye ak yon presizyon pwen k ap flote ki rive jiska 100 chif.
Anplis de sa, fonksyon an aksepte yon objè diksyonè ak valè nimerik pou senbòl kòm yon agiman subs. Konsidere fraz sa a:
Presizyon pwen k ap flote yo mete sou 15 chif pa default. Sepandan, sa a ka chanje nan nenpòt ki nimewo ant 1 ak 100.
Yo evalye ekwasyon sa a ak yon presizyon 20 chif.
3. Lambdify() fonksyon
Lambdify se yon fonksyon ki konvèti ekspresyon li yo nan fonksyon Python. Metòd evalf() pa efikas lè w ap evalye yon ekspresyon atravè yon pakèt valè.
Lambdify travay menm jan ak yon fonksyon lambda, eksepte ke li tradui non SymPy nan non bibliyotèk nimerik yo bay la, ki se jeneralman NumPy.
Pa default, Lambdify aplike nan aplikasyon matematik estanda bibliyotèk yo.
karakteristik
Yon ti ponyen nan karakteristik ki pi enpòtan bibliyotèk la yo ki nan lis isit la; gen anpil plis ki pa enkli, men ou ka tcheke yo deyò isit la.
1. Kapasite Nwayo
- Aritmetik fondamantal: +, -, *, /, ak ** operatè yo sipòte (pouvwa)
- Yon ekspansyon polinòm
- Nonb antye relatif, rasyonèl, ak flote ak presizyon abitrè
- Fonksyon trigonometrik, ipèbolik, ak eksponansyèl, rasin, logaritm, valè absoli, amonik esferik, faktè ak fonksyon gama, fonksyon zeta, polinòm, ak fonksyon espesyal.
- Senbòl ki pa konmutatif
- Matche modèl
2. Kalkil
- Entegrasyon: Metòd sa a itilize eristik Risch-Norman elaji
- Diferansyasyon.
- Fonksyon limite
- Seri Laurent Taylor a
3. Polinòm
- Fondasyon Gröbner
- Dekonpozisyon fraksyon pasyèl
- Divizyon, gcd Rezilta yo se egzanp aritmetik debaz.
4. Konbinatorik
- Pèmitasyon
- Gray ak Prufer Kòd
- Konbinezon, Partisyon, Sou-ansanm
- Polyedral, Rubik, Simetrik, ak lòt gwoup pèmitasyon
5. Matematik diskrè
- Somasyon
- Ekspresyon lojik
- Koefisyan binomial
- Nimewo teyori
Aplikasyon
1. Building Calculator
2. Sistèm aljèb òdinatè
Kontrèman ak lòt Sistèm Aljèb Odinatè, ou dwe manyèlman deklare varyab senbolik nan li lè l sèvi avèk fonksyon Senbòl ().
3. Kalkil
Kapasite yon sistèm kalkil senbolik pou fè tout kalite kalkil senbolik se pi gwo fòs li.
Li ka senplifye deklarasyon, senbolikman, kalkile dérivés, entegral, ak limit, rezoud ekwasyon, kominike avèk matris, epi fè anpil plis.
Pou apeti apeti ou, isit la nan yon gou nan pouvwa senbolik.
Ki lòt bagay ou ka fè ak SymPy?
Olye ke m ap pale sou pwoblèm adisyonèl an pwofondè, kite m ba w yon lis resous pou ede w amelyore konpetans ou:
- Matris ak aljèb lineyè: Li ka travay ak matris epi fè operasyon debaz aljèb lineyè. Lang lan sanble ak sentaks NumPy la. Sepandan, gen diferans remakab. Pou kòmanse, envestige matris nan bibliyotèk.
- Ekspresyon: Li ogmante yon pye bwa ekspresyon, ki se yon estrikti ki baze sou pye bwa, pou kenbe tras ekspresyon yo. Gade pye bwa ekspresyon si ou vle aprann plis sou fonksyonman enteryè yo.
- Dérivés ak entegral: Li ka akonpli pi fò nan sa ou ta aprann nan yon klas entwodiksyon kalkil (mwens panse a). Ou ka kòmanse pa gade nan fonksyon nou an diferansyasyon nan SymPy.
- Relasyon ak NumPy: NumPy ak SymPy se tou de bibliyotèk ki gen rapò ak matematik. Men, yo esansyèlman diferan! NumPy travay ak nimewo, tandiske li travay ak ekspresyon senbolik.
- Senplifikasyon: Li se entelijan ase yo otomatikman senplifye ekspresyon. Sepandan, si ou vle plis kontwòl amann sou sa a, gade nan li yo senplifikasyon.
konklizyon
SymPy se yon bibliyotèk pwisan pou matematik senbolik.
Ou ka sèvi ak li pou kreye varyab ak fonksyon, osi byen ke senbolikman pwolonje ak senplifye deklarasyon matematik epi rezoud ekwasyon, inegalite, e menm sistèm ekwasyon/inegalite.
Ou ka ekri fonksyon yo tou de nan tèks script la ak dirèkteman nan tèminal la (oswa Kaye Jupyter) pou jwenn yon evalyasyon rapid ak yon pi bon deskripsyon grafik kalkil yo fè.
Èske w pare pou w eksplore plis SymPy? Fè nou konnen nan kòmantè yo.
Kite yon Reply