我怎样才能找到任意N个(比如30个)aX1+bX2+cX3+.....mXn=d的解(其中n,也称为这个空间的维数,可以是大于2的整数,并且0〈=Xn〈=1)。
weights = torch.tensor([a,b,c....m])
# X is a tensor with the same size of w
# What I want do is to find a tensor X that qualified for:
(weights*X).sum() = d
当维数为2时,我随机生成一个Tensor,如下所示:
u = 0.5
t = torch.rand(2)
if t*weights == d:
return t
当维数大于2时,这个方法变得非常慢。有更好的解决方案吗?
2条答案
按热度按时间jyztefdp1#
随机设置权重中除m以外的所有值,然后根据这些值只找到m,怎么样?
验证码:
结果:
vsikbqxv2#
我自己用线性代数找到了一个简单的解,这个解适合空间[0,1]^N