当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。