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


Python mxnet.symbol.linalg.syevd用法及代碼示例


用法:

mxnet.symbol.linalg.syevd(A=None, name=None, attr=None, out=None, **kwargs)

參數

  • A(Symbol) - 要分解的輸入矩陣的張量
  • name(string, optional.) - 結果符號的名稱。

返回

結果符號。

返回類型

Symbol

對稱矩陣的特征分解。輸入是一個張量 A 的維度 n >= 2

如果 n=2A 必須是對稱的,形狀為 (x, x) 。我們計算特征分解,得到特征向量的正交矩陣U,形狀(x, x),以及特征值的向量L,形狀(x,),因此:

U * A = diag(L) * U

這裏:

U * UT = UT * U = I

其中I 是單位矩陣。另外,L(0) <= L(1) <= L(2) <= …(升序)。

如果 n>2 ,則 syevd 分別在 A 的尾隨兩個維度上執行(批處理模式)。在這種情況下,U 具有 n 尺寸,例如 A ,而 L 具有 n-1 尺寸。

注意

該運算符僅支持 float32 和 float64 數據類型。

注意

僅當 A 的所有特征值都不同且特征間隙不太小時,才定義此運算符的導數。如果您需要梯度,請不要將此運算符應用於具有多個特征值的矩陣。

例子:

Single symmetric eigendecomposition
A = [[1., 2.], [2., 4.]]
U, L = syevd(A)
U = [[0.89442719, -0.4472136],
     [0.4472136, 0.89442719]]
L = [0., 5.]

Batch symmetric eigendecomposition
A = [[[1., 2.], [2., 4.]],
     [[1., 2.], [2., 5.]]]
U, L = syevd(A)
U = [[[0.89442719, -0.4472136],
      [0.4472136, 0.89442719]],
     [[0.92387953, -0.38268343],
      [0.38268343, 0.92387953]]]
L = [[0., 5.],
     [0.17157288, 5.82842712]]

相關用法


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