1. 函数介绍:
功能:
计算对称正定矩阵的Cholesky分解。A 或对于成批的对称正定矩阵。
如果 upper 为 True ,则返回的矩阵 U 为上三角,分解形式为:
A=U^TU
如果 upper 为 False ,则返回的矩阵 L 为下三角,分解形式为:
A=LL^T
如果 upper 为 True ,并且A 是一组对称的正定矩阵,则返回的张量将由各个矩阵的上三角Cholesky因子组成。同样,当 upper 为 False 时,返回的张量将由各个矩阵的下三角Cholesky因子组成。
注意:
torch.linalg.cholesky() 如果可能,应该在 torch.cholesky 上使用torch.linalg.cholesky()。但是请注意, torch.linalg.cholesky() 尚不支持 upper 参数,而是始终返回下三角矩阵。
Parameters
input(张量)–输入张量A 大小(*, n, n) 其中 * 是零个或多个由对称正定矩阵组成的批处理维。
upper(bool ,可选)–指示是否返回上三角矩阵或下三角矩阵的标志。默认值: False
输出:
out(Tensor ,可选)–输出矩阵2. 案例
import torch
input = torch.randn(3, 3)
input = torch.mm(input , input .t())
out = torch.cholesky(input=input , upper=True)
print(input )
print(out)
'''
结果:
tensor([[ 6.0245, -2.4599, -3.9290],
[-2.4599, 8.1421, 4.2904],
[-3.9290, 4.2904, 3.7194]])
tensor([[ 2.4545, -1.0022, -1.6007],
[ 0.0000, 2.6716, 1.0054],
[ 0.0000, 0.0000, 0.3824]])
'''版权声明:本文为weixin_43869605原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。