Mündəricat[Gizlət][Göstər]
İstər universitet tələbəsi olmağınızdan, istərsə də məlumat elmində işləməyinizdən asılı olmayaraq, riyaziyyatla məşğul olmaq mümkün deyil.
Biri hətta məlumat elminin tətbiqi riyaziyyat/statistikanın bir növü olduğunu iddia edə bilər. NumPy, SciPy, Scikit-məlumat əldə edinvə TensorFlow riyaziyyatla kəmiyyətcə məşğul olan Python kitabxanalarından yalnız bir neçəsidir.
Bununla belə, riyazi simvollarla açıq şəkildə məşğul olmaq üçün yalnız bir rəqib var: SymPy.
Gəlin SymPy haqqında hər şeyi öyrənək.
Nədir SymPy?
SymPy Python simvolik riyaziyyat kitabxanasıdır. O, başa düşülən və asanlıqla genişləndirilə bilən kodu mümkün qədər sadə saxlayaraq, tam xüsusiyyətli kompüter cəbri sistemi (CAS) olmağa çalışır.
Tamamilə Python-da yazılmışdır. İstifadəsi sadədir, çünki o, yalnız ixtiyari üzən nöqtəli arifmetika üçün təmiz Python kitabxanası olan mpmath-a əsaslanır.
Kitabxana olaraq, istifadəyə yararlılıq nəzərə alınmaqla yaradılmışdır. Genişlənmə qabiliyyəti onun tətbiqi proqram interfeysinin (API) dizaynında vacibdir.
Nəticədə, Python dilini təkmilləşdirməyə cəhd etmir. Məqsəd istifadəçilərin ondan başqaları ilə birlikdə istifadə edə bilmələridir Python kitabxanaları istər interaktiv mühitdə, istərsə də daha böyük sistemin proqramlaşdırılmış komponenti kimi onların iş prosesində.
SymPy, bir kitabxana olaraq, daxili qrafikdən məhrumdur istifadəçi interfeysi (GUI). Kitabxana belədir:
- Pulsuz, həm nitq, həm də pivə ilə bağlı, çünki BSD lisenziyası ilə lisenziyalaşdırılıb.
- Python əsaslı: O, tamamilə Python-da işlənib hazırlanmışdır və Python dilini dil kimi istifadə edir.
- Yüngül, çünki o, yalnız mpmath-a, təmizliyə əsaslanır Python kitabxanası ixtiyari üzən nöqtəli arifmetika üçün istifadəni asanlaşdırır.
- Digər proqramlara daxil edilə və interaktiv alət kimi istifadə olunmaqla yanaşı, xüsusi funksiyalarla dəyişdirilə bilər.
Niyə SymPy istifadə edirsiniz?
Kompüter cəbri sistemi olan Sage də proqramlaşdırma dili kimi Python-dan istifadə edir. Sage, digər tərəfdən, bir gigabaytdan çox yükləmə tələb edən nəhəngdir. Yüngül olmasının üstünlüyü var.
Yığcam olması ilə yanaşı, onun Python-dan başqa heç bir asılılığı yoxdur və bu, onu praktiki olaraq hər yerdə istifadə etməyə imkan verir.
Bundan əlavə, Sage və SymPy-nin məqsədləri eyni deyil. Sage tam xüsusiyyətli riyaziyyat sistemi olmağa can atır və bunu bütün əsas açıq mənbəli riyazi sistemləri bir sistemdə birləşdirərək edir.
İnteqrasiya kimi Sage funksiyasından istifadə etdiyiniz zaman o, tərkibindəki açıq mənbəli paketlərdən birini işə salır. Əslində, Sage-də qurulmuşdur. SymPy, əksinə, bütün funksionallığı özündə həyata keçirən müstəqil bir sistem olmağa can atır.
Kitabxana kimi fəaliyyət göstərmək qabiliyyəti mühüm xüsusiyyətdir. Bir çox kompüter cəbri sistemləri interaktiv mühitlərdə istifadə üçün nəzərdə tutulub, lakin onları avtomatlaşdırmaq və ya genişləndirmək çətindir.
O, Python-da interaktiv şəkildə istifadə edilə bilər və ya öz Python proqramınıza idxal edilə bilər. O, həmçinin öz rutinlərinizlə asanlıqla genişləndirmək üçün API-lərə malikdir.
SymPy quraşdırılır
Ətrafınızda quraşdırmaq üçün sadəcə aşağıdakı əmrdən istifadə edin.
Simpiya simvolları
Gəlin onunla indi başlayaq! Onun əsas obyekti simvoldur. SymPy-də siz yazaraq x simvolu yarada bilərsiniz:
Yuxarıdakı kod x simvolunu yaradır. İçindəki simvollar naməlum dəyərləri təmsil edən riyazi simvolları təqlid etmək üçün nəzərdə tutulub.
Nəticədə aşağıdakı hesablamalar göstərilir:
Yuxarıda göstərildiyi kimi, x simvolu naməlum məbləğə bənzər şəkildə işləyir. Bir çox simvol yaratmaq istəyirsinizsə, onları aşağıdakı kimi yazın:
Bu vəziyyətdə eyni anda iki simvol yaratdınız, y və z. İndi bu simvolları istədiyiniz kimi əlavə etmək, çıxmaq, çoxaltmaq və bölmək olar:
SymPy funksiyaları
1. sympify() funksiyası
Sympify() metodu ixtiyari ifadəni SymPy ifadəsinə çevirir. Tam ədədlər kimi standart Python obyektlərini çevirir.
Sətirlər öz ifadələrinə, eləcə də tam ədədlərə çevrilir və s.
2. evalf() funksiyası
Bu funksiya 100 rəqəmə qədər üzən nöqtə dəqiqliyi ilə müəyyən edilmiş ədədi ifadəni qiymətləndirir.
Funksiya əlavə olaraq simvollar üçün ədədi dəyərləri olan lüğət obyektini alt arqument kimi qəbul edir. Aşağıdakı ifadəni nəzərdən keçirin:
Üzən nöqtə dəqiqliyi standart olaraq 15 rəqəmə təyin edilmişdir. Bununla belə, bu, 1 ilə 100 arasında istənilən rəqəmə dəyişdirilə bilər.
Aşağıdakı tənlik 20 rəqəmin dəqiqliyi ilə qiymətləndirilir.
3. Lambdify() funksiyası
Lambdify öz ifadələrini Python funksiyalarına çevirən funksiyadır. Evalf() metodu geniş dəyər diapazonunda ifadəni qiymətləndirərkən səmərəsizdir.
Lambdify lambda funksiyasına bənzər şəkildə işləyir, istisna olmaqla, o, SymPy adlarını təqdim edilmiş ədədi kitabxananın adlarına çevirir, ümumiyyətlə NumPy.
Varsayılan olaraq, Lambdify riyaziyyat standart kitabxana tətbiqlərinə tətbiq edilir.
Xüsusiyyətləri
Kitabxananın ən əhəmiyyətli xüsusiyyətlərindən bir neçəsi burada verilmişdir; daxil olmayan daha çox şey var, lakin onları yoxlaya bilərsiniz burada.
1. Əsas imkanlar
- Fundamental arifmetika: +, -, *, / və ** operatorları dəstəklənir (güc)
- Çoxhədli genişlənmə
- Tam ədədlər, rasionallar və ixtiyari dəqiqliklə üzənlər
- Triqonometrik, hiperbolik və eksponensial funksiyalar, köklər, loqarifmlər, mütləq qiymətlər, sferik harmonikalar, faktoriallar və qamma funksiyalar, zeta funksiyaları, polinomlar və xüsusi funksiyalar
- Kommutativ olmayan simvollar
- Uyğun nümunələr
2. Hesablama
- İnteqrasiya: Bu üsul genişləndirilmiş Risch-Norman evristik metodundan istifadə edir
- Fərqiləşdirmə.
- Limit funksiyaları
- Laurent Taylor seriyası
3. Polinomlar
- Gröbner fondları
- Qismən fraksiyaların parçalanması
- Bölmə, gcd Nəticələr əsas arifmetika nümunələridir.
4. Kombinatorika
- Dəyişikliklər
- Boz və Prufer kodları
- Birləşmələr, bölmələr, alt çoxluqlar
- Çoxüzlü, Rubik, Simmetrik və Digər Permutasiya Qrupları
5. Diskret Riyaziyyat
- Ümumiləşdirmələr
- Məntiqi ifadələr
- Binomial əmsallar
- Say nəzəriyyəsi
Applications
1. Bina Kalkulyatoru
2. Kompüter Cəbr Sistemləri
Digər Kompüter Cəbr Sistemlərindən fərqli olaraq, Symbol() funksiyasından istifadə edərək, onda simvolik dəyişənləri əl ilə elan etməlisiniz.
3. Hesablama
Simvolik hesablama sisteminin bütün növ hesablamaları simvolik olaraq yerinə yetirmək qabiliyyəti onun əsas gücüdür.
O, ifadələri simvolik olaraq sadələşdirə, törəmələri, inteqralları və limitləri hesablaya, tənlikləri həll edə, matrislərlə qarşılıqlı əlaqə qura və daha çox şey edə bilər.
İştahınızı açmaq üçün burada simvolik gücün dadı var.
SymPy ilə başqa nə edə bilərsiniz?
Əlavə məsələlər haqqında dərindən fikirləşmək əvəzinə, icazə verin, bacarıqlarınızı artırmağınıza kömək edəcək resursların siyahısını sizə təqdim edim:
- Matrislər və xətti cəbr: Matrislərlə işləyə və əsas xətti cəbr əməliyyatlarını yerinə yetirə bilər. Dil NumPy sintaksisinə bənzəyir. Bununla belə, nəzərəçarpacaq fərqlər var. Başlamaq üçün, araşdırın matrisler kitabxanada.
- İfadə: O, ifadələri izləmək üçün ağac əsaslı struktur olan ifadə ağacından istifadə edir. Bax ifadə ağacları onların daxili işləri haqqında daha çox öyrənmək istəyirsinizsə.
- Törəmələr və İnteqrallar: Bu, giriş hesablama dərsində öyrənəcəyiniz şeylərin çoxunu yerinə yetirə bilər (mənfi düşüncə). Funksiyamıza baxaraq başlaya bilərsiniz fərqləndirmə SymPy-də.
- NumPy ilə əlaqə: NumPy və SymPy hər ikisi riyaziyyatla əlaqəli kitabxanalardır. Buna baxmayaraq, onlar mahiyyətcə fərqlidirlər! NumPy rəqəmlərlə işləyir, simvolik ifadələrlə işləyir.
- Sadələşdirmələr: İfadələri avtomatik sadələşdirmək üçün kifayət qədər ağıllıdır. Bununla belə, buna daha dəqiq nəzarət etmək istəyirsinizsə, ona baxın sadələşdirmələr.
Nəticə
SymPy simvolik riyaziyyat üçün güclü kitabxanadır.
Siz ondan dəyişənlər və funksiyalar yaratmaq, həmçinin riyazi ifadələri simvolik olaraq genişləndirmək və sadələşdirmək, tənlikləri, bərabərsizlikləri və hətta tənliklər/bərabərsizliklər sistemlərini həll etmək üçün istifadə edə bilərsiniz.
Siz funksiyaları həm skriptin mətnində, həm də birbaşa terminalda yaza bilərsiniz (və ya Jupyter noutbukları) yerinə yetirilən hesablamaların tez qiymətləndirilməsi və daha yaxşı qrafik təsviri əldə etmək.
SymPy-ni daha çox araşdırmağa hazırsınız? Şərhlərdə bizə bildirin.
Cavab yaz