AsterixDB:稀疏矢量产品

时间:2015-10-27 22:06:28

标签: database sparse-matrix

我试图在AsterixDB中制作一个稀疏的矢量产品,但我对语法感到困惑。

我可以创建稀疏矢量类型,但是如何创建一个可以实现以下伪代码的函数?

use dataverse linalg
create type sparsevec as closed {
    ind: [int64],
    val: [double]
}

create type densevec as closed {
    val: [double]
}

create function prod(densevec v, sparsevec sv) {
    return sum( for i in range(len($sv.ind))
                return $v.val[$sv.ind[i]] * $sv.val[i] )
}

我的代码中存在明显的Python影响,但我认为这应该是有意义的。

0 个答案:

没有答案