gpt4 book ai didi

kdb - 同一行同一列的矩阵单元

转载 作者:行者123 更新时间:2023-12-02 18:18:19 24 4
gpt4 key购买 nike

是否有更有效/惯用的方法来检索与给定单元格位于同一行和同一列的矩阵单元格?

q) f:{except[;y] x[y div n;],x[;y mod n:count first x]}
q) show A:s#til prd s:2 3
0 1 2
3 4 5
q) f[A;4]
3 5 1
q) f[A;2]
0 1 5

最佳答案

g:{
s:count each 1 first\x; // shape
rc:s vs y; // y as row-column
on:rc+/:{x,reverse each x} -1 1,'0; // orthogonal neighbours of rc
nn:on where all flip[on]within'0,'s-1; // near neighbours: eliminate out of range
x ./:nn }
q)A:2 3#til prd 2 3
q)g[A;4]
1 3 5
q)g[A;2]
5 1

如果A仅包含其raze(raze A)的索引,那么我们只需要它的形状,并且g可以返回索引y 的正交邻居。

h:{[s;y]
rc:s vs y; // y as row-column
on:rc+/:{x,reverse each x} -1 1,'0; // orthogonal neighbours of rc
nn:on where all flip[on]within'0,'s-1; // near neighbours: eliminate out of range
s sv/:nn }
q)h[2 3;4]
1 3 5
q)h[2 3;2]
5 1

请注意,这可以很容易地适应对角邻居,而不是正交邻居;也到矢量y

关键概念

  • 使用svvs将数字编码/解码为任何算术基数
  • 使用 map iterators每个人都有控制迭代的权利

关于kdb - 同一行同一列的矩阵单元,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71221311/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com