รายละเอียดซอฟแวร์:
SymPy เป็นแหล่งเปิดแพคเกจการจัดการสัญลักษณ์เขียนในหลามบริสุทธิ์
จุดมุ่งหมาย SymPy คือการเป็นเต็มรูปแบบที่โดดเด่น CAS ในหลามในขณะที่รหัสจะถูกเก็บไว้ที่เรียบง่ายที่สุดเท่าที่เป็นไปได้เพื่อที่จะสามารถได้อย่างง่ายดายขยายและเข้าใจ
คุณสมบัติ .
- เลขคณิตพื้นฐาน *, /, +, -
- เข้าใจง่ายล่าง (เช่น * b * b + 2 * b * b * - & gt; 3 * b * ^ 2)
- การขยายตัว (เช่น (A + B) ^ 2 - & gt; ^ 2 + 2 * * * * * * * * b + B ^ 2)
- ฟังก์ชั่น (EXP, ln บาป, cos, สีน้ำตาล, ... )
- ตัวเลขที่ซับซ้อน (เช่น exp (I * x) .evalc () - & gt; cos (x) + I * sin (x))
- ความแตกต่าง
- ชุดเทย์เลอร์
- ทดแทนล่าง (เช่น x- & gt; ln (x))
- จำนวนเต็มแม่นยำโดยพลการและ rationals
- มาตรฐาน (งูใหญ่) ลอย
มีอะไรใหม่ ในข่าวประชาสัมพันธ์ฉบับนี้.
- SymPy ในขณะนี้สนับสนุนหลาม 3 และ PyPy
- ข่าวประชาสัมพันธ์ฉบับนี้ยังรวมถึงคุณสมบัติใหม่ที่สำคัญในการจัดบูรณาการที่ชัดเจน, ตัวแปรสุ่มแสดงออกเมทริกซ์, ชุดกลศาสตร์คลาสสิกกลศาสตร์ควอนตัม, พีชคณิตสับเปลี่ยนวางแผนและเรขาคณิตต่างกัน.
- นอกจากนั้นยังมีหลายร้อย bugfixes ตลอดฐานรหัสทั้งหมด.
มีอะไรใหม่ ในรุ่น 0.7.1:
- การเปลี่ยนแปลงที่สำคัญ:
- Python 2.4 ได้รับการสนับสนุนอีกต่อไป SymPy จะไม่ทำงานที่ทั้งหมดในหลาม 2.4 ถ้าคุณยังคงจำเป็นต้องใช้ภายใต้ SymPy หลาม 2.4 ด้วยเหตุผลบางอย่างที่คุณจะต้องใช้ SymPy 0.7.0 หรือก่อนหน้านี้.
- ห้องสมุดการวางแผน pyglet อยู่ในขณะนี้ (ถ้ามี) การพึ่งพาภายนอก ก่อนหน้านี้เราจัดส่งรุ่น pyglet กับ SymPy แต่นี่เป็นเก่าและรถ แผนไปในที่สุดทำให้การวางแผนใน SymPy แบบแยกส่วนมากขึ้นเพื่อที่จะรองรับการแบ็กเอนด์จำนวนมาก แต่ตอนนี้ยังไม่ได้ทำเลย สำหรับตอนนี้ยังคงเป็นเพียง pyglet ได้รับการสนับสนุนโดยตรง โปรดทราบว่า pyglet เป็นเพียงการพึ่งพาตัวเลือกและเป็นสิ่งจำเป็นสำหรับการวางแผนเท่านั้น ส่วนที่เหลือของ SymPy ยังสามารถนำมาใช้โดยไม่มีการอ้างอิงใด ๆ (ยกเว้นงูใหญ่).
- isympy ตอนนี้ทำงานร่วมกับ IPython ใหม่ 0.11.
- mpmath ได้รับการปรับปรุงเพื่อ 0.17 ดูบันทึกประจำรุ่น mpmath ที่สอดคล้องกันที่ http://mpmath.googlecode.com/svn/trunk/CHANGES.
- เพิ่มวัตถุใต้บังคับบัญชาแทนแทน unevaluated นี้ในที่สุดจะช่วยให้เราเป็นตัวแทนซื้อขายสัญญาซื้อขายล่วงหน้าประเมินที่จุดคือ diff (f (x), x) .subs (x, 0) ผลตอบแทนที่ผู้ใต้บังคับบัญชา (อนุพันธ์ (f (_x) _x) (_x), (0, )) นี่ก็หมายความว่า SymPy สามารถนี้ได้อย่างถูกต้องคำนวณกฎลูกโซ่เมื่อฟังก์ชั่นนี้เป็นสิ่งจำเป็นเช่นกับ f (g (x)). diff (x).
- ฟังก์ชั่น hypergeometric / เมย์เยอร์ G-ฟังก์ชั่น:
- การเรียนที่เพิ่มเข้ามามากเกินไป () และ meijerg () เพื่อเป็นตัวแทนของ hypergeometric และเมย์เยอร์ G-ฟังก์ชั่นตามลำดับ พวกเขาสนับสนุนการประเมินผลเชิงตัวเลข (ใช้ mpmath) และความแตกต่างสัญลักษณ์ (ไม่เกี่ยวกับการพารามิเตอร์).
- เพิ่มอัลกอริทึมสำหรับการเขียนใหม่ hypergeometric และเมย์เยอร์กรัมฟังก์ชั่นในแง่ของความคุ้นเคยชื่อฟังก์ชั่นพิเศษ มันสามารถเข้าถึงได้ผ่านทาง hyperexpand ฟังก์ชั่น () หรือผ่านทาง expand_func () อัลกอริทึมนี้ตระหนักถึงฟังก์ชั่นระดับประถมศึกษาจำนวนมากและยังมีฟังก์ชั่นแกมมาที่สมบูรณ์และไม่สมบูรณ์หน้าที่ Bessel และการทำงานข้อผิดพลาด มันสามารถจะขยายไปถึงการจัดการชั้นเรียนมากขึ้นของฟังก์ชั่นพิเศษ.
- ชุด:
- เพิ่ม FiniteSet ชั้นจะเลียนแบบพฤติกรรมชุดหลามในขณะที่ยังมีปฏิสัมพันธ์กับช่วงเวลาที่มีอยู่และสหภาพ
- FiniteSets และช่วงโต้ตอบเพื่อให้ตัวอย่างเช่นช่วง (0, 10) - FiniteSet (0, 5) การผลิต (0, 5) U (5, 10]
- FiniteSets ยังจัดการวัตถุที่ไม่ใช่ตัวเลขดังนั้นต่อไปนี้เป็นไปได้ที่ {1, 2, 'หนึ่ง', 'สอง', {ข}}
- เพิ่ม ProductSet ในการจัดการผลิตภัณฑ์คาร์ทีเซียนของชุด
- สร้างโดยใช้ผู้ประกอบการ * คือ twodice FiniteSet = (1, 2, 3, 4, 5, 6) * FiniteSet (1, 2, 3, 4, 5, 6) หรือตาราง = ช่วง (0, 1) * ช่วง (0, 1)
- ประกอบธารยังใช้งานได้ตามที่คาด: R3 = ช่วง (-oo, OO) ** 3; (3, -5, 0) ใน R3 == True
- ลบ, ยูเนี่ยน, การวัดการทำงานทั้งหมดของการแยกที่ซับซ้อนเข้าบัญชี.
- เพิ่มวิธี as_relational ชุดผลิตโดยใช้งบบูลีนและหรือ EQ, LT, Gt ฯลฯ ...
- reduce_poly_inequalities เปลี่ยนเพื่อกลับสหภาพแรงงานของชุดมากกว่ารายการของชุด
- Iterables:
- เพิ่มการสร้างกิจวัตรประจำวันสำหรับพาร์ทิชันจำนวนเต็มและพาร์ทิชันไบนารี ประจำสำหรับพาร์ทิชันจำนวนเต็มใช้เวลา 3 ข้อโต้แย้งจำนวนตัวเององค์ประกอบที่เป็นไปได้สูงสุดที่อนุญาตในพาร์ทิชันที่สร้างขึ้นและจำนวนเป็นไปได้สูงสุดขององค์ประกอบที่จะอยู่ในพาร์ทิชัน พาร์ทิชันไบนารีมีลักษณะที่มีอำนาจเพียงสอง.
- เพิ่มการสร้างกิจวัตรประจำวันสำหรับพาร์ทิชันหลายชุด ป.ร. ให้ไว้ MultiSet ขั้นตอนวิธีการดำเนินการจะสร้างพาร์ทิชันที่เป็นไปได้ทั้งหมดที่หลายชุด.
- เพิ่มการสร้างกิจวัตรประจำวันสำหรับพีชคณิตระฆัง derangements และ involutions การเปลี่ยนแปลงระฆังซึ่งเป็นหนึ่งในรอบที่ประกอบมันประกอบด้วยจำนวนเต็มในการสั่งซื้อลดลง บ้าคือการเปลี่ยนแปลงดังกล่าวว่าองค์ประกอบบอดไม่ได้อยู่ที่ตำแหน่งบอด ร่วมด้วยคือการเปลี่ยนแปลงที่ว่าเมื่อคูณด้วยตัวเองจะช่วยให้การเปลี่ยนแปลงตัวตน.
- เพิ่มการสร้างกิจวัตรประจำวันสำหรับสร้อยคอไม่ จำกัด สร้อยคอไม่ จำกัด เป็นสตริง-Ary ของตัวอักษร n แต่ละประเภทที่เป็นไปได้ เหล่านี้ได้รับความโดดเด่นด้วยพารามิเตอร์ n และ k ในชีวิตประจำ.
- เพิ่มการสร้างกิจวัตรประจำวันสำหรับป่าที่มุ่งเน้น นี่คือการดำเนินการตามขั้นตอนวิธีใน S TAOCP ฉบับ 4A.
- XYZ ฐานปั่น:
- แทนเขียนและตรรกะ InnerProduct ได้รับการปรับปรุงในการทำงานใด ๆ ระหว่างสองฐานหมุน นี้ทำโดยใช้เมทริกซ์ Wigner-D ดำเนินการในชั้น WignerD ในการกำหนดเปลี่ยนแปลงระหว่างฐานต่างๆ ที่เป็นตัวแทนของรัฐคือเป็นตัวแทน (JzKet (1,0), พื้นฐาน = Jx) สามารถนำมาใช้เพื่อให้การแสดงเวกเตอร์ใด ๆ ได้รับในใด ๆ ของ x / y / ฐาน Z สำหรับค่าตัวเลขของเจมในการปั่น eigenstate ในทำนองเดียวกันการเขียนใหม่รัฐเป็นฐานที่แตกต่างกันเช่น JzKet (1,0) .rewrite ('Jx'), รัฐจะเขียนเป็นเชิงเส้นการรวมกันขององค์ประกอบพื้นฐานที่กำหนด เพราะอาศัยแทนฟังก์ชั่นนี้ใช้ได้เฉพาะสำหรับ J ตัวเลขและค่าเมตร สินค้าภายในของสอง eigenstates ในฐานที่แตกต่างกันสามารถประเมินได้เช่น InnerProduct (JzKet (1,0), JxKet (1,1)) เมื่อสองฐานที่แตกต่างกันมีการใช้รัฐหนึ่งจะเขียนเป็นพื้นฐานอื่น ๆ ดังนั้นนี้ต้องใช้ค่าตัวเลขของเจม แต่ innerproducts ของรัฐที่อยู่ในพื้นฐานเดียวกันยังคงสามารถทำได้สัญลักษณ์.
- วิธี Rotation.D และ Rotation.d คิดเป็นฟังก์ชั่นวิกเนอร์-D และวิกเนอร์ฟังก์ชั่นขนาดเล็ก-D กลับตัวอย่างของชั้น WignerD ซึ่งสามารถประเมินด้วยการ doit () วิธีการที่จะให้แมทริกซ์ที่สอดคล้องกัน องค์ประกอบของเมทริกซ์ Wigner-D.
- การเปลี่ยนแปลงอื่น ๆ :
- ขณะนี้เราใช้ MathJax ในเอกสารของเรา MathJax คณิตศาสตร์ทำให้น้ำยาง entierly ในเบราว์เซอร์ใช้ Javascript ซึ่งหมายความว่าคณิตศาสตร์สามารถอ่านได้มากขึ้นกว่าคณิตศาสตร์ PNG ก่อนหน้านี้ซึ่งใช้ภาพ MathJax ได้รับการสนับสนุนในเบราว์เซอร์ที่ทันสมัยเพื่อให้น้ำยางคณิตศาสตร์ในเอกสารอาจไม่ทำงานในเบราว์เซอร์รุ่นเก่า.
- nroots () ตอนนี้ช่วยให้คุณสามารถตั้งค่าความแม่นยำของการคำนวณ
- เพิ่มการสนับสนุนสำหรับ gmpy และประเภท mpmath เพื่อ sympify ()
- แก้ไขข้อบกพร่องบางอย่างกับ lambdify ()
- แก้ไขข้อผิดพลาดที่มี as_independent และสัญลักษณ์ที่ไม่ใช่การสับเปลี่ยน.
- แก้ไขข้อผิดพลาดที่มีการเก็บรวบรวม (ฉบับ 2516)
- แก้ไขหลายคนที่เกี่ยวข้องกับการ porting SymPy หลาม 3. ขอบคุณที่นักเรียนของเรา GSoC วลาดิมี Peric งานนี้จะเสร็จสมบูรณ์เกือบ.
- บางคนมีการเพิ่มผลย้อนหลังไปยังแฟ้มผู้เขียน.
- เพิ่มแก้สำหรับกรณีพิเศษของสมการ Riccati ในโมดูล ODE.
- อนุพันธ์ซ้ำจะถูกพิมพ์สวยในวิธีที่รัดกุม.
- แก้ไขข้อผิดพลาดที่มีการบูรณาการการทำงานกับหลาย DiracDeltas.
- เพิ่มการสนับสนุนสำหรับ Matrix.norm () ที่ทำงานสำหรับเมทริกซ์ (ไม่ใช่แค่เวกเตอร์).
- การปรับปรุงขั้นตอนวิธี Groebner ฐาน.
- Plot.saveimage ในขณะนี้สนับสนุน StringIO OUTFILE
- Expr.as_ordered_terms ในขณะนี้สนับสนุน orderings ไฟแนนเชี่ไม่.
- diff ตอนนี้ canonicalizes ลำดับของสัญลักษณ์ที่แตกต่าง นี่คือเพื่อที่จะสามารถลดความซับซ้อนของการแสดงออกเช่น f (x, y) .diff (x, y) - f (x, y) .diff (y, x) ถ้าคุณต้องการที่จะสร้างวัตถุอนุพันธ์โดยไม่ต้องเรียงลำดับ args คุณควรสร้างมันขึ้นมาอย่างชัดเจนด้วยอนุพันธ์เพื่อที่คุณจะได้รับอนุพันธ์ (f (x, y), x, y) = อนุพันธ์ (f (x, y), y, x) โปรดสังเกตว่าภายในตราสารอนุพันธ์ที่สามารถคำนวณจะคำนวณเสมอเพื่อที่พวกเขาจะได้รับใน.
- ฟังก์ชั่นที่เพิ่มเข้ามา is_sequence () และ iterable () ในการพิจารณาว่าสิ่งที่ได้รับคำสั่ง iterable หรือปกติ iterable ตามลำดับ.
- เปิดใช้งานตัวเลือกในสฟิงซ์ที่เพิ่มการเชื่อมโยงแหล่งที่อยู่ถัดจากแต่ละฟังก์ชั่นที่เชื่อมโยงกับสำเนาของรหัสที่มาสำหรับการทำงานที่.
มีอะไรใหม่ ในรุ่น 0.7.0:
- นี้เป็นรุ่นที่สำคัญที่จะเพิ่มฟังก์ชันการทำงานใหม่มาก .
- การเปลี่ยนแปลงที่ใหญ่ที่สุดคือ Polys ใหม่ที่มีประสิทธิภาพมากขึ้นและเร็วขึ้นมาก นี้ส่งผลกระทบต่อหลายส่วนของ SymPy รวมทั้งแก้และเข้าใจง่าย.
- อีกการเปลี่ยนแปลงใหญ่เป็นโมดูลควอนตัมใหม่ที่ถูกเพิ่มเข้ามาเป็นผลมาจากสองโครงการ Google Summer ของโครงการรหัส.
- นอกเหนือจากการเปลี่ยนแปลงที่สำคัญเหล่านี้มีการเปลี่ยนแปลงหลายอย่างทั่วทุก SymPy.
- ข่าวประชาสัมพันธ์ฉบับนี้ยังมีไม่กี่หลังเล็กน้อยส่วนใหญ่แบ่งการทำงานร่วมกัน.
มีอะไรใหม่ ในรุ่น 0.6.3:
- รังเพลิงเพื่อ Python2.6 (ผ่านการทดสอบทั้งหมด) และ Jython (ผ่านการทดสอบทั้งหมดยกเว้นผู้ที่ขึ้นอยู่กับ & quot; AST & quot; โมดูล).
- ส่วนทรูได้รับการแก้ไข (ผ่านการทดสอบทั้งหมดกับ & quot; -Qnew & quot; ตัวเลือก Python) .
- buildbot.sympy.org ถูกสร้างขึ้น; SymPy อยู่ในขณะนี้การทดสอบอย่างสม่ำเสมอใน Python 2.4, 2.5 และ 2.6 ทั้ง i386 และ amd64.
- py.bench. py.test ตามการเปรียบเทียบ
- bin / ทดสอบ: กรอบการทดสอบ py.test เหมือนง่ายโดยไม่ต้องพึ่งพาภายนอกและมีผลผลิตสีอย่างดี .
- ข้อ จำกัด มากที่สุดตอนนี้ทำงาน.
- ตัวประกอบกว่า Z [x] ได้รับการปรับปรุงอย่างมาก.
- ฟังก์ชั่น Piecewise ถูกเพิ่มเข้ามา nsimplify () ถูกนำมาใช้.
- สัญลักษณ์และไวยากรณ์ var เป็นปึกแผ่น.
- พิมพ์รหัส C.
ต้องการ
- หลาม
ความคิดเห็นที่ไม่พบ