torch.logdet¶
- torch.logdet(input) 张量¶
计算方阵或方阵批次的对数行列式。
如果输入的行列式为零,则返回
-inf,如果行列式为负数,则返回NaN。注意
当
input不可逆时,logdet()内部使用 SVD 结果进行反向传播。在这种情况下,当input没有不同的奇异值时,通过logdet()进行双重反向传播将不稳定。详情请参见torch.linalg.svd()。另请参阅
torch.linalg.slogdet()计算实值(或复值)方阵的行列式的符号(或角度)和绝对值的自然对数。- Parameters
输入 (张量) – 大小为
(*, n, n)的输入张量,其中*表示零个或多个批次维度。
示例:
>>> A = torch.randn(3, 3) >>> torch.det(A) 张量(0.2611) >>> torch.logdet(A) 张量(-1.3430) >>> A 张量([[[ 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() 张量([1.1990, 0.4099, 0.7386]) >>> A.det().log() 张量([ 0.1815, -0.8917, -0.3031])