【发布时间】:2020-03-02 03:21:06
【问题描述】:
假设我有一个包含 3 个符号的列表:
l:`s1`s2`s3
生成以下 n*(n+1)/2 排列列表的 q 方式是什么?
(`s1;`s1),(`s1;`s2),(`s1;`s3),(`s2;`s2),(`s2;`s3),(`s3;`s3)
这可以看作是在相关矩阵的上下文中,我想要相关矩阵的所有上三角部分,包括对角线。
当然我的初始列表的大小会超过3,所以我想要一个通用函数来执行这个操作。
我知道如何生成对角线元素:
q) {(x,y)}'[l;l]
(`s1`s1;`s2`s2;`s3`s3)
但我不知道如何生成非对角元素。
【问题讨论】:
-
如果您正在寻找 Pearson 的 corrmatrix 函数,您可以查看 q-math 中的 .math.st.corrm
标签: permutation kdb