ขอถามวิธีหาค่าโคแฟกเตอร์ของ matrix ในภาษา C++



                       คือผมต้องการจะแก้ linear equation 5 ตัวแปร 5 สมการ...!!!  ในภาษา C++
               โดยการ input ค่าสัมประสิทธิ์ แล้วโปรแกรมจะคำนวณคำตอบของสมการมาให้
              วิธีที่ผมเลือกใช้ก็คือวิธีของคราเมอร์ ซึ่งอัลกอริทึมก็ดูไม่น่าซับซ้อนอะไรนักถ้าเทียบกับ
               Gaussian elimination หรือวิธี Inverse matrix


                      แต่ว่าผมก็ติดขัดกับการหาค่า determinant ของ matrix 5 x 5 เพราะไอ้วิธีการ
                หาค่าโคแฟกเตอร์   ผมคิดอัลกอริทึมมาทั้งวันแล้วก็ยังคิดไม่ออก..วานผู้รู้ช่วยผมทีนะครับ T^T


                ตอนนี้ผมนี่บ้าคลั่งแตกสูตรออกมาตัวแปรเกือบจะร้อยตัวแล้ว
                 ปล. แต่จริงๆวิธี inverse ก็ไม่น่ายากนะครับแต่มันก็ดั๊นนน..ไปติดตรงค่า determinant 5 x 5
แก้ไขข้อความเมื่อ
คำตอบที่ได้รับเลือกจากเจ้าของกระทู้
ความคิดเห็นที่ 4
>
> แตกสูตรออกมาตัวแปรเกือบจะร้อยตัวแล้ว
>

สังเกตว่า  เคสนี้เราทำแบบ call tail ไม่ได้
เพราะเราส่งผลลัพธ์ลงมาจากข้างบนไม่ได้
และเมื่อทำ call tail ไม่ได้  ก็ทำให้แปลงรูปเป็น iteration (for/while) ไม่ได้แน่ ๆ
ยังไงก็ต้อง propagate ลงไปถึงข้างล่างก่อน  แล้วส่งผลลัพธ์ย้อนขึ้นมา

นั่นคือ  เราไม่มีทางเลือกมากนักนอกจาก recursive

deteminant 5x5 c++
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่