\textsc{Lara} is a key-value algebra that aims at unifying linear and relational algebra with three types of operation abstraction. The study of \textsc{Lara}'s expressive ability reports that it can represent relational algebra and most linear algebra operations. However, several essential computations, such as matrix inversion and determinant, cannot be expressed in \textsc{Lara}. \textsc{Lara} cannot represent global and iterative computation, either. This article proposes \textsc{IterLara}, extending \textsc{Lara} with iterative operators, to provide an algebraic model that unifies operations in general-purpose computing, like big data, AI, scientific computing, and database. We study the expressive ability of \textsc{Lara} and \textsc{IterLara} and prove that \textsc{IterLara} with aggregation functions can represent matrix inversion, determinant. Besides, we demonstrate that \textsc{IterLara} with no limitation of function utility is Turing complete. We also propose the Operation Count (OP) as a metric of computation amount for \textsc{IterLara} and ensure that the OP metric is in accordance with the existing computation metrics.
翻译:Lara是一种旨在通过三种操作抽象统一线性代数和关系代数的键值代数。对Lara表达能力的研究表明,它可以表示关系代数及大多数线性代数运算。然而,若干关键计算(如矩阵求逆和行列式)无法用Lara表达。Lara也无法表示全局计算和迭代计算。本文提出IterLara,通过引入迭代算子扩展Lara,以提供一个能够统一通用计算(如大数据、人工智能、科学计算和数据库)中操作的代数模型。我们研究了Lara和IterLara的表达能力,并证明带聚合函数的IterLara可表示矩阵求逆和行列式。此外,我们证明无函数使用限制的IterLara具有图灵完备性。我们提出了操作计数(OP)作为IterLara计算量的度量指标,并验证了OP指标与现有计算度量指标的一致性。