TensorFlow计算方阵的Cholesky分解

2018-09-09 17:27 更新

tf.cholesky

cholesky (
input,
name = None
)

参考指南:数学函数>矩阵数学函数

计算一个或多个方阵的 Cholesky 分解.

输入是一个张量的形状:[..., M, M],其最内侧的2个维形成方形矩阵,具有与上述单矩阵 Cholesky 分解相同的约束条件.输出是与包含所有输入子矩阵 [..,:,:] 的 Cholesky 分解的输入相同形状的张量.

ARGS:

  • input:一个张量.必须是以下类型之一:float64,float32.形状是 [..., M, M].
  • name:操作的名称(可选).

返回:

返回一个张量,与 input 具有相同的类型.形状是 [..., M, M].

tf.cholesky_solve

cholesky_solve ( chol , rhs , name = None ) 

定义在:tensorflow/python/ops/linalg_ops.py.

参考指南:数学函数>矩阵数学函数

求解系统的线性方程 A X = RHS,给出 Cholesky 因式分解.

#解决10个独立的2x2线性系统: A = ... #shape 10x2x2 RHS = ... #shape 10x2x1 chol = tf .cholesky(A) #shape 10x2x2 X = tf .cholesky_solve ( CHOL , RHS ) #10形状×2×1个 #tf.matmul(A,X)〜RHS X[3,:,0] #解线性系统A [3,:,:1 = RHS [ 3,,,0] #解决长度为10批次的每个成员的五个线性系统(K = 5). A = ... #shape 10x2x2 RHS = ... #shape 10x2 x5 ... X[3 ,:,2 ] #解线性系统A [3,:,:1 = RHS [3,:1,2] 

ARGS:

  • chol:一个张量.类型必须是 float32 或 float64,形状是 [..., M, M].Cholesky 分解 A,例如 chol = tf.cholesky(A).因此,只有 chol 的最后两个维度的下三角形部分(包括对角线)被使用.严格上半部分被假定为零并且不被访问.
  • rhs:一个张量,与 chol 有相同类型,形状是 [..., M, K].
  • name:操作的名字.默认为 cholesky_solve.

返回:

返回解决方案 A x = rhs,形状是 [..., M, K].


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号