我似乎无法找到解决此问题的方法。设Z ^ 2为R ^ 2中的整数点阵。给定有理射线(意味着具有合理斜率的矢量),是否存在根据正交距离计算到该矢量的最接近晶格点的快速方法?这种方法可以推广到R ^ n中的超平面吗?
答案 0 :(得分:2)
您的问题似乎没有明确定义。你如何定义向量的距离? 如果你要求从格子到方向是有理向量的线的最近距离(如你的推广所示)那么答案是零,这要归功于合理性:你的方向是D =(n1 / d1,n2 / D2)。然后,点(d2 * n1,d1 * n2)在线上。
对于最小的非零距离:
我们可以假设d1 = d2 = d:D =(n1 / d,n2 / d)(可以通过设置例如d = d1 * d2得到)。现在,从单位网格到线的可能距离的形式为(Z * n1 + Z * n2)/ d =(Z * gcd(n1,n2))/ d,其中Z是整数集。 (这是Bézout定理的结果)。所以最小非零距离是gcd(n1,n2)/ d,其中gcd(。,。)给出两个整数的最大公约数。