Tabl Cynnwys[Cuddio][Dangos]
Does dim symud o gwmpas mathemateg, p'un a ydych chi'n fyfyriwr prifysgol neu'n gweithio ym maes gwyddor data.
Gellid hyd yn oed ddadlau bod gwyddor data yn fath o fathemateg/ystadegau cymhwysol. NumPy, SciPy, Scikit-Dysgu, a TensorFlow dim ond rhai o'r llyfrgelloedd Python sy'n delio â mathemateg yn feintiol.
Fodd bynnag, dim ond un cystadleuydd sydd ar gyfer delio'n benodol â symbolau mathemategol: SymPy.
Dewch i ni ddarganfod popeth am SymPy.
Beth yw SymPy?
Llyfrgell mathemateg symbolaidd Python yw SymPy. Ei nod yw bod yn system algebra gyfrifiadurol lawn (CAS) tra'n cadw'r cod mor sylfaenol â phosibl i fod yn ddealladwy ac yn hawdd ei ehangu.
Mae wedi'i ysgrifennu'n llawn yn Python. Mae'n syml i'w ddefnyddio gan ei fod yn dibynnu ar mpmath yn unig, llyfrgell Python pur ar gyfer rhifyddeg pwynt arnofio mympwyol.
Fel llyfrgell, fe'i crëwyd gyda phwyslais sylweddol ar ddefnyddioldeb mewn golwg. Mae estynadwyedd yn hanfodol wrth ddylunio ei ryngwyneb rhaglen cymhwysiad (API).
O ganlyniad, nid yw'n gwneud unrhyw ymdrech i wella'r iaith Python. Yr amcan yw i ddefnyddwyr allu ei ddefnyddio ochr yn ochr ag eraill Llyfrgelloedd Python yn eu llif gwaith, boed mewn amgylchedd rhyngweithiol neu fel elfen wedi'i rhaglennu o system fwy.
Nid oes gan SymPy, fel llyfrgell, graffigol adeiledig rhyngwyneb defnyddiwr (GUI). Mae'r llyfrgell yn:
- Am ddim, o ran lleferydd a chwrw, oherwydd ei fod wedi'i drwyddedu o dan y drwydded BSD.
- Yn seiliedig ar Python: Mae wedi'i ddatblygu'n llwyr yn Python ac mae'n defnyddio Python fel ei iaith.
- Ysgafn oherwydd ei fod yn dibynnu ar mpmath yn unig, pur Llyfrgell Python ar gyfer rhifyddeg pwynt nofiol mympwyol, gan ei wneud yn syml i'w ddefnyddio.
- Gellir ei ymgorffori mewn rhaglenni eraill a'i addasu gyda swyddogaethau arfer yn ogystal â chael ei ddefnyddio fel offeryn rhyngweithiol.
Pam defnyddio SymPy?
Mae Sage, system algebra gyfrifiadurol, hefyd yn defnyddio Python fel ei iaith raglennu. Mae Sage, ar y llaw arall, yn enfawr, sy'n gofyn am lawrlwytho mwy na gigabyte. Mae ganddo'r fantais o fod yn ysgafn.
Yn ogystal â bod yn gryno, nid oes ganddo unrhyw ddibyniaethau heblaw Python, sy'n caniatáu iddo gael ei ddefnyddio'n ymarferol ym mhobman.
Ymhellach, nid yw nodau Sage a SymPy yr un peth. Mae Sage yn anelu at fod yn system fathemateg llawn sylw, ac mae'n gwneud hynny trwy gyfuno'r holl brif systemau mathemategol ffynhonnell agored yn un.
Pan fyddwch chi'n defnyddio swyddogaeth Sage, fel integreiddio, mae'n galw un o'r pecynnau ffynhonnell agored sydd ynddo. Mewn gwirionedd, mae wedi'i ymgorffori yn Sage. Mae SymPy, ar y llaw arall, yn anelu at fod yn system hunangynhwysol, gyda'r holl swyddogaethau wedi'u gweithredu ynddi ei hun.
Mae ei gallu i weithredu fel llyfrgell yn nodwedd bwysig. Mae llawer o systemau algebra cyfrifiadurol i fod i gael eu defnyddio mewn amgylcheddau rhyngweithiol, ond maent yn anodd eu hawtomeiddio neu eu hehangu.
Gellir ei ddefnyddio'n rhyngweithiol yn Python neu ei fewnforio i'ch rhaglen Python eich hun. Mae ganddo hefyd APIs i'w ymestyn yn hawdd gyda'ch arferion eich hun.
Gosod SymPy
Yn syml, defnyddiwch y gorchymyn isod i'w osod yn eich amgylchedd.
Symbolau SymPy
Gadewch i ni ddechrau arni nawr! Mae ei gwrthrych sylfaenol yn symbol. Yn SymPy, gallwch chi gynhyrchu symbol x trwy ysgrifennu:
Mae'r cod uchod yn cynhyrchu'r symbol x. Bwriad symbolau ynddo yw efelychu symbolau mathemategol sy'n cynrychioli gwerthoedd anhysbys.
O ganlyniad, dangosir y cyfrifiant canlynol isod:
Fel y dangosir uchod, mae'r symbol x yn gweithredu'n debyg i swm anhysbys. Os dymunwch wneud llawer o symbolau, ysgrifennwch nhw fel a ganlyn:
Fe wnaethoch chi greu dau symbol, y, a z, ar yr un foment yn yr achos hwn. Bellach gellir ychwanegu, tynnu, lluosi a rhannu'r symbolau hyn yn ôl yr angen:
Swyddogaethau SymPy
1. sympify() swyddogaeth
Mae'r dull sympify() yn trawsnewid mynegiant mympwyol yn fynegiad SymPy. Mae'n trosi gwrthrychau Python safonol, megis cyfanrifau.
Mae llinynnau'n cael eu trawsnewid i'w mynegiadau yn ogystal â chyfanrifau, ac ati.
2. swyddogaeth evalf().
Mae'r ffwythiant hwn yn gwerthuso mynegiant rhifiadol penodedig gyda thrachywiredd pwynt arnawf o hyd at 100 digid.
Mae'r ffwythiant hefyd yn derbyn gwrthrych geiriadur gyda gwerthoedd rhifiadol ar gyfer symbolau fel dadl eilyddion. Ystyriwch yr ymadrodd canlynol:
Mae cywirdeb pwynt arnawf wedi'i osod i 15 digid yn ddiofyn. Fodd bynnag, gellir newid hyn i unrhyw rif rhwng 1 a 100.
Mae'r hafaliad canlynol yn cael ei werthuso i drachywiredd o 20 digid.
3. Lambdify() swyddogaeth
Mae Lambdify yn swyddogaeth sy'n trosi ei ymadroddion yn swyddogaethau Python. Mae'r dull evalf() yn aneffeithlon wrth werthuso mynegiant ar draws ystod eang o werthoedd.
Mae Lambdify yn gweithio'n debyg i swyddogaeth lambda, ac eithrio ei fod yn trosi enwau SymPy i enwau'r llyfrgell rifiadol a ddarperir, sef NumPy yn gyffredinol.
Yn ddiofyn, mae Lambdify yn cael ei gymhwyso i weithrediadau llyfrgell safonol mathemateg.
Nodweddion
Rhestrir dyrnaid o nodweddion mwyaf arwyddocaol y llyfrgell yma; mae llawer mwy heb eu cynnwys, ond gallwch wirio nhw yma.
1. Galluoedd Craidd
- Rhifyddeg sylfaenol: cefnogir gweithredwyr +, -, *, /, a ** (pŵer)
- Ehangiad polynomaidd
- Cyfanrifau, rhesymeg, a fflotiau gyda thrachywiredd mympwyol
- Swyddogaethau trigonometrig, hyperbolig ac esbonyddol, gwreiddiau, logarithmau, gwerth absoliwt, harmonig sfferig, ffwythiannau ffactoraidd a gama, ffwythiannau zeta, polynomials, a ffwythiannau arbennig
- Symbolau nad ydynt yn gymudol
- Patrymau sy'n cyfateb
2. Calcwlws
- Integreiddio: Mae'r dull hwn yn defnyddio'r hewristig Risch-Normanaidd ehangedig
- Gwahaniaethu.
- Swyddogaethau terfyn
- Cyfres Laurent Taylor
3. Polynomialau
- seiliau Gröbner
- Dadelfeniad ffracsiynau rhannol
- Rhannu, gcd Mae canlyniadau yn enghreifftiau o rifyddeg sylfaenol.
4. Cyfuniadeg
- Amnewidiadau
- Codau Llwyd a Prufer
- Cyfuniadau, Rhaniadau, Is-setiau
- Grwpiau Polyhedral, Rubik, Cymesur, a Thrydnewid Eraill
5. Mathemateg Arwahanol
- Crynhoad
- Ymadroddion rhesymegol
- Cyfernodau binomaidd
- Damcaniaeth rhif
ceisiadau
1. Cyfrifiannell Adeiladu
2. Systemau Algebra Cyfrifiadurol
Yn wahanol i Systemau Algebra Cyfrifiadurol eraill, rhaid i chi ddatgan â llaw newidynnau symbolaidd ynddo gan ddefnyddio'r ffwythiant Symbol().
3. Calcwlws
Gallu system gyfrifiant symbolaidd i wneud pob math o gyfrifiannau yn symbolaidd yw ei phrif gryfder.
Gall symleiddio datganiadau, yn symbolaidd, cyfrifo deilliadau, integrynnau, a therfynau, datrys hafaliadau, rhyngweithio â matricsau, a gwneud llawer mwy.
Er mwyn codi eich chwant bwyd, dyma flas ar bŵer symbolaidd.
Beth Arall Allwch Chi Ei Wneud Gyda SymPy?
Yn hytrach na galw heibio am faterion ychwanegol yn fanwl, gadewch i mi ddarparu rhestr o adnoddau i chi i'ch helpu i wella'ch sgiliau:
- Matricsau ac Algebra Llinol: Gall weithio gyda matricsau a pherfformio gweithrediadau algebra llinol sylfaenol. Mae'r iaith yn debyg i gystrawen NumPy. Fodd bynnag, mae gwahaniaethau nodedig. I ddechrau, ymchwilio matricsau yn y llyfrgell.
- Mynegiant: Mae'n trosoledd coeden fynegiant, sy'n strwythur seiliedig ar goeden, i gadw golwg ar ymadroddion. Edrych arno coed mynegiant os ydych chi eisiau dysgu mwy am eu gwaith mewnol.
- Deilliadau a Elfennau: Gall gyflawni'r rhan fwyaf o'r hyn y byddech chi'n ei ddysgu mewn dosbarth calcwlws rhagarweiniol (heb y meddwl). Gallwch ddechrau trwy edrych ar ein swyddogaeth gwahaniaethu yn SymPy.
- Perthynas â NumPy: Mae NumPy a SymPy ill dau yn lyfrgelloedd cysylltiedig â mathemateg. Serch hynny, maent yn eu hanfod yn wahanol! Mae NumPy yn gweithio gyda rhifau, tra mae'n gweithio gydag ymadroddion symbolaidd.
- Symleiddiadau: Mae'n ddigon deallus i symleiddio ymadroddion yn awtomatig. Fodd bynnag, os ydych chi eisiau mwy o reolaeth fanwl dros hyn, edrychwch ar ei symleiddio.
Casgliad
Mae SymPy yn llyfrgell bwerus ar gyfer mathemateg symbolaidd.
Gallwch ei ddefnyddio i greu newidynnau a ffwythiannau, yn ogystal ag ymestyn a symleiddio datganiadau mathemategol yn symbolaidd a datrys hafaliadau, anghydraddoldebau, a hyd yn oed systemau o hafaliadau/anhafaleddau.
Gallwch ysgrifennu'r swyddogaethau yn nhestun y sgript ac yn uniongyrchol yn y derfynell (neu llyfrau nodiadau Jupyter) cael asesiad cyflym a darlun graffigol gwell o'r cyfrifiannau a wnaed.
Ydych chi'n barod i archwilio mwy o SymPy? Rhowch wybod i ni yn y sylwadau.
Gadael ymateb