矩阵的不变量与类型推断
相关工作
一些研究致力于自动推断辅助注释,如用于验证多维数组程序安全属性的不变量和后置条件。这些方法依赖代码模式描述需要注释的代码结构,用模板描述代码模式所需的注释,且需要用户指导来识别相关代码和模板模式。
与量化不变量生成方法相比,我们的方法无需先验固定的模板和谓词,直接从循环描述中推导量化不变量,能生成多维数组程序的属性。还有研究不依赖用户指导,通过抽象解释和将数组索引划分为符号区间来推导量化数组不变量,而我们的方法能处理标量变量上更丰富的算术子集,适用于多维数组。
在多项式不变量生成方面,一些方法计算固定度数的多项式等式作为不变量,而我们的方法不限制多项式的度数,能推导任意度数的多项式不变量。
矩阵类型
对于迭代遍历 $n×n$ 方阵 $A$ 的循环,我们可以推断一些矩阵属性,用一阶公式表示,这些属性和表示它们的公式被称为矩阵类型。常见的矩阵类型如下:
- 下三角矩阵(LT) :$\forall i, j. 1\leq i < j\leq n \Rightarrow A[i, j] = 0$
- 下三角可逆矩阵(LTI) :$\forall i, j. 1\leq i\leq j\leq n \Rightarrow (i < j \Rightarrow A[i, j] = 0) \land (i = j \Rightarrow A[i, j]\neq0)$
- 对角矩阵(D) :$\forall i, j. 1\leq i, j\leq n \Right
超级会员免费看
订阅专栏 解锁全文
2391

被折叠的 条评论
为什么被折叠?



