kdb中跨表的矩阵乘法

kdb中跨表的矩阵乘法,kdb,q-lang,Kdb,Q Lang,我想将4x2表中的所有值乘以2x1表,然后得到一个4x1向量(理想情况下是表中的一列) 如何将kdb表中的数据转换为矩阵,以允许矩阵复制 tab2:([]w:1 3 2 1; x:-6 8 0 -3); taby:([] b: 3, 2); r:tab2 mmu taby" / this doesn't work, but this is what I want to get. mmu仅适用于浮动,因此您需要将其转换为浮动 q)tab2:([]w:"f"$1 3 2 1; x:"f"$-6

我想将4x2表中的所有值乘以2x1表,然后得到一个4x1向量(理想情况下是表中的一列)

如何将kdb表中的数据转换为矩阵,以允许矩阵复制

tab2:([]w:1 3 2 1; x:-6 8 0 -3);
taby:([] b: 3, 2);
r:tab2 mmu taby"  / this doesn't work, but this is what I want to get.

mmu仅适用于浮动,因此您需要将其转换为浮动

q)tab2:([]w:"f"$1 3 2 1; x:"f"$-6 8 0 -3);
q)taby:([] b:"f"$3, 2);
您还需要通过执行“翻转值翻转”从表中剥离向量


谢谢对于非常大的数据集,这些操作是否有效(在
tab2
中有大量行?或者有更好的方法吗?kdb似乎不太适合线性代数例程?我的用例将包括存储在表中的大量浮点型数据,我希望应用线性代数技术。例如线性回归、pca。我到目前为止看过的示例(q代表凡人)似乎事先假设一开始你有一个矩阵要处理,而不是一个表。操作会非常有效。唯一的不便是提取矩阵(列表列表)从表中选择。您也可以选择不将数据存储为表,但这取决于您的用例。我还建议您查看q数学库:
q)(flip value flip tab2) mmu flip value flip taby
-9
25
6
-3