Daftar Isi[Bersembunyi][Menunjukkan]
Tidak ada jalan keluar dari matematika, baik Anda seorang mahasiswa atau bekerja dalam ilmu data.
Orang bahkan mungkin berpendapat bahwa ilmu data adalah jenis matematika/statistik terapan. NumPy, SciPy, Scikit-Belajar, dan TensorFlow hanyalah beberapa dari pustaka Python yang berhubungan dengan matematika secara kuantitatif.
Namun, hanya ada satu pesaing untuk secara eksplisit berurusan dengan simbol matematika: SymPy.
Mari cari tahu semua tentang SymPy.
Apa itu SimPy?
SymPy adalah perpustakaan matematika simbolis Python. Ini bercita-cita untuk menjadi sistem aljabar komputer (CAS) berfitur lengkap sambil menjaga kode sesederhana mungkin agar dapat dimengerti dan mudah diperluas.
Itu sepenuhnya ditulis dengan Python. Ini mudah digunakan karena hanya bergantung pada mpmath, pustaka Python murni untuk aritmatika floating-point sewenang-wenang.
Sebagai perpustakaan, itu dibuat dengan penekanan signifikan pada kegunaan dalam pikiran. Ekstensibilitas sangat penting dalam desain antarmuka program aplikasi (API).
Akibatnya, tidak ada upaya untuk meningkatkan bahasa Python. Tujuannya adalah agar pengguna dapat menggunakannya bersama dengan yang lain Pustaka Python dalam alur kerja mereka, baik dalam lingkungan interaktif atau sebagai komponen terprogram dari sistem yang lebih besar.
SymPy, sebagai perpustakaan, tidak memiliki grafik bawaan user interface (GUI). perpustakaan adalah:
- Gratis, baik mengenai pidato maupun bir, karena dilisensikan di bawah lisensi BSD.
- Berbasis Python: Ini benar-benar dikembangkan dengan Python dan menggunakan Python sebagai bahasanya.
- Ringan karena hanya mengandalkan mpmath, yang murni Pustaka Python untuk aritmatika floating-point sewenang-wenang, membuatnya mudah digunakan.
- Dapat dimasukkan ke dalam program lain dan dimodifikasi dengan fungsi khusus selain digunakan sebagai alat interaktif.
Mengapa menggunakan SymPy?
Sage, sistem aljabar komputer, juga menggunakan Python sebagai bahasa pemrogramannya. Sage, di sisi lain, sangat besar, membutuhkan unduhan lebih dari satu gigabyte. Ini memiliki manfaat menjadi ringan.
Selain kompak, ia tidak memiliki ketergantungan selain Python, memungkinkannya untuk digunakan secara praktis di mana saja.
Selain itu, tujuan Sage dan SymPy tidak sama. Sage bercita-cita menjadi sistem matematika berfitur lengkap, dan ia melakukannya dengan menggabungkan semua sistem matematika sumber terbuka utama menjadi satu.
Saat Anda menggunakan fungsi Sage, seperti integrasi, itu memanggil salah satu paket sumber terbuka yang dikandungnya. Pada kenyataannya, itu dibangun ke dalam Sage. SymPy, di sisi lain, bercita-cita untuk menjadi sistem mandiri, dengan semua fungsi yang diterapkan di dalamnya sendiri.
Kapasitasnya untuk berfungsi sebagai perpustakaan merupakan fitur penting. Banyak sistem aljabar komputer dimaksudkan untuk digunakan dalam lingkungan interaktif, tetapi sulit untuk diotomatisasi atau diperluas.
Itu dapat digunakan secara interaktif dengan Python atau diimpor ke program Python Anda sendiri. Ini juga memiliki API untuk memperluasnya dengan rutinitas Anda sendiri.
Menginstal SymPy
Cukup gunakan perintah di bawah ini untuk menginstal di lingkungan Anda.
Simbol SymPy
Mari kita mulai sekarang! Objek dasarnya adalah simbol. Di SymPy, Anda dapat membuat simbol x dengan menulis:
Kode di atas menghasilkan simbol x. Simbol di dalamnya dimaksudkan untuk meniru simbol matematika yang mewakili nilai yang tidak diketahui.
Hasilnya, perhitungan berikut ditunjukkan di bawah ini:
Seperti yang ditunjukkan di atas, simbol x berfungsi mirip dengan jumlah yang tidak diketahui. Jika Anda ingin membuat banyak simbol, tuliskan sebagai berikut:
Anda membuat dua simbol, y, dan z, pada saat yang sama dalam kasus ini. Simbol-simbol ini sekarang dapat ditambahkan, dikurangi, dikalikan, dan dibagi sesuai keinginan:
Fungsi SymPy
1. sympify() fungsi
Metode sympify() mengubah ekspresi arbitrer menjadi ekspresi SymPy. Ini mengubah objek Python standar, seperti bilangan bulat.
String ditransformasikan ke ekspresi mereka serta bilangan bulat, dll.
2. fungsi evaluasi ()
Fungsi ini mengevaluasi ekspresi numerik tertentu dengan presisi floating-point hingga 100 digit.
Fungsi ini juga menerima objek kamus dengan nilai numerik untuk simbol sebagai argumen subs. Perhatikan ungkapan berikut:
Akurasi floating-point diatur ke 15 digit secara default. Namun, ini dapat diubah ke angka apa pun antara 1 dan 100.
Persamaan berikut dievaluasi dengan ketelitian 20 digit.
3. Fungsi Lambdify()
Lambdify adalah fungsi yang mengubah ekspresinya menjadi fungsi Python. Metode evalf() tidak efisien saat mengevaluasi ekspresi di berbagai nilai.
Lambdify bekerja mirip dengan fungsi lambda, kecuali bahwa itu menerjemahkan nama SymPy ke nama perpustakaan numerik yang disediakan, yang umumnya NumPy.
Secara default, Lambdify diterapkan pada implementasi library standar matematika.
Fitur
Beberapa fitur perpustakaan yang paling signifikan tercantum di sini; ada banyak lagi yang tidak termasuk, tetapi Anda dapat memeriksanya di sini.
1. Kemampuan Inti
- Aritmatika dasar: +, -, *, /, dan ** operator didukung (daya)
- Ekspansi polinomial
- Bilangan bulat, rasional, dan float dengan presisi arbitrer
- Fungsi trigonometri, hiperbolik, dan eksponensial, akar, logaritma, nilai absolut, harmonik bola, faktorial dan fungsi gamma, fungsi zeta, polinomial, dan fungsi khusus
- Simbol yang tidak komutatif
- Pola yang cocok
2. Kalkulus
- Integrasi: Metode ini menggunakan heuristik Risch-Norman yang diperluas
- Diferensiasi.
- Batasi fungsi
- Seri Laurent Taylor
3. Polinomial
- Yayasan Gröbner
- Penguraian pecahan parsial
- Pembagian, gcd Resultan adalah contoh aritmatika dasar.
4. Kombinatorik
- Permutasi
- Kode Gray dan Prufer
- Kombinasi, Partisi, Subset
- Grup Permutasi Polihedral, Rubik, Simetris, dan Lainnya
5. Matematika Diskrit
- penjumlahan
- Ekspresi logis
- Koefisien binomial
- Teori bilangan
Aplikasi
1. Membangun Kalkulator
2. Sistem Aljabar Komputer
Tidak seperti Sistem Aljabar Komputer lainnya, Anda harus mendeklarasikan variabel simbolik secara manual di dalamnya menggunakan fungsi Symbol().
3. Kalkulus
Kapasitas sistem komputasi simbolik untuk melakukan segala macam komputasi secara simbolis adalah kekuatan utamanya.
Ini dapat menyederhanakan pernyataan, secara simbolis, menghitung turunan, integral, dan limit, menyelesaikan persamaan, berinteraksi dengan matriks, dan melakukan lebih banyak lagi.
Untuk membangkitkan selera Anda, inilah rasa kekuatan simbolis.
Apa Lagi Yang Dapat Anda Lakukan Dengan SymPy?
Daripada mengoceh tentang masalah tambahan secara mendalam, izinkan saya memberi Anda daftar sumber daya untuk membantu Anda meningkatkan keterampilan Anda:
- Matriks dan Aljabar Linier: Ia dapat bekerja dengan matriks dan melakukan operasi aljabar linier dasar. Bahasanya mirip dengan sintaks NumPy. Namun, ada perbedaan yang mencolok. Untuk memulai, selidiki Matriks di perpustakaan.
- Ekspresi: Ini memanfaatkan pohon ekspresi, yang merupakan struktur berbasis pohon, untuk melacak ekspresi. Melihat pohon ekspresi jika Anda ingin mempelajari lebih lanjut tentang cara kerja mereka.
- Turunan dan Integral: Ini dapat menyelesaikan sebagian besar dari apa yang akan Anda pelajari di kelas pengantar kalkulus (dikurangi pemikiran). Anda dapat mulai dengan melihat fungsi kami diferensiasi di SymPy.
- Hubungan dengan NumPy: NumPy dan SymPy keduanya perpustakaan yang berhubungan dengan matematika. Mereka, bagaimanapun, pada dasarnya berbeda! NumPy bekerja dengan angka, sedangkan bekerja dengan ekspresi simbolis.
- Penyederhanaan: Cukup cerdas untuk menyederhanakan ekspresi secara otomatis. Namun, jika Anda ingin kontrol yang lebih halus atas ini, lihat penyederhanaan.
Kesimpulan
SymPy adalah perpustakaan yang kuat untuk matematika simbolik.
Anda dapat menggunakannya untuk membuat variabel dan fungsi, serta secara simbolis memperluas dan menyederhanakan pernyataan matematika dan menyelesaikan persamaan, pertidaksamaan, dan bahkan sistem persamaan/pertidaksamaan.
Anda dapat menulis fungsi baik dalam teks skrip dan langsung di terminal (atau Notebook Jupyter) untuk mendapatkan penilaian cepat dan penggambaran grafis yang lebih baik dari perhitungan yang dilakukan.
Apakah Anda siap untuk menjelajahi lebih banyak SymPy? Beri tahu kami di komentar.
Tinggalkan Balasan