我知道两个完整矩阵乘法的下界是Ω(n ^ 2)。 Matrix multiplication
我一直试图用问题转换方法证明两个下三角矩阵乘法的下界。
我最初的想法是(1)变换下三角矩阵,(2)估计这种变换的时间复杂度。
T(lower_triangular_matrix_multiplication(n))+O(lower_triangular_matrix_transformation(n))>Ω(full_matrix_multiplication(n)) = Ω(n^2)
现在,我只需要证明O(lower_triangular_matrix_transformation(n))
,我需要将三角矩阵作为一个完整矩阵,所以为了简单起见,我只是让这个三角矩阵乘以自身的变量,比如转置。
原因是下三角矩阵的平方仍然是下三角矩阵,下三角矩阵乘以其转置变量是“全矩阵”。
所以我只需要分析三角矩阵的复杂性乘以其转置变化。
有人能表明我的想法是否“合理”?
答案 0 :(得分:3)
我不相信通过构造算法足以证明下限,因为仍然不能排除存在不同复杂度较低的算法。
很明显,下限不会高于O(n ^ 2),因为一般乘法总是适用于lower_triangle_matrices(ltm)。
现在,由于任意矩阵到一个或多个ltm的任何变换本身就是O(n ^ 2)复杂度的运算,我们可能无法推断出任何这样的算法都不存在。
你的推理概述似乎表明,增加复杂性遵循“正常”的算术规则。事实并非如此! 由此产生的复杂性始终是(至少)算法部分复杂性的最大值。
所以你的推理似乎不合理。
您可以尝试以下方法之一:
对我来说,看起来好像是来自T()+ O()>的步骤。 O(n ^ 2)没有良好的基础。 从这一点来看,只需要证明(O(ltm))的结论就会被打破。
答案 1 :(得分:2)
我在想解决方案可能是将A转换为A + A'。 transpose和plus操作的复杂性都是O(n ^ 2)。 因此,O(lower_triangular_matrix_transformation(n))= n ^ 2。 因为A A的下界和(A + A')(A + A')中的下界也是Ω(n ^ 2), T(lower_triangular_matrix_multiplication(n))>Ω(full_matrix_multiplication(n)) - O(lower_triangular_matrix_transformation(n)),这意味着三角矩阵的下界和全矩阵的下界是相同的。
Q.E.D。