Shortcuts

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])
优云智算