Умножение матриц по таблицам в kdb
Я хочу умножить все значения в таблице 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.
1 ответ
Решение
mmu работает только с поплавками, так что вам нужно разыграть с плавающей точкой
q)tab2:([]w:"f"$1 3 2 1; x:"f"$-6 8 0 -3);
q)taby:([] b:"f"$3, 2);
Вам также нужно убрать векторы из таблиц, выполнив "flip value flip"
q)(flip value flip tab2) mmu flip value flip taby
-9
25
6
-3