Jadual Kandungan[Sembunyi][Tunjukkan]
Tiada peluang untuk menguasai matematik, sama ada anda seorang pelajar universiti atau bekerja dalam sains data.
Seseorang mungkin juga berpendapat bahawa sains data ialah sejenis matematik/statistik gunaan. NumPy, SciPy, Scikit-Belajar, dan TensorFlow hanyalah beberapa perpustakaan Python yang berurusan dengan matematik secara kuantitatif.
Walau bagaimanapun, terdapat hanya satu pesaing untuk secara eksplisit berurusan dengan simbol matematik: SymPy.
Mari kita ketahui semua tentang SymPy.
Apakah SymPy?
SymPy ialah perpustakaan matematik simbolik Python. Ia bercita-cita untuk menjadi sistem algebra komputer (CAS) berciri penuh sambil mengekalkan kod sebagai asas yang mungkin untuk difahami dan mudah dikembangkan.
Ia ditulis sepenuhnya dalam Python. Ia mudah digunakan kerana ia hanya bergantung pada mpmath, perpustakaan Python tulen untuk aritmetik titik terapung sewenang-wenangnya.
Sebagai perpustakaan, ia dicipta dengan penekanan yang ketara pada kebolehgunaan dalam fikiran. Kebolehlanjutan adalah penting dalam reka bentuk antara muka program aplikasi (API).
Akibatnya, ia tidak membuat percubaan untuk meningkatkan bahasa Python. Objektifnya adalah untuk pengguna dapat menggunakannya bersama yang lain Perpustakaan Python dalam aliran kerja mereka, sama ada dalam persekitaran interaktif atau sebagai komponen terprogram sistem yang lebih besar.
SymPy, sebagai perpustakaan, tidak mempunyai grafik terbina dalam antara muka pengguna (GUI). Perpustakaan ialah:
- Percuma, kedua-duanya mengenai pertuturan dan bir, kerana ia dilesenkan di bawah lesen BSD.
- Berasaskan Python: Ia dibangunkan sepenuhnya dalam Python dan menggunakan Python sebagai bahasanya.
- Ringan kerana ia hanya bergantung pada mpmath, yang tulen Perpustakaan Python untuk aritmetik titik terapung sewenang-wenangnya, menjadikannya mudah untuk digunakan.
- Boleh dimasukkan ke dalam program lain dan diubah suai dengan fungsi tersuai selain digunakan sebagai alat interaktif.
Mengapa menggunakan SymPy?
Sage, sistem algebra komputer, juga menggunakan Python sebagai bahasa pengaturcaraannya. Sage, sebaliknya, sangat besar, memerlukan muat turun lebih daripada gigabait. Ia mempunyai faedah menjadi ringan.
Selain padat, ia tidak mempunyai kebergantungan selain Python, membolehkan ia digunakan secara praktikal di mana-mana.
Tambahan pula, matlamat Sage dan SymPy tidak sama. Sage bercita-cita untuk menjadi sistem matematik berciri penuh, dan ia melakukannya dengan menggabungkan semua sistem matematik sumber terbuka utama menjadi satu.
Apabila anda menggunakan fungsi Sage, seperti integrate, ia menggunakan salah satu pakej sumber terbuka yang terkandung di dalamnya. Pada hakikatnya, ia dibina ke dalam Sage. SymPy, sebaliknya, bercita-cita untuk menjadi sistem serba lengkap, dengan semua fungsi dilaksanakan di dalamnya sendiri.
Keupayaannya untuk berfungsi sebagai perpustakaan adalah ciri penting. Banyak sistem algebra komputer dimaksudkan untuk digunakan dalam persekitaran interaktif, tetapi mereka sukar untuk mengautomasikan atau mengembangkan.
Ia boleh digunakan secara interaktif dalam Python atau diimport ke dalam program Python anda sendiri. Ia juga mempunyai API untuk memudahkan memperluaskannya dengan rutin anda sendiri.
Memasang SymPy
Hanya gunakan arahan di bawah untuk memasang dalam persekitaran anda.
Simbol SymPy
Mari mulakan dengannya sekarang! Objek asasnya ialah simbol. Dalam SymPy, anda boleh menjana simbol x dengan menulis:
Kod di atas menjana simbol x. Simbol di dalamnya bertujuan untuk meniru simbol matematik yang mewakili nilai yang tidak diketahui.
Hasilnya, pengiraan berikut ditunjukkan di bawah:
Seperti yang ditunjukkan di atas, simbol x berfungsi sama dengan jumlah yang tidak diketahui. Jika anda ingin membuat banyak simbol, tuliskannya seperti berikut:
Anda mencipta dua simbol, y dan z, pada masa yang sama dalam kes ini. Simbol-simbol ini kini boleh ditambah, ditolak, didarab dan dibahagikan mengikut kehendak:
Fungsi SymPy
1. fungsi sympify().
Kaedah sympify() mengubah ungkapan arbitrari menjadi ungkapan SymPy. Ia menukar objek Python standard, seperti integer.
Rentetan ditukar kepada ekspresinya serta integer, dsb.
2. fungsi evalf().
Fungsi ini menilai ungkapan berangka yang ditentukan dengan ketepatan titik terapung sehingga 100 digit.
Fungsi ini juga menerima objek kamus dengan nilai berangka untuk simbol sebagai hujah subs. Pertimbangkan frasa berikut:
Ketepatan titik terapung ditetapkan kepada 15 digit secara lalai. Walau bagaimanapun, ini boleh ditukar kepada sebarang nombor antara 1 dan 100.
Persamaan berikut dinilai dengan ketepatan 20 digit.
3. Fungsi Lambdify().
Lambdify ialah fungsi yang menukar ekspresinya kepada fungsi Python. Kaedah evalf() tidak cekap apabila menilai ungkapan merentas pelbagai nilai.
Lambdify berfungsi sama dengan fungsi lambda, kecuali ia menterjemahkan nama SymPy kepada nama pustaka berangka yang disediakan, yang biasanya NumPy.
Secara lalai, Lambdify digunakan pada pelaksanaan perpustakaan standard matematik.
Ciri-ciri
Sebilangan kecil ciri perpustakaan yang paling penting disenaraikan di sini; terdapat banyak lagi yang tidak disertakan, tetapi anda boleh menyemaknya disini.
1. Keupayaan Teras
- Aritmetik asas: +, -, *, /, dan ** operator disokong (kuasa)
- Pengembangan polinomial
- Integer, rasional dan terapung dengan ketepatan sewenang-wenangnya
- Fungsi trigonometri, hiperbolik dan eksponen, punca, logaritma, nilai mutlak, harmonik sfera, fungsi faktorial dan gamma, fungsi zeta, polinomial dan fungsi khas
- Simbol yang tidak komutatif
- Corak padan
2. Kalkulus
- Penyepaduan: Kaedah ini menggunakan heuristik Risch-Norman yang diperluaskan
- Pembezaan.
- Hadkan fungsi
- Siri Laurent Taylor
3. Polinomial
- asas Gröbner
- Penguraian pecahan separa
- Pembahagian, gcd Hasil adalah contoh aritmetik asas.
4. Kombinatorik
- Permutasi
- Kod Kelabu dan Prufer
- Gabungan, Pembahagian, Subset
- Polihedral, Rubik, Symmetric, dan Kumpulan Pilihatur Lain
5. Matematik Diskret
- Rumusan
- Ungkapan logik
- Pekali binomial
- Teori nombor
Aplikasi
1. Kalkulator Bangunan
2. Sistem Algebra Komputer
Tidak seperti Sistem Algebra Komputer yang lain, anda mesti mengisytiharkan pembolehubah simbolik di dalamnya secara manual menggunakan fungsi Symbol().
3. Kalkulus
Keupayaan sistem pengiraan simbolik untuk melakukan semua jenis pengiraan secara simbolik adalah kekuatan utamanya.
Ia boleh memudahkan penyataan, secara simbolik, mengira derivatif, kamiran dan had, menyelesaikan persamaan, berinteraksi dengan matriks dan melakukan banyak lagi.
Untuk membangkitkan selera anda, inilah rasa kuasa simbolik.
Apa Lagi Yang Boleh Anda Lakukan Dengan SymPy?
Daripada memikirkan isu tambahan secara mendalam, izinkan saya memberikan anda senarai sumber untuk membantu anda meningkatkan kemahiran anda:
- Matriks dan Algebra Linear: Ia boleh berfungsi dengan matriks dan melaksanakan operasi algebra linear asas. Bahasa ini serupa dengan sintaks NumPy. Walau bagaimanapun, terdapat perbezaan yang ketara. Untuk memulakan, siasat matriks dalam perpustakaan.
- Ungkapan: Ia memanfaatkan pokok ekspresi, yang merupakan struktur berasaskan pokok, untuk menjejaki ungkapan. Lihat pada pokok ekspresi jika anda ingin mengetahui lebih lanjut tentang kerja dalaman mereka.
- Terbitan dan Kamiran: Ia boleh mencapai kebanyakan perkara yang anda pelajari dalam kelas kalkulus pengenalan (tolak pemikiran). Anda boleh mulakan dengan melihat fungsi kami pembezaan dalam SymPy.
- Hubungan dengan NumPy: NumPy dan SymPy adalah kedua-dua perpustakaan berkaitan matematik. Mereka, bagaimanapun, pada asasnya berbeza! NumPy berfungsi dengan nombor, manakala ia berfungsi dengan ungkapan simbolik.
- Permudahan: Ia cukup pintar untuk memudahkan ungkapan secara automatik. Walau bagaimanapun, jika anda mahukan kawalan yang lebih terperinci ke atas perkara ini, lihat padanya penyederhanaan.
Kesimpulan
SymPy ialah perpustakaan yang berkuasa untuk matematik simbolik.
Anda boleh menggunakannya untuk mencipta pembolehubah dan fungsi, serta memanjangkan dan memudahkan penyataan matematik secara simbolik dan menyelesaikan persamaan, ketaksamaan dan juga sistem persamaan/ketaksamaan.
Anda boleh menulis fungsi kedua-dua dalam teks skrip dan terus dalam terminal (atau Buku nota Jupyter) untuk mendapatkan penilaian pantas dan gambaran grafik yang lebih baik bagi pengiraan yang dilakukan.
Adakah anda bersedia untuk meneroka lebih banyak SymPy? Beritahu kami dalam ulasan.
Sila tinggalkan balasan anda