问题描述
我试图通过计算它们来更好地理解 principle angles,我发现 scipy 有一个简单的函数可以做到这一点。
假设我有 2 个数组:
from scipy.linalg import subspace_angles as sa
import torch
arr1 = torch.tensor([[1,2],[1.4,2.4]])
arr2 = torch.tensor([[2,3],[11,22]])
我可以使用以下方法计算:
sa(arr1,arr2)
>>> array([8.36970078e-08,3.55122804e-08])
不过,我不太明白这个计算。例如,为什么以下有效?
arr1 = torch.tensor([[1,1,0],[0,0]])
arr2 = torch.tensor([[1,1],1]])
sa(arr1,arr2)
>>>array([1.57009246e-16,0.00000000e+00])
而这个报错了
arr1 = torch.tensor([[1,arr2)
>>>ValueError: A and B must have the same number of rows,got 3 and 2
这个给出了一个 0
arr1 = torch.tensor([[1,9]])
arr2 = torch.tensor([[2,33]])
sa(arr1,arr2)
>>> 0
我可能错了,但从我所见,如果我有一个大小为 i
的张量,我将得到 i
个主角。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)