三元二次型的快速约化
1. 引言
正定整二次型 (F) 是一个齐次多项式 (F(X_1, \ldots, X_d) = (X_1, \ldots, X_d) A (X_1, \ldots, X_d)^T),其中 (A \in Z^{d\times d}) 是一个正定整矩阵,即 (A = A^T) 且对于所有 (x \neq 0) 有 (x^T A x > 0)。研究二次型的一个基本问题是,给定一个二次型 (F),求其在整向量上取得的最小非零值 (\lambda(F) = \min{ F(x_1, \ldots, x_d) | x \in Z^d, x \neq 0 })。
在固定维度下,如果二次型 (F) 是约化的,这个问题可以快速解决。约化的定义是矩阵 (A) 的对角元素乘积满足 (\prod_{i=1}^{d} a_{ii} \leq \gamma_d \Delta_F),其中 (\gamma_d) 是仅依赖于维度 (d) 的常数,(\Delta_F = \det A) 是二次型 (F) 的行列式。
1.1 相关算法的复杂度
- LLL 算法 :LLL 约化算法是一个多项式时间算法,即使在变化的维度下也有效。在固定维度下,它可以用 (O(s)) 次对大小为 (O(s)) 的整数的算术运算来约化一个二进制编码大小为 (s) 的二次型 (F),这相当于 (O(M(s) s)) 次位运算,其中 (M(s)) 是 (s) 位整数乘法的位复杂度。
- 二元二次型约化 :二元二次型可以用 (O(M(s) \log s)) 次位运算进行约化。
超级会员免费看
订阅专栏 解锁全文
74

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



