TensorFlow計(jì)算方陣的Cholesky分解

2018-09-09 17:27 更新

tf.cholesky

cholesky (
input,
name = None
)

參考指南:數(shù)學(xué)函數(shù)>矩陣數(shù)學(xué)函數(shù)

計(jì)算一個(gè)或多個(gè)方陣的 Cholesky 分解.

輸入是一個(gè)張量的形狀:[..., M, M],其最內(nèi)側(cè)的2個(gè)維形成方形矩陣,具有與上述單矩陣 Cholesky 分解相同的約束條件.輸出是與包含所有輸入子矩陣 [..,:,:] 的 Cholesky 分解的輸入相同形狀的張量.

ARGS:

  • input:一個(gè)張量.必須是以下類型之一:float64,float32.形狀是 [..., M, M].
  • name:操作的名稱(可選).

返回:

返回一個(gè)張量,與 input 具有相同的類型.形狀是 [..., M, M].

tf.cholesky_solve

cholesky_solve ( 
    chol , 
    rhs , 
    name = None
 )

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

參考指南:數(shù)學(xué)函數(shù)>矩陣數(shù)學(xué)函數(shù)

求解系統(tǒng)的線性方程 A X = RHS,給出 Cholesky 因式分解.

#解決10個(gè)獨(dú)立的2x2線性系統(tǒng): 
A =  ... #shape 10x2x2 
RHS =  ... #shape 10x2x1
chol = tf .cholesky(A)  #shape 10x2x2 
X = tf .cholesky_solve ( CHOL , RHS )  #10形狀×2×1個(gè)
#tf.matmul(A,X)?RHS 
X[3,:,0]   #解線性系統(tǒng)A [3,:,:1 = RHS [ 3,,,0]

#解決長度為10批次的每個(gè)成員的五個(gè)線性系統(tǒng)(K = 5).
A =  ... #shape 10x2x2 
RHS =  ... #shape 10x2 x5 
...
X[3 ,:,2 ]   #解線性系統(tǒng)A [3,:,:1 = RHS [3,:1,2]

ARGS:

  • chol:一個(gè)張量.類型必須是 float32 或 float64,形狀是 [..., M, M].Cholesky 分解 A,例如 chol = tf.cholesky(A).因此,只有 chol 的最后兩個(gè)維度的下三角形部分(包括對角線)被使用.嚴(yán)格上半部分被假定為零并且不被訪問.
  • rhs:一個(gè)張量,與 chol 有相同類型,形狀是 [..., M, K].
  • name:操作的名字.默認(rèn)為 cholesky_solve.

返回:

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


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號