Moore矩阵类似于Vandermonde矩阵,但定义稍有修改。 http://en.wikipedia.org/wiki/Moore_matrix
计算给定的全秩Moore矩阵以某个整数为模的行列式的复杂度是多少?
罐摩尔行列式从被降低使用FFT技术来一段?
Moore det取模整数的复杂度和Vandermonde det一样吗?Vandermonde行列式的复杂度为(《理论计算机科学手册》第644页:算法和复杂性,作者Jan Leeuwen)
发布与当前类似的帖子:行列式模m
Moore矩阵类似于Vandermonde矩阵,但定义稍有修改。 http://en.wikipedia.org/wiki/Moore_matrix
计算给定的全秩Moore矩阵以某个整数为模的行列式的复杂度是多少?
罐摩尔行列式从被降低使用FFT技术来一段?
Moore det取模整数的复杂度和Vandermonde det一样吗?Vandermonde行列式的复杂度为(《理论计算机科学手册》第644页:算法和复杂性,作者Jan Leeuwen)
发布与当前类似的帖子:行列式模m
Answers:
通常,存在一种理论上的时间算法,该算法使用Coppersmith-Winograd算法查找任意矩阵的LU分解,然后显然得出行列式(加上时间)。但是,存在一个问题,即在实践中认为Coppersmith-Winograd算法不可用。Afaik,人们大多使用时间Strassen算法。Boost UBLAS的lu_factorize不会使用这个吗?O (n )O (n 2.807)
在您的情况下,Moore矩阵应该接受可观的优化,因为基本上任何抽象的高斯消减(如LU分解)过程都可以抽象完成。确实,您会找到一个很好的公式来计算Wikipedia引用的Moore行列式,大概可以通过简单地算出LU分解来证明这一点。
重要的是,在您提供的定义中,矩阵存在于有限域中,例如,其中m为质数。这使您可以使用欧拉定理来计算在时间中出现在矩阵中的双指数。 否则,即使不分解也很难计算矩阵系数。
如果为质数或可以有效分解,则最坏情况的复杂度由矩阵乘法所需的步数决定。例如,如果您使用“慢速”,我在合作伙伴帖子中提到的史密斯范式方法将计算时间乘法算法。可以选择为2.373。
由于必须对矩阵的系数进行两次幂运算,因此Moore vs Vandermonde 的速度变慢。当您可以分解这种减慢就是对数。如果不是这样,所给出的算法可以使您对幂进行Cook归约。
注意*:更快的整数乘法算法允许您用替换 。
更新:关于实现的可能性。
我对此没有确切的答案,但是我发现了一些可能会加紧搜索范围的信息。
在文献中将用于计算诸如时间行列式类的数量的结构化矩阵的 算法称为“超快”。结构矩阵(Vandermonde,Toeplitz,Hankel)的所有已知“超快速”算法似乎都依赖于该矩阵的共同特性,即低“位移等级”。在本书的第一章(开放访问页面)或本文[ACM]和[PDF]中进行讨论。
根据我的阅读,给定摩尔矩阵,如果您能够找到矩阵,,使得新矩阵(或者)具有以下结构
,并且等级很小(可以是常数,也可以由),则可以应用现有技术(请参阅本书第5章,访问页面)到三角形,并因此使用计算。上面的,表示向量。如果您找不到上面的书来阅读整本书,则本文还将提供有关这些方法的大量信息。
不幸的是,我无法找到摩尔矩阵的低排位结构(范德蒙德拥有)。这里的主要复杂之处似乎来自于双指数的“非线性”性质。如果有帮助,本书中还会列出范德蒙德,柯西,托普利茨,汉克尔的案例。