คำนวณการสลายตัวของ LU ของเมทริกซ์กำลังสองตั้งแต่หนึ่งตารางขึ้นไป
ข้อมูลที่ป้อนเข้าคือเทนเซอร์ของรูปร่าง `[..., M, M]` ซึ่งมี 2 มิติในสุดเป็นเมทริกซ์สี่เหลี่ยมจัตุรัส
อินพุตจะต้องพลิกกลับได้
เอาต์พุตประกอบด้วยเมตริกซ์สองตัว LU และ P ที่มีการสลายตัว LU ของเมทริกซ์ย่อยอินพุตทั้งหมด `[..., :, :]` LU เข้ารหัสแฟคเตอร์รูปสามเหลี่ยมล่างและรูปสามเหลี่ยมบน
สำหรับอินพุตเมทริกซ์ย่อยของรูปร่าง `[M, M]` แต่ละรายการ L คือเมทริกซ์สามเหลี่ยมล่างของรูปร่าง `[M, M]` ที่มีเส้นทแยงมุมหน่วยซึ่งมีรายการตรงกับส่วนสามเหลี่ยมล่างสุดของ LU U คือเมทริกซ์รูปสามเหลี่ยมบนของรูปร่าง `[M, M]` ซึ่งมีรายการที่สอดคล้องกับส่วนสามเหลี่ยมบน รวมทั้งแนวทแยงของ LU
P แทนเมทริกซ์การเรียงสับเปลี่ยนที่เข้ารหัสเป็นรายการดัชนีแต่ละค่าระหว่าง "0" และ "M-1" รวมอยู่ด้วย หาก P_mat หมายถึงเมทริกซ์การเรียงสับเปลี่ยนที่สอดคล้องกับ P ดังนั้น L, U และ P จะเป็นไปตาม P_mat * อินพุต = L * U
วิธีการสาธารณะ
คงที่ <T, U ขยายจำนวน> Lu <T, U> | สร้าง ( ขอบเขต ขอบเขต, ตัวถูกดำเนินการ <T> อินพุต, คลาส<U> outputIdxType ) วิธีการจากโรงงานเพื่อสร้างคลาสที่ห่อการดำเนินการ Lu ใหม่ |
คงที่ <T> Lu <T, จำนวนเต็ม> | |
เอาท์พุต <T> | ลู () เทนเซอร์ของรูปร่าง `[..., M, M]` ซึ่งส่วนสามเหลี่ยมล่างอย่างเคร่งครัดหมายถึงปัจจัยสามเหลี่ยมล่าง `L' ที่มีเส้นทแยงมุมหนึ่งหน่วย และส่วนที่สามเหลี่ยมบนแสดงถึงปัจจัยสามเหลี่ยมบน `U` |
เอาท์พุต <U> | พี () การเรียงสับเปลี่ยนของแถวที่เข้ารหัสเป็นรายการดัชนีใน "0..M-1" |
วิธีการสืบทอด
วิธีการสาธารณะ
สาธารณะคงที่ Lu <T, U> สร้าง ( ขอบเขต ขอบเขต, อินพุตตัวถูกดำเนินการ <T>, Class<U> outputIdxType )
วิธีการจากโรงงานเพื่อสร้างคลาสที่ห่อการดำเนินการ Lu ใหม่
พารามิเตอร์
ขอบเขต | ขอบเขตปัจจุบัน |
---|---|
ป้อนข้อมูล | เทนเซอร์ของรูปร่าง `[..., M, M]` ซึ่งมีมิติภายในสุด 2 มิติประกอบเป็นเมทริกซ์ขนาด `[M, M]` |
คืนสินค้า
- ตัวอย่างใหม่ของ Lu
สร้าง Lu <T, Integer> สาธารณะแบบคงที่ ( ขอบเขต ขอบเขต, อินพุต ตัวถูกดำเนินการ <T>)
วิธีการจากโรงงานเพื่อสร้างคลาสที่ปิดการดำเนินการ Lu ใหม่โดยใช้ประเภทเอาต์พุตเริ่มต้น
พารามิเตอร์
ขอบเขต | ขอบเขตปัจจุบัน |
---|---|
ป้อนข้อมูล | เทนเซอร์ของรูปร่าง `[..., M, M]` ซึ่งมีมิติภายในสุด 2 มิติประกอบเป็นเมทริกซ์ขนาด `[M, M]` |
คืนสินค้า
- ตัวอย่างใหม่ของ Lu
เอาต์พุต สาธารณะ <T> lu ()
เทนเซอร์ของรูปร่าง `[..., M, M]` ซึ่งส่วนสามเหลี่ยมล่างอย่างเคร่งครัดหมายถึงปัจจัยสามเหลี่ยมล่าง `L' ที่มีเส้นทแยงมุมหนึ่งหน่วย และส่วนที่สามเหลี่ยมบนแสดงถึงปัจจัยสามเหลี่ยมบน `U`
เอาต์พุต สาธารณะ <U> p ()
การเรียงสับเปลี่ยนของแถวที่เข้ารหัสเป็นรายการดัชนีใน "0..M-1" รูปร่างคือ `[..., M]`