特征值数字的已知问题?

计算科学 matlab 特征值 数字 精确 数值限制
2021-12-17 03:18:04

是否存在任何已知问题(例如精度问题)MATLABeig 和 charpoly 函数足够大{1,0,+1}矩阵?

即使我改变1要么2矩阵之间的条目是否能够找到准确的特征值和特征多项式?我正在使用较小的尺寸40×40.

我的矩阵是满秩和对称的。矩阵的条件数似乎在中间1001015而行/列总和的绝对值相同。

如果我能得到对我来说足够好的 char poly。

2个回答

如果,如您所说,您只需要矩阵的特征多项式,而不需要特征值(求解特征多项式的根通常不会给出准确的特征值),并且因为您的矩阵非常小(40×40) 并且只有整数,因此仅使用 matlab 的符号操作来精确计算特征多项式可能就足够了,如下所示:

>> charpoly(sym(gallery('grcar', 10)))
ans =
[ 1, -10, 54, -200, 553, -1176, 1935, -2424, 2211, -1328, 401]

这回避了数值精度的任何问题eig显然,特征多项式的(整数)系数可能非常大。

基里尔使用符号线性代数的建议是正确的。另一种方法是在多个有限域上求解特征多项式,然后使用中国剩余定理重构特征多项式Z. 有限域线性代数不会遇到与您遇到的相同类型的数值问题eig