我有一个像这个例子这样的矩阵(我的实际矩阵可能要大得多)
A = [-1 -2 -0.5;
0 0.5 0;
0 0 -1];
只有两个线性无关的特征值(特征值 -1 重复)。我想用广义特征向量获得一个完整的基础。我知道如何做到这一点的一种方法是使用jordan
符号数学工具箱中的 Matlab 函数,但我更喜欢为数字输入设计的东西(事实上,有两个输出,jordan
对于大型矩阵失败:“MuPAD 命令中的错误:相似矩阵太大。”)。我不需要 Jordan 规范形式,它在数字上下文中是出了名的不稳定,只需要一个广义特征向量的矩阵。是否有一种功能或功能组合可以以数值稳定的方式自动执行此操作,或者必须使用通用手动方法(这样的程序有多稳定)?
注意:“广义特征向量”是指一个非零向量,可用于增强所谓的缺陷矩阵的不完全基。我并不是指与使用or解决广义特征值问题所获得的特征值相对应的特征向量(尽管后一种用法很常见,但我认为最好避免使用)。除非有人能纠正我,否则我不相信两者是相同的。eig
qz
更新 1 - 五个月后:
请参阅我的答案,了解如何为大于 82×82 的矩阵(我的测试矩阵在这个问题中的限制)象征性地获得广义特征向量。
我仍然对数字方案感兴趣(或者如果它们都与计算 Jordan 形式有关,那么这些方案可能会如何不稳定)。我不希望盲目地实现已被标记为该问题重复的线性代数 101 方法,因为它不是数值算法,而是用于评估学生的纸笔方法(我想它可以实现然而,象征性地)。如果有人可以指出该方案的实现或对其进行数值分析,我会对此感兴趣。
更新 2 - 2015 年 2 月:以上所有内容在 R2014b 中测试仍然正确。