當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python tf.linalg.lu_solve用法及代碼示例


在給定 LU 分解的情況下,求解線性 eqns A X = RHS 係統。

用法

tf.linalg.lu_solve(
    lower_upper, perm, rhs, validate_args=False, name=None
)

參數

  • lower_upper lutf.linalg.lu 返回,即如果 matmul(P, matmul(L, U)) = Xlower_upper = L + U - eye
  • perm ptf.linag.lu 返回,即如果 matmul(P, matmul(L, U)) = Xperm = argmax(P)
  • rhs Matrix-shaped float Tensor 表示要求解的目標; A X = RHS 。要處理向量情況,請使用:lu_solve(..., rhs[..., tf.newaxis])[..., 0]
  • validate_args Python bool 指示是否應檢查參數的正確性。注意:此函數不驗證隱含矩陣實際上是可逆的,即使在 validate_args=True 時也是如此。默認值:False(即不驗證參數)。
  • name Python str 賦予此對象管理的操作的名稱。默認值:None(即'lu_solve')。

返回

  • x A @ X = RHS 中的 X

注意:此函數不驗證隱含矩陣實際上是可逆的,即使在 validate_args=True 時也不檢查此條件。

例子

import numpy as np
import tensorflow as tf
import tensorflow_probability as tfp

x = [[[1., 2],
      [3, 4]],
     [[7, 8],
      [3, 4]]]
inv_x = tf.linalg.lu_solve(*tf.linalg.lu(x), rhs=tf.eye(2))
tf.assert_near(tf.matrix_inverse(x), inv_x)
# ==> True

相關用法


注:本文由純淨天空篩選整理自tensorflow.org大神的英文原創作品 tf.linalg.lu_solve。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。