Mundarija[Yashirish][Show]
Universitet talabasi bo'lasizmi yoki ma'lumotlar fanida ishlaysizmi, matematikani aylanib o'tishning iloji yo'q.
Hatto ma'lumotlar fani amaliy matematika/statistikaning bir turi ekanligi haqida bahslashish mumkin. NumPy, SciPy, Skikit-o'rganingva TensorFlow Bu matematika bilan miqdoriy jihatdan shug'ullanadigan Python kutubxonalarining bir nechtasi.
Biroq, matematik belgilar bilan aniq ishlash uchun faqat bitta raqobatchi bor: SymPy.
Keling, SymPy haqida hamma narsani bilib olaylik.
Nima bu SymPy?
SymPy - bu Python ramziy matematika kutubxonasi. U to'liq xususiyatli kompyuter algebra tizimi (CAS) bo'lishga intiladi, shu bilan birga tushunarli va oson kengaytirilishi mumkin bo'lgan kodni iloji boricha sodda saqlaydi.
U to'liq Pythonda yozilgan. Uni ishlatish juda oson, chunki u faqat mpmath-ga, ixtiyoriy suzuvchi nuqtali arifmetika uchun sof Python kutubxonasiga tayanadi.
Kutubxona sifatida u foydalanish qulayligiga katta e'tibor berilgan holda yaratilgan. Kengaytirish uning amaliy dastur interfeysi (API) dizaynida muhim ahamiyatga ega.
Natijada, u Python tilini yaxshilashga urinmaydi. Maqsad - foydalanuvchilar uni boshqalar bilan birgalikda ishlatishlari Python kutubxonalari interaktiv muhitda yoki kattaroq tizimning dasturlashtirilgan komponenti sifatida ularning ish jarayonida.
SymPy, kutubxona sifatida, o'rnatilgan grafikadan mahrum Foydalanuvchi interfeysi (GUI). Kutubxona bu:
- Nutq va pivo uchun bepul, chunki u BSD litsenziyasi ostida litsenziyalangan.
- Python-ga asoslangan: U to'liq Python-da ishlab chiqilgan va Python-ni o'z tili sifatida ishlatadi.
- Engil, chunki u faqat mpmathga tayanadi, sof Python kutubxonasi ixtiyoriy suzuvchi nuqtali arifmetika uchun, bu foydalanishni osonlashtiradi.
- Interfaol vosita sifatida foydalanishdan tashqari, boshqa dasturlarga kiritilishi va maxsus funktsiyalar bilan o'zgartirilishi mumkin.
Nima uchun SymPy dan foydalanish kerak?
Sage, kompyuter algebra tizimi, shuningdek, Python-ni dasturlash tili sifatida ishlatadi. Boshqa tomondan, Sage juda katta, bir gigabaytdan ko'proq yuklab olishni talab qiladi. Uning yengilligining afzalliklari bor.
Ixcham bo'lishidan tashqari, u Python-dan boshqa hech qanday bog'liqlikka ega emas, bu uni deyarli hamma joyda ishlatishga imkon beradi.
Bundan tashqari, Sage va SymPy maqsadlari bir xil emas. Sage to'liq xususiyatli matematik tizim bo'lishga intiladi va u buni barcha asosiy ochiq manbali matematik tizimlarni bitta tizimga birlashtirish orqali amalga oshiradi.
Integratsiya kabi Sage funksiyasidan foydalansangiz, u o'z ichiga olgan ochiq manba paketlardan birini ishga tushiradi. Aslida, u Sage ichiga qurilgan. Boshqa tomondan, SymPy o'z-o'zidan tuzilgan tizim bo'lishga intiladi, uning o'zida barcha funksiyalar amalga oshiriladi.
Uning kutubxona sifatida ishlash qobiliyati muhim xususiyatdir. Ko'pgina kompyuter algebra tizimlari interaktiv muhitda foydalanish uchun mo'ljallangan, ammo ularni avtomatlashtirish yoki kengaytirish qiyin.
U Python-da interaktiv tarzda ishlatilishi yoki shaxsiy Python dasturingizga import qilinishi mumkin. Bundan tashqari, uni o'zingizning tartiblaringiz bilan oson kengaytirish uchun API mavjud.
SymPy o'rnatilmoqda
O'z muhitingizga o'rnatish uchun quyidagi buyruqdan foydalaning.
Simpiya belgilari
Keling, hozirdan boshlaylik! Uning asosiy ob'ekti ramzdir. SymPy-da siz x belgisini yozish orqali yaratishingiz mumkin:
Yuqoridagi kod x belgisini hosil qiladi. Undagi belgilar noma'lum qiymatlarni ifodalovchi matematik belgilarga taqlid qilish uchun mo'ljallangan.
Natijada, quyidagi hisoblash ko'rsatilgan:
Yuqorida ko'rsatilganidek, x belgisi noma'lum miqdorga o'xshash ishlaydi. Agar siz ko'p belgilar yaratmoqchi bo'lsangiz, ularni quyidagicha yozing:
Bu holatda siz bir vaqtning o'zida ikkita belgi, y va z ni yaratdingiz. Endi bu belgilarni istalgancha qoʻshish, ayirish, koʻpaytirish va boʻlish mumkin:
SymPy funktsiyalari
1. sympify() funksiyasi
sympify() usuli ixtiyoriy ifodani SymPy ifodasiga aylantiradi. U butun sonlar kabi standart Python obyektlarini o'zgartiradi.
Satrlar ularning ifodalariga, shuningdek, butun sonlarga va boshqalarga aylantiriladi.
2. evalf() funksiyasi
Bu funksiya belgilangan raqamli ifodani 100 ta raqamgacha boʻlgan suzuvchi nuqta aniqligi bilan baholaydi.
Funktsiya qo'shimcha ravishda lug'at ob'ektini pastki argument sifatida belgilarning raqamli qiymatlari bilan qabul qiladi. Quyidagi iborani ko'rib chiqing:
Sukut bo'yicha suzuvchi nuqta aniqligi 15 raqamga o'rnatiladi. Biroq, bu 1 dan 100 gacha bo'lgan istalgan raqamga o'zgartirilishi mumkin.
Quyidagi tenglama 20 ta raqamga aniqlik bilan baholanadi.
3. Lambdify() funksiyasi
Lambdify - bu o'z ifodalarini Python funktsiyalariga aylantiruvchi funktsiya. Evalf() usuli keng qiymatlar oralig'ida ifodani baholashda samarasiz.
Lambdify lambda funksiyasiga o'xshash ishlaydi, faqat u SymPy nomlarini taqdim etilgan raqamli kutubxona nomlariga tarjima qiladi, bu odatda NumPy.
Odatiy bo'lib, Lambdify matematika standart kutubxona ilovalariga qo'llaniladi.
Xususiyatlari
Kutubxonaning eng muhim xususiyatlaridan bir nechtasi bu yerda keltirilgan; qo'shilmagan yana ko'p narsalar bor, lekin siz ularni tekshirishingiz mumkin Bu yerga.
1. Asosiy imkoniyatlar
- Asosiy arifmetika: +, -, *, / va ** operatorlari qo'llab-quvvatlanadi (quvvat)
- Polinom kengayishi
- Ixtiyoriy aniqlik bilan butun sonlar, ratsionallar va suzuvchilar
- Trigonometrik, giperbolik va ko‘rsatkichli funksiyalar, ildizlar, logarifmlar, mutlaq qiymat, sferik harmonikalar, faktorial va gamma funksiyalar, zeta funksiyalar, polinomlar va maxsus funksiyalar.
- Kommutativ bo'lmagan belgilar
- Mos keladigan naqshlar
2. Hisoblash
- Integratsiya: Bu usul kengaytirilgan Risch-Norman evristikasidan foydalanadi
- Differentsiya.
- Cheklash funktsiyalari
- Loran Teylor seriyasi
3. Polinomlar
- Gröbner asoslari
- Qisman fraksiyalarning parchalanishi
- Bo'linish, gcd Natijalar asosiy arifmetikaga misollardir.
4. Kombinatorika
- Permutatsiyalar
- Grey va Prufer kodlari
- Kombinatsiyalar, bo'limlar, kichik to'plamlar
- Ko'p yuzli, Rubik, simmetrik va boshqa almashtirish guruhlari
5. Diskret matematika
- Xulosa
- Mantiqiy ifodalar
- Binom koeffitsientlari
- Sonlar nazariyasi
ilovalar
1. Bino kalkulyatori
2. Kompyuter algebra tizimlari
Boshqa kompyuter algebra tizimlaridan farqli o'laroq, siz Symbol() funksiyasidan foydalanib undagi ramziy o'zgaruvchilarni qo'lda e'lon qilishingiz kerak.
3. Hisoblash
Ramziy hisoblash tizimining barcha turdagi hisob-kitoblarni ramziy ravishda bajarish qobiliyati uning asosiy kuchidir.
U ifodalarni soddalashtirishi, ramziy ma'noda hosilalarni, integrallarni va chegaralarni hisoblashi, tenglamalarni echishi, matritsalar bilan o'zaro ta'sir qilishi va yana ko'p narsalarni qilishi mumkin.
Ishtahangizni ochish uchun mana ramziy kuchning ta'mi.
SymPy bilan yana nima qila olasiz?
Qo'shimcha masalalar haqida chuqur o'ylashdan ko'ra, sizga mahoratingizni oshirishga yordam beradigan resurslar ro'yxatini taqdim etishga ijozat bering:
- Matritsalar va chiziqli algebra: U matritsalar bilan ishlashi va asosiy chiziqli algebra amallarini bajarishi mumkin. Til NumPy sintaksisiga o'xshaydi. Biroq, sezilarli farqlar mavjud. Boshlash uchun tekshirib ko'ring matritsalar kutubxonada.
- Ifodasi: U iboralarni kuzatish uchun daraxtga asoslangan tuzilma bo'lgan ifoda daraxtidan foydalanadi. Qaramoq ifoda daraxtlari agar siz ularning ichki ishi haqida ko'proq bilmoqchi bo'lsangiz.
- Hosila va integrallar: U hisob-kitoblar bo'yicha kirish darsida o'rgangan narsalaringizning ko'pini amalga oshirishi mumkin (minus fikrlash). Funktsiyamizni ko'rib chiqishdan boshlashingiz mumkin farqlash SymPy-da.
- NumPy bilan aloqasi: NumPy va SymPy ikkalasi ham matematikaga oid kutubxonalardir. Shunga qaramay, ular tubdan farq qiladi! NumPy raqamlar bilan, ramziy ifodalar bilan ishlaydi.
- Soddalashtirishlar: U ifodalarni avtomatik ravishda soddalashtirish uchun yetarli darajada aqlli. Ammo, agar siz buni yanada nozik nazorat qilishni istasangiz, unga qarang soddalashtirishlar.
Xulosa
SymPy - bu ramziy matematika uchun kuchli kutubxona.
Siz undan o'zgaruvchilar va funktsiyalarni yaratish, shuningdek, matematik bayonotlarni ramziy ravishda kengaytirish va soddalashtirish, tenglamalar, tengsizliklar va hatto tenglamalar/tengsizliklar tizimini echish uchun foydalanishingiz mumkin.
Siz funksiyalarni skript matnida ham, bevosita terminalda ham yozishingiz mumkin (yoki Jupyter daftarlari) bajarilgan hisob-kitoblarni tezkor baholash va yaxshiroq grafik tasvirini olish uchun.
SymPy-ni ko'proq o'rganishga tayyormisiz? Izohlarda bizga xabar bering.
Leave a Reply