บทนำ
วันนี้เราจะดูแลความหายนะของนักเรียนพีชคณิตเชิงเส้นในปีแรก: เมทริกซ์แน่นอน! เห็นได้ชัดว่านี่ยังไม่มีความท้าทายดังนั้นเราไปที่นี่:
อินพุต
- สมมาตรเมทริกซ์ในรูปแบบที่สะดวกใด ๆ (ที่คุณอาจยังแน่นอนใช้เวลาเพียงบนหรือส่วนล่างของเมทริกซ์)
- ทางเลือก: ขนาดของเมทริกซ์
จะทำอย่างไร?
ความท้าทายนั้นง่าย: การให้เมทริกซ์ที่มีมูลค่าจริงเมทริกซ์ตัดสินว่ามันเป็นผลบวกแน่นอนหรือไม่โดยการส่งออกค่าความจริงหากเป็นเช่นนั้นและค่าความเท็จหากไม่
คุณอาจสันนิษฐานว่าบิวด์อินของคุณทำงานได้อย่างแม่นยำจริง ๆ และไม่จำเป็นต้องพิจารณาปัญหาเชิงตัวเลขซึ่งอาจนำไปสู่พฤติกรรมที่ไม่ถูกต้องหากกลยุทธ์ / รหัส "พิสูจน์ได้" ควรให้ผลลัพธ์ที่ถูกต้อง
ใครชนะ?
นี่คือโค้ดกอล์ฟดังนั้นโค้ดที่สั้นที่สุดเป็นไบต์ (ต่อภาษา) ชนะ!
เมทริกซ์ที่เป็นบวกแน่นอนคืออะไร
เห็นได้ชัดว่ามีสูตรเทียบเท่ากัน 6 สูตรเมื่อเมทริกซ์สมมาตรเป็นบวกแน่นอน ฉันจะทำซ้ำสามคนง่ายขึ้นและอ้างอิงคุณถึงวิกิพีเดียสำหรับคนที่ซับซ้อนมากขึ้น
- ถ้าดังนั้นเป็นค่าบวกแน่นอน
สิ่งนี้สามารถกำหนดสูตรใหม่ได้เช่น:
หากสำหรับเวกเตอร์ที่ไม่เป็นศูนย์ผลิตภัณฑ์จุด (มาตรฐาน) ของและเป็นค่าบวกดังนั้นจะเป็นค่าบวกแน่นอน - ให้เป็นค่าลักษณะเฉพาะของ , ถ้าตอนนี้ (นั่นคือค่าลักษณะเฉพาะทั้งหมดเป็นค่าบวก) จากนั้นเป็นค่าบวกแน่นอน
หากคุณไม่ทราบว่าค่าลักษณะเฉพาะคืออะไรฉันขอแนะนำให้คุณใช้เครื่องมือค้นหาที่คุณชื่นชอบเพื่อค้นหาเพราะคำอธิบาย (และกลยุทธ์การคำนวณที่จำเป็น) นั้นยาวเกินกว่าที่จะอยู่ในบทความนี้ - ถ้าCholesky-Decompositionของมีอยู่นั่นคือมีเมทริกซ์สามเหลี่ยมล่างเช่นนั้นดังนั้นจะเป็นบวกแน่นอน โปรดทราบว่านี่เทียบเท่ากับการคืนค่า "เท็จ" แต่เนิ่น ๆ หากการคำนวณของรูทระหว่างอัลกอริทึมล้มเหลวเนื่องจากข้อโต้แย้งเชิงลบ
ตัวอย่าง
สำหรับการส่งออกจริง
สำหรับผลลัพธ์ที่ผิดพลาด
(อย่างน้อยหนึ่งค่าลักษณะเฉพาะคือ 0 / บวกกึ่งแน่นอน)
(ค่าลักษณะเฉพาะมีสัญญาณที่แตกต่างกัน / ไม่ จำกัด )
(ค่าลักษณะเฉพาะทั้งหมดมีค่าน้อยกว่า 0 / ลบแน่นอน)
(ค่าลักษณะเฉพาะทั้งหมดน้อยกว่า 0 / ลบแน่นอน)
(ค่าลักษณะเฉพาะทั้งหมดน้อยกว่า 0 / ลบแน่นอน)
(สามค่าบวกค่าลักษณะเฉพาะเชิงลบหนึ่งค่า / ไม่ จำกัด )