คำถามติดแท็ก design-patterns

2
รูปแบบการออกแบบในการเขียนซอฟต์แวร์ตัวเลขใน C ++
ฉันกำลังมองหาแหล่งข้อมูลเกี่ยวกับรูปแบบการออกแบบและหลักการของซอฟต์แวร์เชิงตัวเลขซึ่งอาจเป็นไปได้ แต่ไม่จำเป็นต้องให้ความสำคัญกับวิธีการเชิงวัตถุกับรหัสตัวเลข ฉันตระหนักถึงข้อความการเขียนซอฟต์แวร์ทางวิทยาศาสตร์: คู่มือสำหรับสไตล์ที่ดีแต่สิ่งนี้ยังเกี่ยวข้องกับสิ่งต่าง ๆ มากมายเช่นประเด็นประเด็นลอยวิธีและเวลาในการปรับให้เหมาะสม ฯลฯ ฉันกำลังมองหาข้อมูลเกี่ยวกับภาพใหญ่ของการออกแบบรหัสตัวเลขไม่ใช่ทุกอย่างที่เกี่ยวข้องกับอัลกอริทึมและสิ่งที่คล้ายกัน ฉันหวังว่าจะมีแหล่งข้อมูลสำหรับสิ่งนี้และไม่มีใครเหลือที่จะเข้าใช้ห้องสมุดหลังจากห้องสมุดโดยเฉพาะอย่างยิ่งเนื่องจากไม่มีแนวทางในการออกแบบสิ่งที่ถูกต้องอย่างชาญฉลาด (นี่ไม่ใช่ภาษาเฉพาะ แต่ถ้ามีเนื้อหาเฉพาะภาษาใด ๆ ฉันต้องการ C ++)

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