torch.logdet¶
- torch.logdet(input) Tensor ¶
計算方陣或方陣批次的對數行列式。
如果輸入的行列式為零,則傳回
-inf
,如果輸入的行列式為負數,則傳回NaN
。注意
當
input
不可逆時,logdet()
的反向傳播內部會使用 SVD 結果。在這種情況下,當input
沒有不同的奇異值時,通過logdet()
的雙重反向傳播將會不穩定。詳情請參閱torch.linalg.svd()
。另請參閱
torch.linalg.slogdet()
計算實數值(resp. 複數)方陣的行列式的絕對值的符號(resp. 角度)和自然對數。- 參數
input (Tensor) – 大小為
(*, n, n)
的輸入張量,其中*
是零個或多個批次維度。
範例
>>> A = torch.randn(3, 3) >>> torch.det(A) tensor(0.2611) >>> torch.logdet(A) tensor(-1.3430) >>> A tensor([[[ 0.9254, -0.6213], [-0.5787, 1.6843]], [[ 0.3242, -0.9665], [ 0.4539, -0.0887]], [[ 1.1336, -0.4025], [-0.7089, 0.9032]]]) >>> A.det() tensor([1.1990, 0.4099, 0.7386]) >>> A.det().log() tensor([ 0.1815, -0.8917, -0.3031])