TriangularSolve

TriangleSolve คลาสสุดท้ายสาธารณะ

แก้ระบบสมการเชิงเส้นด้วยเมทริกซ์สามเหลี่ยมบนหรือล่างด้วยการแทนที่กลับ

`เมทริกซ์` คือเมตริกซ์ของรูปร่าง `[..., M, M]` ซึ่ง 2 มิติด้านในสุดจะประกอบกันเป็นเมทริกซ์จัตุรัส หาก "ต่ำกว่า" เป็น "จริง" ดังนั้นส่วนสามเหลี่ยมด้านบนอย่างเคร่งครัดของเมทริกซ์ด้านในสุดแต่ละเมทริกซ์จะถือว่าเป็นศูนย์และไม่มีการเข้าถึง หาก 'lower' เป็นเท็จ ส่วนสามเหลี่ยมด้านล่างสุดของเมทริกซ์ด้านในสุดแต่ละเมทริกซ์จะถือว่าเป็นศูนย์และจะไม่มีการเข้าถึง `rhs` คือเทนเซอร์ของรูปร่าง `[..., M, N]`

ผลลัพธ์ที่ได้คือเทนเซอร์ของรูปร่าง `[..., M, N]` ถ้า `adjoint` เป็น `True` แสดงว่าเมทริกซ์ชั้นในสุดใน `output` เป็นไปตามสมการเมทริกซ์ `matrix[..., :, :] * output[..., :, :] = rhs[..., :, :]`. ถ้า `adjoint` เป็น `False` ดังนั้นเมทริกซ์ที่อยู่ชั้นในสุดใน `output` จะเป็นไปตามสมการของเมทริกซ์ `adjoint(matrix[..., i, k]) * output[..., k, j] = rhs[ ..., ฉัน, เจ]`.

โปรดทราบว่ารูปร่างแบทช์สำหรับอินพุตจำเป็นต้องออกอากาศเท่านั้น

ตัวอย่าง:

a = tf.constant([[3,  0,  0,  0],
                  [2,  1,  0,  0],
                  [1,  0,  1,  0],
                  [1,  1,  1,  1]], dtype=tf.float32)
 
 b = tf.constant([[4],
                  [2],
                  [4],
                  [2]], dtype=tf.float32)
 
 x = tf.linalg.triangular_solve(a, b, lower=True)
 x
 # <tf.Tensor: shape=(4, 1), dtype=float32, numpy=
 # array([[ 1.3333334 ],
 #        [-0.66666675],
 #        [ 2.6666665 ],
 #        [-1.3333331 ]], dtype=float32)>
 
 # in python3 one can use `a@x`
 tf.matmul(a, x)
 # <tf.Tensor: shape=(4, 1), dtype=float32, numpy=
 # array([[4.       ],
 #        [2.       ],
 #        [4.       ],
 #        [1.9999999]], dtype=float32)>
 

คลาสที่ซ้อนกัน

ระดับ TriangleSolve.Options แอ็ตทริบิวต์ทางเลือกสำหรับ TriangularSolve

ค่าคงที่

สตริง OP_NAME ชื่อของ op นี้ ซึ่งรู้จักกันในชื่อของเอ็นจิ้นหลัก TensorFlow

วิธีการสาธารณะ

TriangleSolve.Options แบบคงที่
ที่อยู่ติดกัน (ที่อยู่ติดบูลีน)
เอาท์พุต <T>
เป็นเอาท์พุต ()
ส่งกลับค่าแฮนเดิลสัญลักษณ์ของเทนเซอร์
คงที่ <T ขยาย TType > TriangleSolve <T>
สร้าง ( ขอบเขต ขอบเขต ตัว ดำเนินการ <T> เมทริกซ์ ตัวดำเนินการ <T> rhs ตัวเลือก... ตัวเลือก)
วิธีการจากโรงงานเพื่อสร้างคลาสที่ห่อการดำเนินการ TriangleSolve ใหม่
TriangleSolve.Options แบบคงที่
ต่ำกว่า (บูลีนต่ำกว่า)
เอาท์พุต <T>
เอาท์พุท ()
รูปร่างคือ `[..., M, K]`

วิธีการสืบทอด

ค่าคงที่

สตริงสุดท้ายแบบคงที่สาธารณะ OP_NAME

ชื่อของ op นี้ ซึ่งรู้จักกันในชื่อของเอ็นจิ้นหลัก TensorFlow

ค่าคงที่: "MatrixTriangleSolve"

วิธีการสาธารณะ

สาธารณะคงที่ TriangleSolve.Options adjoint (บูลีน adjoint)

พารามิเตอร์
ติดกัน บูลีนที่ระบุว่าจะแก้โจทย์ด้วย "เมทริกซ์" หรือส่วนที่อยู่ติดกัน (แบบบล็อก)

เอาท์ พุท สาธารณะ <T> asOutput ()

ส่งกลับค่าแฮนเดิลสัญลักษณ์ของเทนเซอร์

อินพุตสำหรับการดำเนินการ TensorFlow คือเอาต์พุตของการดำเนินการ TensorFlow อื่น วิธีการนี้ใช้เพื่อรับหมายเลขอ้างอิงสัญลักษณ์ที่แสดงถึงการคำนวณอินพุต

สร้าง TriangleSolve <T> แบบคงที่สาธารณะ (ขอบเขต ขอบเขต , ตัวดำเนินการ <T> เมทริกซ์, ตัวดำเนินการ <T> rhs, ตัวเลือก... ตัวเลือก)

วิธีการจากโรงงานเพื่อสร้างคลาสที่ห่อการดำเนินการ TriangleSolve ใหม่

พารามิเตอร์
ขอบเขต ขอบเขตปัจจุบัน
เมทริกซ์ รูปร่างคือ `[..., M, M]`
Rhs รูปร่างคือ `[..., M, K]`
ตัวเลือก มีค่าแอตทริบิวต์ทางเลือก
การส่งคืน
  • ตัวอย่างใหม่ของ TriangleSolve

TriangleSolve.Options สาธารณะคง ที่ต่ำกว่า (บูลีนต่ำกว่า)

พารามิเตอร์
ต่ำกว่า บูลีนที่ระบุว่าเมทริกซ์ด้านในสุดใน "เมทริกซ์" เป็นรูปสามเหลี่ยมด้านล่างหรือด้านบน

เอาท์พุท สาธารณะ <T> เอาท์พุท ()

รูปร่างคือ `[..., M, K]`