سیستم های معادلات خطی را با ماتریس های مثلثی بالا یا پایین با جایگزینی معکوس حل می کند.
«ماتریس» تانسور شکل «[...، M، M]» است که بیشترین 2 بعد داخلی آن ماتریس های مربعی را تشکیل می دهند. اگر «پایین» «درست» باشد، آنگاه قسمت مثلثی کاملاً بالایی هر ماتریس درونی ترین صفر فرض می شود و قابل دسترسی نیست. اگر «پایین» نادرست باشد، قسمت مثلثی به شدت پایینی هر ماتریس درونیترین ماتریس صفر در نظر گرفته میشود و قابل دسترسی نیست. «rhs» تانسور شکل «[...، M، N]» است.
خروجی یک تانسور شکل «[...، M، N]» است. اگر «الحاق» «درست» باشد، درونیترین ماتریسها در «خروجی» معادلات ماتریس «ماتریس[...، :، :] * خروجی[...، :، :] = rhs[...، :، :]`. اگر «الحاق» «نادرست» باشد، درونیترین ماتریسها در «خروجی» معادلات ماتریس «مضاف (ماتریس[...، i، k]) * خروجی[...، 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)>
کلاس های تو در تو
کلاس | TriangularSolve.Options | ویژگی های اختیاری برای TriangularSolve |
ثابت ها
رشته | OP_NAME | نام این عملیات، همانطور که توسط موتور هسته TensorFlow شناخته می شود |
روش های عمومی
استاتیک TriangularSolve.Options | الحاق (ضمیمه بولی) |
خروجی <T> | asOutput () دسته نمادین تانسور را برمی گرداند. |
static <T TType > TriangularSolve <T> را گسترش می دهد | ایجاد (حوزه دامنه ، ماتریس عملوند <T>، عملوند <T> rhs، گزینهها... گزینهها) روش کارخانه برای ایجاد کلاسی که یک عملیات TriangularSolve جدید را بسته بندی می کند. |
استاتیک TriangularSolve.Options | پایین تر (بولی پایین تر) |
خروجی <T> | خروجی () شکل «[...، M، K]» است. |
روش های ارثی
ثابت ها
رشته نهایی ثابت عمومی OP_NAME
نام این عملیات، همانطور که توسط موتور هسته TensorFlow شناخته می شود
روش های عمومی
عمومی ثابت TriangularSolve. Options الحاقی (الحاقی بولی)
پارامترها
الحاق | Boolean نشان می دهد که آیا باید با "ماتریس" حل شود یا الحاق (بلاک) آن. |
---|
خروجی عمومی <T> asOutput ()
دسته نمادین تانسور را برمی گرداند.
ورودی های عملیات TensorFlow خروجی های عملیات تنسورفلو دیگر هستند. این روش برای به دست آوردن یک دسته نمادین که نشان دهنده محاسبه ورودی است استفاده می شود.
عمومی استاتیک TriangularSolve <T> ایجاد ( دامنه دامنه ، ماتریس عملوند <T>، عملوند <T> rhs، گزینهها... گزینهها)
روش کارخانه برای ایجاد کلاسی که یک عملیات TriangularSolve جدید را بسته بندی می کند.
پارامترها
دامنه | محدوده فعلی |
---|---|
ماتریس | شکل «[...، M، M]» است. |
rhs | شکل «[...، M، K]» است. |
گزینه ها | مقادیر ویژگی های اختیاری را حمل می کند |
برمی گرداند
- یک نمونه جدید از TriangularSolve
عمومی استاتیک TriangularSolve.Options کمتر (بولی پایین)
پارامترها
پایین تر | بولی که نشان می دهد داخلی ترین ماتریس ها در "ماتریس" مثلثی پایین تر یا بالا هستند. |
---|