คำถามติดแท็ก sympy

5
วิธีจัดการกับความซับซ้อนในรหัสตัวเลขเช่นเมื่อต้องรับมือกับเมทริกซ์จาโคเบียนขนาดใหญ่?
ฉันกำลังแก้ไขระบบที่ไม่ใช่เชิงเส้นของสมการคู่และได้คำนวณจาโคเบียนของระบบที่แยกส่วน ผลลัพธ์มีความซับซ้อนมากด้านล่างคือ (เท่านั้น!) 3 คอลัมน์แรกของเมทริกซ์3 × 93×93\times 9 (ความซับซ้อนเกิดขึ้นส่วนหนึ่งเนื่องจากโครงร่างตัวเลขต้องมีการปรับแบบเอ็กซ์โปเนนเชียลเพื่อความมั่นคง) ฉันมีคำถามทั่วไปเกี่ยวกับการใช้รหัสตัวเลขโดยใช้ Jacobians ฉันสามารถไปข้างหน้าและนำเมทริกซ์นี้มาใช้ในโค้ด แต่สัญชาตญาณของฉันบอกให้ฉันคาดหวังว่าจะมีการดีบักน่าเบื่อสองสามวัน (อาจเป็นสัปดาห์!) เนื่องจากความซับซ้อนที่แท้จริงและความหลีกเลี่ยงไม่ได้ในการแนะนำข้อผิดพลาด ใครจะรับมือกับความซับซ้อนเช่นนี้ในรหัสตัวเลขดูเหมือนว่าหลีกเลี่ยงไม่ได้! คุณใช้การสร้างรหัสอัตโนมัติจากแพ็คเกจสัญลักษณ์ (จากนั้นปรับแต่งโค้ดด้วยมือ)? ก่อนอื่นฉันวางแผนที่จะดีบัก Jacobian เชิงวิเคราะห์ด้วยการประมาณความแตกต่างอัน จำกัด ฉันควรทราบถึงข้อผิดพลาดหรือไม่? คุณจัดการกับปัญหาที่คล้ายกันในรหัสของคุณได้อย่างไร ปรับปรุง ฉันกำลังเขียนโค้ดนี้ใน Python และใช้sympyเพื่อสร้าง Jacobian บางทีฉันสามารถใช้คุณสมบัติการสร้างรหัสได้หรือไม่
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.