Мазмуну[Жашыруу][Көрсөтүү]
Сиз университеттин студентисизби же маалымат илиминде иштейсизби, математиканы айланып өтүүгө болбойт.
Ал тургай, маалымат илими прикладдык математиканын/статистиканын бир түрү деп айтышы мүмкүн. NumPy, SciPy, Scikit-үйрөн, жана TensorFlow сандык жактан математика менен алектенген Python китепканаларынын бир нечеси гана.
Бирок, математикалык символдор менен так иштөө үчүн бир гана атаандаш бар: SymPy.
Келгиле, SymPy жөнүндө баарын билели.
Эмне SymPy?
SymPy бул Python символикалык математика китепканасы. Бул түшүнүктүү жана оңой кеңейүү үчүн кодду мүмкүн болушунча жөнөкөй сактоо менен толук функционалдык компьютер алгебра системасы (CAS) болууга умтулат.
Ал толугу менен Python тилинде жазылган. Аны колдонуу оңой, анткени ал mpmath, ыктыярдуу калкыма чекиттүү арифметика үчүн таза Python китепканасына таянат.
Китепкана катары, ал колдонууга ыңгайлуулукка олуттуу басым жасоо менен түзүлгөн. Кеңейтүү анын колдонмо программасынын интерфейсин (API) долбоорлоодо абдан маанилүү.
Натыйжада, ал Python тилин өркүндөтүүгө аракет кылбайт. Максаты - колдонуучулар аны башкалар менен бирге колдоно алышат Python китепканалары Интерактивдүү чөйрөдө же чоңураак системанын программаланган компоненти катары, алардын иштөө процессинде.
SymPy, китепкана катары, орнотулган графикасы жок колдонуучу (GUI). Китепкана бул:
- Кеп жана сыра боюнча да бекер, анткени ал BSD лицензиясы боюнча лицензияланган.
- Python негизделген: Бул толугу менен Python иштелип чыккан жана анын тили катары Python колдонот.
- Жеңил, анткени ал мпматка гана таянат, таза Python китепканасы ыктыярдуу калкыма чекиттүү арифметика үчүн, аны колдонууну жөнөкөй кылат.
- Башка программаларга киргизилип, интерактивдүү курал катары колдонуудан тышкары, ыңгайлаштырылган функциялар менен өзгөртүлүшү мүмкүн.
Эмне үчүн SymPy колдонуу керек?
Sage, компьютердик алгебра системасы да Pythonду программалоо тили катары колдонот. Sage, экинчи жагынан, абдан чоң, бир гигабайттан ашык жүктөөнү талап кылат. Анын жеңил болгондугунун пайдасы бар.
Ыкчам болгонунан тышкары, анын Pythonдон башка эч кандай көз карандылыгы жок, бул аны бардык жерде колдонууга мүмкүндүк берет.
Мындан тышкары, Sage жана SymPy максаттары бирдей эмес. Sage толук функционалдык математика системасы болууга умтулат жана муну негизги ачык булактуу математикалык системалардын бардыгын бир системага бириктирүү аркылуу жасайт.
Интеграция сыяктуу Sage функциясын колдонгонуңузда, ал камтыган ачык булактуу пакеттердин бирин чакырат. Чындыгында, ал Sageге курулган. SymPy, экинчи жагынан, бардык функциялар анын ичинде ишке ашырылган өз алдынча система болууга умтулат.
Анын китепкана катары иштөө мүмкүнчүлүгү маанилүү өзгөчөлүк болуп саналат. Көптөгөн компьютердик алгебра системалары интерактивдүү чөйрөдө колдонууга арналган, бирок аларды автоматташтыруу же кеңейтүү кыйын.
Аны Pythonдо интерактивдүү түрдө колдонсо болот же өзүңүздүн Python программаңызга импорттосо болот. Ал ошондой эле өз иш тартиби менен аны узартуу үчүн API бар.
SymPy орнотулууда
Жөн гана чөйрөңүзгө орнотуу үчүн төмөнкү буйрукту колдонуңуз.
SymPy Symbols
Келгиле, аны азыр баштайлы! Анын негизги объектиси символ болуп саналат. SymPyде сиз x символун жазуу менен жаратсаңыз болот:
Жогорудагы код x белгисин жаратат. Андагы символдор белгисиз маанилерди чагылдырган математикалык символдорду эмуляциялоо үчүн арналган.
Натыйжада, төмөнкү эсептөөлөр төмөндө көрсөтүлгөн:
Жогоруда көрсөтүлгөндөй, х белгиси белгисиз суммага окшош иштейт. Эгерде сиз көптөгөн символдорду жасагыңыз келсе, аларды төмөнкүдөй жазыңыз:
Сиз бул учурда бир эле учурда эки символду, y жана z түздүңүз. Бул белгилер эми каалагандай кошууга, кемитүүгө, көбөйтүүгө жана бөлүүгө болот:
SymPy функциялары
1. sympify() функциясы
sympify() ыкмасы ыктыярдуу туюнтманы SymPy туюнтмасына айлантат. Ал бүтүн сандар сыяктуу стандарттык Python объектилерин айлантат.
Саптар алардын туюнтмаларына, ошондой эле бүтүн сандарга ж.б.
2. evalf() функциясы
Бул функция 100 цифрага чейинки калкыма чекиттин тактыгы менен көрсөтүлгөн сандык туюнтманы баалайт.
Функция кошумча аргумент катары символдордун сандык маанилери бар сөздүк объектисин кабыл алат. Төмөнкү фразаны карап көрөлү:
Калкыма чекиттин тактыгы демейки боюнча 15 санга коюлган. Бирок бул 1ден 100гө чейинки каалаган санга өзгөртүлүшү мүмкүн.
Төмөнкү теңдеме 20 сандын тактыгына бааланат.
3. Lambdify() функциясы
Lambdify - бул анын туюнтмаларын Python функцияларына айландыруучу функция. Evalf() методу маанилердин кеңири диапазонундагы туюнтманы баалоодо натыйжасыз.
Lambdify lambda функциясына окшош иштейт, бирок ал SymPy аталыштарын берилген сандык китепкананын атына которот, ал жалпысынан NumPy.
Демейки боюнча, Lambdify математиканын стандарттык китепканасын ишке ашырууга колдонулат.
Өзгөчөлүктөрү
Китепкананын эң маанилүү өзгөчөлүктөрүнүн бир нечеси бул жерде келтирилген; кирбеген дагы көптөгөн нерселер бар, бирок сиз аларды текшере аласыз бул жерде.
1. Негизги мүмкүнчүлүктөр
- Негизги арифметика: +, -, *, / жана ** операторлору колдоого алынат (кубат)
- Полномиялык кеңейүү
- Бүтүн сандар, рационалдар жана эркин тактык менен калкыма
- Тригонометриялык, гиперболалык жана экспоненциалдык функциялар, тамырлар, логарифмдер, абсолюттук чоңдуктар, сфералык гармоникалар, факториалдар жана гамма функциялар, дзета функциялар, көп мүчөлөр жана атайын функциялар
- Коммутивдүү эмес символдор
- Дал келүүчү үлгүлөр
2. Эсептөө
- Интеграция: Бул ыкма кеңейтилген Риш-Норман эвристикасын колдонот
- Ар түрдүү.
- Чектөө функциялары
- Лоран Тейлордун сериясы
3. Көп мүчөлөр
- Gröbner негиздери
- Жарым-жартылай фракциялардын бөлүнүшү
- Бөлүнүү, gcd Натыйжалар негизги арифметиканын мисалдары.
4. Комбинаторика
- Пермутациялар
- Gray жана Prufer коддору
- Комбинациялар, Бөлүмдөр, Топтомдор
- Көп кырдуу, рубик, симметриялык жана башка алмаштыруу топтору
5. Дискреттик математика
- Жыйынтыктар
- Логикалык туюнтмалар
- Биномдук коэффициенттер
- Сандар теориясы
Тиркемелер
1. Building Calculator
2. Компьютердик алгебра системалары
Башка компьютердик алгебра системаларынан айырмаланып, сиз андагы символикалык өзгөрмөлөрдү Symbol() функциясын колдонуп кол менен жарыялооңуз керек.
3. Эсептөө
Символикалык эсептөө тутумунун ар кандай эсептөөлөрдү символикалык түрдө аткарууга жөндөмдүүлүгү анын негизги күчү болуп саналат.
Ал символдук түрдө билдирүүлөрдү жөнөкөйлөштүрө алат, туундуларды, интегралдарды жана чектерди эсептеп, теңдемелерди чечет, матрицалар менен иштешет жана дагы көп нерселерди жасай алат.
Табитиңди ачуу үчүн бул жерде символикалык күчтүн даамын татып көр.
SymPy менен дагы эмне кыла аласыз?
Кошумча маселелер жөнүндө терең ойлонбой эле, мен сизге жөндөмүңүздү өркүндөтүүгө жардам бере турган ресурстардын тизмесин берейин:
- Матрицалар жана сызыктуу алгебра: Ал матрицалар менен иштей алат жана негизги сызыктуу алгебра операцияларын аткара алат. Тили NumPy синтаксисине окшош. Бирок, көрүнүктүү айырмачылыктар бар. Баштоо үчүн, иликтөө Matrices китепканада.
- сөздөр: Ал туюнтмаларга көз салуу үчүн даракка негизделген структура болгон экспрессия дарагын колдонот. Кара экспрессия дарактары алардын ички иштери жөнүндө көбүрөөк билгиңиз келсе.
- Туундулар жана интегралдар: Бул киришүү эсептөө сабагында үйрөнгөн нерселериңиздин көбүн аткара алат (ойлоону алып салуу). Сиз биздин функциябызды карап баштасаңыз болот дифференциялоо SymPy ичинде.
- NumPy менен мамилеси: NumPy жана SymPy экөө тең математикага байланыштуу китепканалар. Бирок, алар түп-тамырынан айырмаланат! NumPy сандар менен иштейт, ал эми символикалык туюнтмалар менен иштейт.
- Жөнөкөйлөтүүлөр: Ал туюнтмаларды автоматтык түрдө жөнөкөйлөтүү үчүн жетиштүү акылдуу. Бирок, эгер сиз муну жакшыраак көзөмөлдөөнү кааласаңыз, аны карап көрүңүз жөнөкөйлөтүүлөр.
жыйынтыктоо
SymPy символикалык математика үчүн күчтүү китепкана болуп саналат.
Аны өзгөрмөлөрдү жана функцияларды түзүү, ошондой эле математикалык билдирүүлөрдү символикалык түрдө кеңейтүү жана жөнөкөйлөштүрүү жана теңдемелерди, теңсиздиктерди жана ал тургай теңдемелер/бардыксыздыктар системаларын чечүү үчүн колдоно аласыз.
Функцияларды скрипттин текстине да, түздөн-түз терминалга да жаза аласыз (же Юпитер дептерлери) тез баа берүү жана аткарылган эсептөөлөрдү жакшыраак графикалык сүрөттөө үчүн.
SymPy көбүрөөк изилдөөгө даярсызбы? Комментарийлерде бизге айтыңыз.
Таштап Жооп