遍历长度为“L”的所有向量
Iterate over all vectors of length `L`
如何迭代具有指定长度(例如单位长度)的d
维度的所有可能向量,其中delta
是步长。
请注意,delta
可以非常小,例如单位向量的1e-3
。 d
通常在[0,5]
范围内,但这不是硬性限制!
愚蠢的方法是使用delta*i
列表进行i in [0,N)
并生成所有可能的组合,例如在 n 中选择 n 并选择那些总和为 1
的组合。但这似乎效率很低,我相信有我不知道的更好的方法。
镐至少应接近均匀分布在表面上。
好的,我想我想我想出了你需要什么。基本上,如果你选择
X=(X1, X2, ..., Xn)/norm(X)
其中X1, X2,..., Xn
呈正态分布N(0,1)
(平均值 0 和标准差 1),norm(X)
是 L2(欧几里得)范数X
,则保证向量X
均匀分布在n
维单位球面的表面上。
现在,既然你想离散化,只需从二项分布中绘制每个Xi
(在极限下我们知道它成为泊松分布,通过中心极限定理,收敛到高斯分布,见 http://www.roe.ac.uk/japwww/teaching/astrostats/astrostats2012_part2.pdf),你就完成了。当然,你会在维度n
中得到指数缩放,但我认为没有其他方法,因为此类向量的数量与维度呈指数级缩放。
相关文章:
- 在遍历处理程序的向量时注册和注销处理程序
- 遍历unordered_map向量
- 如何正确地推回然后遍历堆中对象的向量?
- 将树节点添加到向量向量中的 n 元树遍历的平均和最坏情况时间复杂度是多少?
- 为什么即使使用 for 循环遍历我的向量,它也没有输出到控制台?(C++)
- 执行错误访问 遍历向量
- 尝试重载输出运算符时,我无法遍历对象向量
- 遍历向量与数组哪个更快?
- 遍历对象向量,并找到与从文本文件中提取的对象匹配的变量
- 遍历包含 c++ 中指针的向量
- 如何遍历地图向量
- 遍历抽象类的向量
- 使用迭代器遍历向量并修改内容
- 遍历向量<向量<对<int, int> > >
- 如何遍历特定字符串的向量
- 循环遍历向量<string>并保持每个元素"count"时出现问题
- 如何使用 c++11 语法创建 for 循环以遍历向量
- 使用 auto 遍历指针的常量向量
- 在C 中的字符串向量的字符串元素中循环遍历所有字符
- 使用另一个向量遍历向量的特定元素