สารบัญ[ซ่อน][แสดง]
ไม่มีความรู้เรื่องคณิตศาสตร์ ไม่ว่าคุณจะเป็นนักศึกษามหาวิทยาลัยหรือทำงานด้านวิทยาศาสตร์ข้อมูล
บางคนอาจโต้แย้งว่าวิทยาศาสตร์ข้อมูลเป็นประเภทของคณิตศาสตร์/สถิติประยุกต์ NumPy, SciPy, Scikit-เรียนรู้และ TensorFlow เป็นห้องสมุด Python เพียงไม่กี่แห่งที่จัดการกับคณิตศาสตร์เชิงปริมาณ
อย่างไรก็ตาม มีคู่แข่งเพียงรายเดียวในการจัดการกับสัญลักษณ์ทางคณิตศาสตร์อย่างชัดเจน: SymPy
มาหาข้อมูลทั้งหมดเกี่ยวกับ SymPy
ความหมายของ ซิมพี?
SymPy เป็นไลบรารีคณิตศาสตร์เชิงสัญลักษณ์ของ Python มันมุ่งหวังที่จะเป็นระบบพีชคณิตของคอมพิวเตอร์ (CAS) ที่มีคุณสมบัติครบถ้วนในขณะที่รักษาโค้ดให้เป็นพื้นฐานที่สุดเท่าที่จะเป็นไปได้เพื่อให้เข้าใจและขยายได้ง่าย
มันเขียนด้วยภาษาไพธอนอย่างสมบูรณ์ มันใช้งานง่ายเพราะอาศัยเพียง mpmath ซึ่งเป็นไลบรารี Python แท้สำหรับการคำนวณเลขทศนิยมตามอำเภอใจ
ห้องสมุดถูกสร้างขึ้นโดยเน้นที่การใช้งานเป็นหลัก ความสามารถในการขยายเป็นสิ่งสำคัญในการออกแบบอินเทอร์เฟซโปรแกรมแอปพลิเคชัน (API)
ด้วยเหตุนี้ จึงไม่มีความพยายามที่จะปรับปรุงภาษา Python มีวัตถุประสงค์เพื่อให้ผู้ใช้สามารถใช้ควบคู่ไปกับผู้อื่นได้ ไลบรารี Python ในเวิร์กโฟลว์ของพวกเขา ไม่ว่าจะในสภาพแวดล้อมแบบโต้ตอบหรือเป็นส่วนประกอบที่ตั้งโปรแกรมไว้ของระบบที่ใหญ่ขึ้น
SymPy ในฐานะห้องสมุดไม่มีกราฟิกในตัว ส่วนติดต่อผู้ใช้ (กุย). ห้องสมุดคือ:
- ฟรีทั้งเรื่องการพูดและเบียร์เพราะได้รับอนุญาตภายใต้ใบอนุญาต BSD
- แบบไพธอน: มันถูกพัฒนาโดยสิ้นเชิงในไพธอนและใช้ไพธอนเป็นภาษาของมัน
- น้ำหนักเบาเพราะอาศัยเพียง mpmath บริสุทธิ์ ห้องสมุดไพทอน สำหรับเลขทศนิยมตามอำเภอใจ ทำให้ง่ายต่อการใช้งาน
- สามารถรวมเข้ากับโปรแกรมอื่น ๆ และแก้ไขด้วยฟังก์ชั่นที่กำหนดเองได้ นอกเหนือจากการใช้เป็นเครื่องมือแบบโต้ตอบ
ทำไมต้องใช้ SymPy?
Sage ซึ่งเป็นระบบพีชคณิตของคอมพิวเตอร์ ยังใช้ Python เป็นภาษาโปรแกรมด้วย ในทางกลับกัน Sage นั้นมีขนาดใหญ่มาก โดยต้องดาวน์โหลดมากกว่ากิกะไบต์ มันมีประโยชน์ในการมีน้ำหนักเบา
นอกจากจะมีขนาดกะทัดรัดแล้ว มันไม่มีการพึ่งพาอื่นใดนอกจาก Python ทำให้สามารถใช้งานได้จริงทุกที่
นอกจากนี้ จุดมุ่งหมายของ Sage และ SymPy ไม่เหมือนกัน Sage ปรารถนาที่จะเป็นระบบคณิตศาสตร์ที่มีคุณสมบัติครบถ้วน และทำได้โดยการรวมระบบคณิตศาสตร์โอเพนซอร์สหลักทั้งหมดเข้าไว้ด้วยกัน
เมื่อคุณใช้ฟังก์ชัน Sage เช่น Integrate ฟังก์ชันจะเรียกใช้หนึ่งในแพ็คเกจโอเพนซอร์ซที่มีอยู่ ในความเป็นจริง มันถูกสร้างขึ้นใน Sage ในทางกลับกัน SymPy ปรารถนาที่จะเป็นระบบที่มีทุกอย่างในตัวเอง โดยมีฟังก์ชันการทำงานทั้งหมดในตัวมันเอง
ความสามารถในการทำหน้าที่เป็นห้องสมุดเป็นคุณลักษณะที่สำคัญ ระบบพีชคณิตของคอมพิวเตอร์จำนวนมากมีไว้เพื่อใช้ในสภาพแวดล้อมแบบโต้ตอบ แต่ระบบอัตโนมัติหรือขยายทำได้ยาก
สามารถใช้โต้ตอบใน Python หรือนำเข้าสู่โปรแกรม Python ของคุณเอง นอกจากนี้ยังมี API เพื่อให้ง่ายต่อการขยายด้วยกิจวัตรของคุณเอง
การติดตั้ง SymPy
เพียงใช้คำสั่งด้านล่างเพื่อติดตั้งในสภาพแวดล้อมของคุณ
สัญลักษณ์ SymPy
มาเริ่มกันเลยดีกว่า! วัตถุพื้นฐานของมันคือสัญลักษณ์ ใน SymPy คุณสามารถสร้างสัญลักษณ์ x ได้โดยการเขียน:
รหัสด้านบนสร้างสัญลักษณ์ x สัญลักษณ์ในนั้นมีวัตถุประสงค์เพื่อเลียนแบบสัญลักษณ์ทางคณิตศาสตร์ที่แสดงค่าที่ไม่รู้จัก
เป็นผลให้การคำนวณต่อไปนี้แสดงด้านล่าง:
ดังที่แสดงไว้ด้านบน สัญลักษณ์ x ทำงานคล้ายกับจำนวนที่ไม่ทราบ หากคุณต้องการสร้างสัญลักษณ์จำนวนมาก ให้เขียนดังนี้:
คุณสร้างสองสัญลักษณ์ y และ z ในเวลาเดียวกันในกรณีนี้ สัญลักษณ์เหล่านี้สามารถเพิ่ม ลบ คูณ และหารได้ตามต้องการ:
ฟังก์ชัน SymPy
1. ฟังก์ชัน sympify()
วิธี sympify () แปลงนิพจน์ที่กำหนดเองเป็นนิพจน์ SymPy มันแปลงอ็อบเจ็กต์ Python มาตรฐาน เช่น จำนวนเต็ม
สตริงจะถูกแปลงเป็นนิพจน์เช่นเดียวกับจำนวนเต็ม ฯลฯ
2. ฟังก์ชัน evalf()
ฟังก์ชันนี้ประเมินนิพจน์ตัวเลขที่ระบุด้วยความแม่นยำจุดทศนิยมสูงสุด 100 หลัก
ฟังก์ชันนี้ยังยอมรับอ็อบเจกต์พจนานุกรมที่มีค่าตัวเลขสำหรับสัญลักษณ์เป็นอาร์กิวเมนต์ย่อยอีกด้วย พิจารณาวลีต่อไปนี้:
ความแม่นยำของจุดทศนิยมถูกตั้งค่าเป็น 15 หลักโดยค่าเริ่มต้น อย่างไรก็ตาม ค่านี้สามารถเปลี่ยนเป็นตัวเลขใดก็ได้ตั้งแต่ 1 ถึง 100
สมการต่อไปนี้ได้รับการประเมินให้มีความแม่นยำ 20 หลัก
3. ฟังก์ชั่น Lambdify()
Lambdify เป็นฟังก์ชันที่แปลงนิพจน์เป็นฟังก์ชัน Python วิธี evalf() นั้นไม่มีประสิทธิภาพเมื่อประเมินนิพจน์ในค่าที่หลากหลาย
Lambdify ทำงานคล้ายกับฟังก์ชันแลมบ์ดา ยกเว้นว่าจะแปลชื่อ SymPy เป็นชื่อของไลบรารีตัวเลขที่ให้ไว้ ซึ่งโดยทั่วไปคือ NumPy
ตามค่าเริ่มต้น Lambdify จะถูกนำไปใช้กับการใช้งานไลบรารีมาตรฐานทางคณิตศาสตร์
คุณสมบัติ
คุณลักษณะที่สำคัญที่สุดจำนวนหนึ่งของห้องสมุดแสดงอยู่ที่นี่ ยังมีอีกมากที่ไม่รวมอยู่ แต่คุณสามารถตรวจสอบได้ โปรดคลิกที่นี่เพื่ออ่านรายละเอียดเพิ่มเติม.
1. ความสามารถหลัก
- เลขคณิตพื้นฐาน: รองรับตัวดำเนินการ +, -, *, / และ ** (กำลัง)
- การขยายพหุนาม
- จำนวนเต็ม ตรรกยะ และทศนิยมด้วยความแม่นยำตามอำเภอใจ
- ฟังก์ชันตรีโกณมิติ ไฮเปอร์โบลิก และเอ็กซ์โปเนนเชียล รูต ลอการิทึม ค่าสัมบูรณ์ ฮาร์โมนิกทรงกลม แฟกทอเรียลและฟังก์ชันแกมมา ฟังก์ชันซีตา พหุนาม และฟังก์ชันพิเศษ
- สัญลักษณ์ที่ไม่สับเปลี่ยน
- รูปแบบการจับคู่
2. แคลคูลัส
- บูรณาการ: วิธีนี้ใช้การวิเคราะห์พฤติกรรมแบบ Risch-Norman แบบขยาย
- การเปลี่ยนแปลง
- ฟังก์ชันจำกัด
- ซีรีส์ของ Laurent Taylor
3. พหุนาม
- มูลนิธิGröbner
- การสลายตัวของเศษส่วนบางส่วน
- หาร gcd ผลลัพธ์เป็นตัวอย่างของเลขคณิตพื้นฐาน
4. คอมบิเนทอริกส์
- เรียงสับเปลี่ยน
- รหัสสีเทาและพรูเฟอร์
- ชุดค่าผสม พาร์ติชัน ชุดย่อย
- Polyhedral, Rubik, Symmetric และกลุ่มการเรียงสับเปลี่ยนอื่นๆ
5. คณิตศาสตร์ไม่ต่อเนื่อง
- ผลรวม
- นิพจน์ตรรกะ
- สัมประสิทธิ์ทวินาม
- ทฤษฎีจำนวน
การใช้งาน
1. เครื่องคิดเลขอาคาร
2. ระบบพีชคณิตคอมพิวเตอร์
แตกต่างจากระบบพีชคณิตคอมพิวเตอร์อื่น ๆ คุณต้องประกาศตัวแปรสัญลักษณ์ด้วยตนเองโดยใช้ฟังก์ชัน Symbol()
3. แคลคูลัส
ความสามารถของระบบคำนวณเชิงสัญลักษณ์ในการคำนวณเชิงสัญลักษณ์ทุกรูปแบบเป็นจุดแข็งที่สำคัญ
สามารถลดความซับซ้อนของข้อความ เชิงสัญลักษณ์ คำนวณอนุพันธ์ ปริพันธ์ และลิมิต แก้สมการ โต้ตอบกับเมทริกซ์ และอีกมากมาย
เพื่อกระตุ้นความอยากอาหารของคุณ นี่คือรสชาติของพลังสัญลักษณ์
คุณสามารถทำอะไรกับ SymPy ได้อีก
แทนที่จะพูดถึงปัญหาเพิ่มเติมในเชิงลึก ให้ฉันเสนอรายการทรัพยากรที่จะช่วยให้คุณพัฒนาทักษะของคุณ:
- เมทริกซ์และพีชคณิตเชิงเส้น: สามารถทำงานกับเมทริกซ์และดำเนินการเกี่ยวกับพีชคณิตเชิงเส้นพื้นฐานได้ ภาษาคล้ายกับไวยากรณ์ของ NumPy อย่างไรก็ตาม มีความแตกต่างที่น่าสังเกต เพื่อเริ่มต้น ตรวจสอบ การฝึกอบรม ในห้องสมุด
- นิพจน์: มันใช้ประโยชน์จากแผนผังนิพจน์ ซึ่งเป็นโครงสร้างแบบต้นไม้ เพื่อติดตามนิพจน์ ดูที่ ต้นไม้แสดงออก หากคุณต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการทำงานภายในของพวกเขา
- อนุพันธ์และปริพันธ์: มันสามารถบรรลุสิ่งที่คุณเรียนรู้ส่วนใหญ่ในวิชาแคลคูลัสเบื้องต้น (ลบด้วยการคิด) คุณสามารถเริ่มต้นด้วยการดูที่ฟังก์ชันของเรา การเปลี่ยนแปลง ใน SymPy
- ความสัมพันธ์กับ NumPy: NumPy และ SymPy เป็นทั้งไลบรารีที่เกี่ยวข้องกับคณิตศาสตร์ ล้วนแต่แตกต่างกันโดยสิ้นเชิง! NumPy ใช้งานได้กับตัวเลข ในขณะที่ใช้งานได้กับนิพจน์เชิงสัญลักษณ์
- การทำให้เข้าใจง่าย: มันฉลาดพอที่จะทำให้นิพจน์ง่ายขึ้นโดยอัตโนมัติ อย่างไรก็ตาม หากคุณต้องการการควบคุมที่ละเอียดกว่านี้ ให้ดูที่ การทำให้เข้าใจง่าย.
สรุป
SymPy เป็นห้องสมุดที่ทรงพลังสำหรับคณิตศาสตร์เชิงสัญลักษณ์
คุณสามารถใช้เพื่อสร้างตัวแปรและฟังก์ชัน ตลอดจนขยายและลดความซับซ้อนของข้อความทางคณิตศาสตร์เชิงสัญลักษณ์และแก้สมการ อสมการ หรือแม้แต่ระบบสมการ/อสมการ
คุณสามารถเขียนฟังก์ชันทั้งในข้อความของสคริปต์และโดยตรงในเทอร์มินัล (หรือ โน๊ตบุ๊ค Jupyter) เพื่อรับการประเมินอย่างรวดเร็วและการแสดงภาพการคำนวณที่ดีขึ้น
คุณพร้อมที่จะสำรวจ SymPy เพิ่มเติมหรือไม่? แจ้งให้เราทราบในความคิดเห็น.
เขียนความเห็น