ສາລະບານ[ເຊື່ອງ][ສະແດງ]
ບໍ່ມີວິຊາຄະນິດສາດ, ບໍ່ວ່າເຈົ້າເປັນນັກສຶກສາມະຫາວິທະຍາໄລ ຫຼືເຮັດວຽກໃນວິທະຍາສາດຂໍ້ມູນ.
ຄົນເຮົາອາດຈະໂຕ້ຖຽງວ່າວິທະຍາສາດຂໍ້ມູນແມ່ນປະເພດຂອງຄະນິດສາດ / ສະຖິຕິທີ່ໃຊ້ໄດ້. NumPy, SciPy, Scikit- ຮຽນຮູ້, ແລະ TensorFlow ແມ່ນພຽງແຕ່ສອງສາມຫ້ອງສະຫມຸດ Python ທີ່ຈັດການກັບຄະນິດສາດໃນປະລິມານ.
ຢ່າງໃດກໍຕາມ, ມີພຽງແຕ່ຄູ່ແຂ່ງຫນຶ່ງສໍາລັບການຈັດການກັບສັນຍາລັກທາງຄະນິດສາດຢ່າງຊັດເຈນ: SymPy.
ໃຫ້ຊອກຫາທັງຫມົດກ່ຽວກັບ SymPy.
ແມ່ນຫຍັງ SymPy?
SymPy ເປັນຫ້ອງສະໝຸດຄະນິດສາດທີ່ເປັນສັນຍາລັກຂອງ Python. ມັນປາດຖະຫນາທີ່ຈະເປັນລະບົບ algebra ຄອມພິວເຕີເຕັມຮູບແບບ (CAS) ໃນຂະນະທີ່ຮັກສາລະຫັດພື້ນຖານທີ່ເປັນໄປໄດ້ເພື່ອໃຫ້ເຂົ້າໃຈໄດ້ແລະຂະຫຍາຍໄດ້ງ່າຍ.
ມັນຖືກຂຽນຢ່າງເຕັມສ່ວນໃນ Python. ມັນງ່າຍດາຍທີ່ຈະໃຊ້ເນື່ອງຈາກວ່າມັນພຽງແຕ່ອີງໃສ່ mpmath, ຫໍສະຫມຸດ Python ບໍລິສຸດສໍາລັບການຄິດໄລ່ເລກທີ່ເລື່ອນໄດ້ໂດຍ arbitrary.
ໃນຖານະເປັນຫ້ອງສະຫມຸດ, ມັນຖືກສ້າງຂື້ນໂດຍເນັ້ນໃສ່ຄວາມສໍາຄັນໃນການນໍາໃຊ້ໃນໃຈ. Extensibility ແມ່ນສໍາຄັນໃນການອອກແບບຂອງການໂຕ້ຕອບໂຄງການຄໍາຮ້ອງສະຫມັກຂອງຕົນ (API).
ດັ່ງນັ້ນ, ມັນບໍ່ມີຄວາມພະຍາຍາມທີ່ຈະປັບປຸງພາສາ Python. ຈຸດປະສົງແມ່ນເພື່ອໃຫ້ຜູ້ໃຊ້ສາມາດນໍາໃຊ້ມັນຄຽງຄູ່ກັບການອື່ນໆ ຫ້ອງສະໝຸດ Python ໃນຂະບວນການເຮັດວຽກຂອງເຂົາເຈົ້າ, ບໍ່ວ່າຈະຢູ່ໃນສະພາບແວດລ້ອມແບບໂຕ້ຕອບຫຼືເປັນອົງປະກອບໂຄງການຂອງລະບົບຂະຫນາດໃຫຍ່.
SymPy, ເປັນຫ້ອງສະຫມຸດ, ຂາດກາຟິກໃນຕົວ user interface (GUI). ຫ້ອງສະຫມຸດແມ່ນ:
- ບໍ່ເສຍຄ່າ, ທັງກ່ຽວກັບການປາກເວົ້າແລະເບຍ, ເພາະວ່າມັນຖືກອະນຸຍາດພາຍໃຕ້ໃບອະນຸຍາດ BSD.
- Python-based: ມັນໄດ້ຖືກພັດທະນາທັງຫມົດໃນ Python ແລະຈ້າງ Python ເປັນພາສາຂອງມັນ.
- ນ້ໍາຫນັກເບົາເນື່ອງຈາກວ່າມັນພຽງແຕ່ອີງໃສ່ mpmath, ບໍລິສຸດ ຫ້ອງສະໝຸດ Python ສໍາລັບການຄິດໄລ່ຄະນິດສາດຈຸດເລື່ອນໂດຍຕົນເອງ, ເຮັດໃຫ້ມັນງ່າຍດາຍທີ່ຈະນໍາໃຊ້.
- ສາມາດຖືກລວມເຂົ້າໃນໂຄງການອື່ນໆແລະດັດແປງດ້ວຍຫນ້າທີ່ກໍາຫນົດເອງນອກເຫນືອຈາກການນໍາໃຊ້ເປັນເຄື່ອງມືການໂຕ້ຕອບ.
ເປັນຫຍັງຕ້ອງໃຊ້ SymPy?
Sage, ລະບົບ algebra ຄອມພິວເຕີ, ຍັງໃຊ້ Python ເປັນພາສາການຂຽນໂປຼແກຼມຂອງມັນ. ໃນທາງກົງກັນຂ້າມ, Sage ແມ່ນໃຫຍ່ຫຼວງ, ຮຽກຮ້ອງໃຫ້ມີການດາວໂຫຼດຫຼາຍກ່ວາ gigabyte. ມັນມີຜົນປະໂຫຍດຂອງການເປັນນ້ໍາຫນັກເບົາ.
ນອກເຫນືອຈາກຄວາມຫນາແຫນ້ນ, ມັນບໍ່ມີການເພິ່ງພາອາໄສອື່ນນອກເຫນືອຈາກ Python, ເຮັດໃຫ້ມັນສາມາດນໍາໃຊ້ໄດ້ຢູ່ທົ່ວທຸກແຫ່ງ.
ຍິ່ງໄປກວ່ານັ້ນ, ຈຸດປະສົງຂອງ Sage ແລະ SymPy ແມ່ນບໍ່ຄືກັນ. Sage ປາດຖະຫນາທີ່ຈະເປັນລະບົບຄະນິດສາດທີ່ມີຄຸນສົມບັດເຕັມຮູບແບບ, ແລະມັນເຮັດແນວນັ້ນໂດຍການລວມເອົາລະບົບຄະນິດສາດທີ່ເປີດແຫຼ່ງຕົ້ນຕໍທັງຫມົດເຂົ້າໄປໃນຫນຶ່ງ.
ເມື່ອທ່ານໃຊ້ຟັງຊັນ Sage, ເຊັ່ນ: ການລວມເຂົ້າກັນ, ມັນຮຽກເອົາອັນໜຶ່ງຂອງແພັກເກັດແຫຼ່ງເປີດທີ່ມັນມີຢູ່. ໃນຄວາມເປັນຈິງ, ມັນຖືກສ້າງຂຶ້ນໃນ Sage. SymPy, ໃນທາງກົງກັນຂ້າມ, ປາດຖະຫນາທີ່ຈະເປັນລະບົບທີ່ມີຕົວມັນເອງ, ດ້ວຍການທໍາງານທັງຫມົດທີ່ປະຕິບັດຢູ່ໃນຕົວຂອງມັນເອງ.
ຄວາມສາມາດຂອງຕົນໃນການເຮັດວຽກເປັນຫ້ອງສະຫມຸດເປັນລັກສະນະທີ່ສໍາຄັນ. ລະບົບ algebra ຄອມພິວເຕີຈໍານວນຫຼາຍແມ່ນຫມາຍຄວາມວ່າຈະຖືກນໍາໃຊ້ໃນສະພາບແວດລ້ອມການໂຕ້ຕອບ, ແຕ່ພວກເຂົາມີຄວາມຫຍຸ້ງຍາກທີ່ຈະອັດຕະໂນມັດຫຼືຂະຫຍາຍ.
ມັນສາມາດຖືກນໍາໃຊ້ແບບໂຕ້ຕອບໃນ Python ຫຼືນໍາເຂົ້າເຂົ້າໃນໂປຼແກຼມ Python ຂອງທ່ານເອງ. ມັນຍັງມີ APIs ເພື່ອຂະຫຍາຍມັນໄດ້ງ່າຍດ້ວຍກິດຈະວັດຂອງທ່ານເອງ.
ການຕິດຕັ້ງ SymPy
ພຽງແຕ່ໃຊ້ຄໍາສັ່ງຂ້າງລຸ່ມນີ້ເພື່ອຕິດຕັ້ງໃນສະພາບແວດລ້ອມຂອງທ່ານ.
ສັນຍາລັກ SymPy
ເລີ່ມຕົ້ນກັບມັນດຽວນີ້! ຈຸດປະສົງພື້ນຖານຂອງມັນແມ່ນສັນຍາລັກ. ໃນ SymPy, ທ່ານສາມາດສ້າງສັນຍາລັກ x ໂດຍການຂຽນ:
ລະຫັດຂ້າງເທິງສ້າງສັນຍາລັກ x. ສັນຍາລັກຢູ່ໃນມັນມີຈຸດປະສົງເພື່ອຈໍາລອງສັນຍາລັກທາງຄະນິດສາດທີ່ເປັນຕົວແທນຂອງຄ່າທີ່ບໍ່ຮູ້ຈັກ.
ດັ່ງນັ້ນ, ການຄິດໄລ່ດັ່ງຕໍ່ໄປນີ້ແມ່ນສະແດງໃຫ້ເຫັນຂ້າງລຸ່ມນີ້:
ດັ່ງທີ່ສະແດງຢູ່ຂ້າງເທິງ, ສັນຍາລັກ x ເຮັດວຽກຄ້າຍຄືກັນກັບຈໍານວນທີ່ບໍ່ຮູ້ຈັກ. ຖ້າເຈົ້າຢາກສ້າງສັນຍາລັກຈໍານວນຫຼາຍ, ໃຫ້ຂຽນດັ່ງຕໍ່ໄປນີ້:
ເຈົ້າໄດ້ສ້າງສອງສັນຍາລັກ, y, ແລະ z, ໃນເວລາດຽວກັນໃນກໍລະນີນີ້. ດຽວນີ້ສັນຍາລັກເຫຼົ່ານີ້ສາມາດຖືກເພີ່ມ, ລົບ, ຄູນ, ແລະແບ່ງຕາມທີ່ຕ້ອງການ:
ຟັງຊັນ SymPy
1. ການທໍາງານຂອງ sympify()
ວິທີການ sympify() ປ່ຽນການສະແດງອອກທີ່ມັກເປັນຕົວສະແດງອອກ SymPy. ມັນແປງວັດຖຸ Python ມາດຕະຖານເຊັ່ນ: ຈຳນວນເຕັມ.
Strings ຖືກປ່ຽນເປັນການສະແດງຜົນຂອງເຂົາເຈົ້າເຊັ່ນດຽວກັນກັບຈໍານວນເຕັມ, ແລະອື່ນໆ.
2. evalf() ການທໍາງານ
ຟັງຊັນນີ້ປະເມີນການສະແດງອອກຕົວເລກທີ່ລະບຸໄວ້ດ້ວຍຄວາມແມ່ນຍໍາຂອງຈຸດລອຍເຖິງ 100 ຕົວເລກ.
ຟັງຊັນດັ່ງກ່າວຍັງຍອມຮັບວັດຖຸວັດຈະນານຸກົມທີ່ມີຄ່າຕົວເລກສໍາລັບສັນຍາລັກເປັນອາກິວເມັນຍ່ອຍ. ພິຈາລະນາປະໂຫຍກຕໍ່ໄປນີ້:
ຄວາມຖືກຕ້ອງຂອງຈຸດລອຍແມ່ນຕັ້ງເປັນ 15 ຕົວເລກຕາມຄ່າເລີ່ມຕົ້ນ. ຢ່າງໃດກໍຕາມ, ນີ້ສາມາດປ່ຽນເປັນຕົວເລກລະຫວ່າງ 1 ຫາ 100.
ສົມຜົນຕໍ່ໄປນີ້ຖືກປະເມີນຄວາມແມ່ນຍໍາຂອງ 20 ຕົວເລກ.
3. ຟັງຊັນ Lambdify().
Lambdify ແມ່ນຟັງຊັນທີ່ປ່ຽນການສະແດງອອກຂອງມັນເຂົ້າໄປໃນຟັງຊັນ Python. ວິທີການ evalf() ບໍ່ມີປະສິດທິພາບເມື່ອປະເມີນການສະແດງອອກໃນທົ່ວຄ່າທີ່ຫຼາກຫຼາຍ.
Lambdify ເຮັດວຽກຄ້າຍຄືກັນກັບຟັງຊັນ lambda, ຍົກເວັ້ນວ່າມັນແປຊື່ SymPy ກັບຊື່ຂອງຫ້ອງສະຫມຸດຕົວເລກທີ່ສະຫນອງໃຫ້, ເຊິ່ງໂດຍທົ່ວໄປແມ່ນ NumPy.
ໂດຍຄ່າເລີ່ມຕົ້ນ, Lambdify ຖືກນໍາໃຊ້ກັບການປະຕິບັດຫ້ອງສະຫມຸດມາດຕະຖານຄະນິດສາດ.
ຄຸນລັກສະນະ
ມືຂອງລັກສະນະທີ່ສໍາຄັນທີ່ສຸດຂອງຫ້ອງສະຫມຸດໄດ້ຖືກລະບຸໄວ້ຢູ່ທີ່ນີ້; ມີຫຼາຍອັນທີ່ບໍ່ໄດ້ລວມ, ແຕ່ທ່ານສາມາດກວດເບິ່ງພວກມັນອອກໄດ້ ທີ່ນີ້.
1. ຄວາມສາມາດຫຼັກ
- ການຄິດໄລ່ພື້ນຖານ: +, -, *, /, ແລະຕົວປະຕິບັດການ ** ໄດ້ຮັບການສະຫນັບສະຫນູນ (ພະລັງງານ)
- ການຂະຫຍາຍພລິນາມ
- ຈຳນວນເຕັມ, ສົມເຫດສົມຜົນ, ແລະ floats ດ້ວຍຄວາມແມ່ນຍໍາ arbitrary
- ຟັງຊັນ trigonometric, hyperbolic, ແລະ exponential, ຮາກ, logarithms, ຄ່າຢ່າງແທ້ຈິງ, ກົມກົມ, ຟັງຊັນ factorial ແລະ gamma, ຟັງຊັນ zeta, polynomials, ແລະຟັງຊັນພິເສດ
- ສັນຍາລັກທີ່ບໍ່ປ່ຽນແປງ
- ຮູບແບບທີ່ກົງກັນ
2. ຄຳນວນ
- ການປະສົມປະສານ: ວິທີການນີ້ໃຊ້ heuristic Risch-Norman ຂະຫຍາຍ
- ຄວາມແຕກຕ່າງ.
- ຈໍາກັດຫນ້າທີ່
- ຊຸດຂອງ Laurent Taylor
3. ພະຫຸນາມ
- ພື້ນຖານ Gröbner
- ການເນົ່າເປື່ອຍຂອງເສດສ່ວນບາງສ່ວນ
- ພະແນກ, gcd ຜົນໄດ້ຮັບແມ່ນຕົວຢ່າງຂອງເລກຄະນິດສາດພື້ນຖານ.
4. Combinatorics
- ການອະນຸຍາດ
- ລະຫັດສີຂີ້ເຖົ່າແລະ Prufer
- ການປະສົມ, ການແບ່ງສ່ວນ, ຊຸດຍ່ອຍ
- Polyhedral, Rubik, Symmetric, ແລະກຸ່ມ Permutation ອື່ນໆ
5. ວິຊາຄະນິດສາດ
- ບົດສະຫຼຸບ
- ການສະແດງອອກຢ່າງມີເຫດຜົນ
- ຄ່າສໍາປະສິດ binomial
- ທິດສະດີເລກ
ຄໍາຮ້ອງສະຫມັກ
1. ເຄື່ອງຄິດເລກອາຄານ
2. ລະບົບພຶດຊະຄະນິດຄອມພິວເຕີ
ບໍ່ເຫມືອນກັບລະບົບພຶດຊະຄະນິດຄອມພິວເຕີອື່ນໆ, ທ່ານຕ້ອງປະກາດຕົວແປສັນຍາລັກຢູ່ໃນມັນດ້ວຍຕົນເອງໂດຍໃຊ້ຟັງຊັນ Symbol().
3. ຄຳນວນ
ຄວາມອາດສາມາດຂອງລະບົບການຄຳນວນທີ່ເປັນສັນຍາລັກເພື່ອເຮັດການຄຳນວນທຸກປະເພດທີ່ເປັນສັນຍາລັກແມ່ນຈຸດແຂງທີ່ສຳຄັນຂອງມັນ.
ມັນສາມາດເຮັດໃຫ້ຄໍາບັນຍາຍງ່າຍດາຍ, ໃນສັນຍາລັກ, ການຄິດໄລ່ອະນຸພັນ, ຜະລິດຕະພັນ, ແລະຈໍາກັດ, ແກ້ໄຂສົມຜົນ, ພົວພັນກັບ matrices, ແລະເຮັດໄດ້ຫຼາຍຫຼາຍ.
ເພື່ອຄວາມຢາກອາຫານຂອງເຈົ້າ, ນີ້ແມ່ນລົດຊາດຂອງພະລັງສັນຍາລັກ.
ເຈົ້າສາມາດເຮັດຫຍັງໄດ້ອີກກັບ SymPy?
ແທນທີ່ຈະ droneing ກ່ຽວກັບບັນຫາເພີ່ມເຕີມໃນຄວາມເລິກ, ຂໍໃຫ້ຂ້າພະເຈົ້າສະຫນອງບັນຊີລາຍຊື່ຂອງຊັບພະຍາກອນເພື່ອຊ່ວຍທ່ານເສີມຂະຫຍາຍທັກສະຂອງທ່ານ:
- Matrices ແລະ Linear Algebra: ມັນສາມາດເຮັດວຽກຮ່ວມກັບ matrices ແລະປະຕິບັດການດໍາເນີນງານພຶດຊະຄະນິດເສັ້ນຂັ້ນພື້ນຖານ. ພາສາແມ່ນຄ້າຍຄືກັນກັບ syntax ຂອງ NumPy. ຢ່າງໃດກໍຕາມ, ມີຄວາມແຕກຕ່າງທີ່ໂດດເດັ່ນ. ເພື່ອເລີ່ມຕົ້ນ, ສືບສວນ ມະຫາວິທະຍາໄລ ໃນຫ້ອງສະຫມຸດ.
- ການສະແດງອອກ: ມັນໃຊ້ຕົ້ນໄມ້ທີ່ສະແດງອອກ, ເຊິ່ງເປັນໂຄງສ້າງທີ່ອີງໃສ່ຕົ້ນໄມ້, ເພື່ອຕິດຕາມການສະແດງອອກ. ເບິ່ງທີ່ ຕົ້ນໄມ້ສະແດງອອກ ຖ້າທ່ານຕ້ອງການຮຽນຮູ້ເພີ່ມເຕີມກ່ຽວກັບການເຮັດວຽກພາຍໃນຂອງພວກເຂົາ.
- ອະນຸພັນ ແລະ ການປະສົມປະສານ: ມັນສາມາດເຮັດສຳເລັດສິ່ງທີ່ເຈົ້າຢາກໄດ້ຮຽນຮູ້ໃນຫ້ອງຮຽນການຄິດໄລ່ເບື້ອງຕົ້ນ (ລົບຄວາມຄິດ). ທ່ານສາມາດເລີ່ມຕົ້ນໂດຍການເບິ່ງຫນ້າທີ່ຂອງພວກເຮົາ ຄວາມແຕກຕ່າງ ໃນ SymPy.
- ຄວາມສໍາພັນກັບ NumPy: NumPy ແລະ SymPy ແມ່ນທັງຫ້ອງສະໝຸດທີ່ກ່ຽວຂ້ອງກັບຄະນິດສາດ. ພວກເຂົາເຈົ້າແມ່ນ, ຢ່າງໃດກໍຕາມ, ທີ່ສໍາຄັນທີ່ແຕກຕ່າງກັນ! NumPy ເຮັດວຽກກັບຕົວເລກ, ໃນຂະນະທີ່ມັນເຮັດວຽກກັບການສະແດງອອກທີ່ເປັນສັນຍາລັກ.
- ຄວາມງ່າຍດາຍ: ມັນເປັນອັດສະລິຍະພຽງພໍທີ່ຈະເຮັດໃຫ້ການສະແດງອອກງ່າຍຂຶ້ນໂດຍອັດຕະໂນມັດ. ຢ່າງໃດກໍຕາມ, ຖ້າທ່ານຕ້ອງການການຄວບຄຸມທີ່ລະອຽດກວ່ານີ້, ເບິ່ງມັນ ຄວາມລຽບງ່າຍ.
ສະຫຼຸບ
SymPy ເປັນຫ້ອງສະຫມຸດທີ່ມີປະສິດທິພາບສໍາລັບຄະນິດສາດທີ່ເປັນສັນຍາລັກ.
ທ່ານສາມາດນໍາໃຊ້ມັນເພື່ອສ້າງຕົວປ່ຽນແປງແລະຫນ້າທີ່, ເຊັ່ນດຽວກັນກັບສັນຍາລັກຂະຫຍາຍແລະເຮັດໃຫ້ຄໍາບັນຍາຍທາງຄະນິດສາດງ່າຍແລະແກ້ໄຂສົມຜົນ, ບໍ່ເທົ່າທຽມກັນ, ແລະແມ້ກະທັ້ງລະບົບຂອງສົມຜົນ / ບໍ່ເທົ່າທຽມກັນ.
ທ່ານສາມາດຂຽນຫນ້າທີ່ທັງໃນຂໍ້ຄວາມຂອງ script ແລະໂດຍກົງຢູ່ໃນ terminal (ຫຼື ປື້ມບັນທຶກ Jupyter) ເພື່ອໃຫ້ໄດ້ຮັບການປະເມີນຜົນຢ່າງວ່ອງໄວແລະຮູບພາບທີ່ດີກວ່າການອະທິບາຍຂອງຄໍານວນທີ່ເຮັດໄດ້.
ເຈົ້າພ້ອມທີ່ຈະສຳຫຼວດ SymPy ເພີ່ມເຕີມບໍ? ໃຫ້ພວກເຮົາຮູ້ໃນຄໍາເຫັນ.
ອອກຈາກ Reply ເປັນ