7.20 使用笛卡尔积计算矩阵相乘

 

通过叉积过滤,计算矩阵相乘。

Matrix
row
col
value

imagepng

本例的数学公式如下:

imagepng

使用 xjoin() 函数计算叉积,同时可以根据条件过滤。

脚本:

A
1 =connect(“db”)
2 =A1.query(“select * from MatrixA”)
3 =A1.query@x(“select * from MatrixB”)
4 =xjoin(A2:A; A3:B, A.col==A3.row)
5 =A4.groups(A.row:row,B.col:col;sum(A.value * B.value):value)

A1 连接数据库
A2 查询矩阵表 A
A3 查询矩阵表 B
A4 使用 xjoin 函数计算两表叉积,同时进行条件过滤
A5 将结果分组汇总,计算每个行列点的值

运行结果:

row col value
1 1 14
1 2 32
2 1 32
2 2 77