我在Matlab中使用polyeig命令来解决Matlab中2阶的多项式特征值问题。我知道系统有一个0特征值(这是由于零系数矩阵的形式,其中每个对角元素是同一行中元素总和的-1倍,因此向量(1 1 1 ... 1) )具有0个特征值)。
系统大小约为150至150。
当我使用polyeig
命令时,我得到的最低特征值是1E-4(它应该是0特征值),而第二个最低值是1E-1。随着系统尺寸减小,最低特征值减小到1E-14的某个数量级,这是合理的,但1E-4太多。
无论如何要达到更好的准确度或您建议的任何其他库? 我还可以将多项式特征值问题转换为更高维度的广义特征值问题(给定维数的2倍),但我不确定这会如何影响速度和准确性。我想在重新解决问题之前看看是否有一个更简单的解决方案。所以我欢迎任何关于这些问题的建议。
编辑:问题得到解决它实际上是关于我使用的INPUT文件的精度,最多只打印4位数。找到更好的精度后,精度会提高。无论如何,谢谢。
答案 0 :(得分:0)
问题原来是我使用的输入文件,最多只打印4个小数点。现在即使使用800x800的矩阵,我也只能得到精确到e-11的问题,这很好。