У меня есть матрица, такая как этот пример (мои фактические матрицы могут быть намного больше)
A = [-1 -2 -0.5;
0 0.5 0;
0 0 -1];
который имеет только два линейно независимых собственных значения (собственное значение -1 повторяется). Я хотел бы получить полную основу с обобщенными собственными векторами. Я знаю, как это сделать, используя функцию Matlab jordan
в Symbolic Набор математических инструментов, но я бы предпочел что-то, предназначенное для числовых входных данных (действительно, с двумя выходными данными jordan
не работает для больших матриц: «Ошибка в команде MuPAD: матрица сходства слишком велика».). Мне не нужна каноническая форма Жордана, которая, как известно, нестабильна в числовом контексте, мне нужна только матрица обобщенных собственных векторов. Существует ли функция или комбинация функций, которая автоматизирует это численно стабильным способом, или нужно использовать общий ручной метод (как стабильная такая процедура)?
ПРИМЕЧАНИЕ. Под «обобщенным собственным вектором» я подразумеваю ненулевой вектор, который можно использовать для дополнения неполного базиса так называемого дефектная матрица. Я не имею в виду собственные векторы, соответствующие собственным значениям, полученным в результате решения обобщенной проблемы собственных значений. используя eig
или qz
(хотя это последнее использование довольно распространено, я бы сказал, что его лучше избегать). Если кто-то не поправит меня, я не верю, что это одно и то же.
ОБНОВЛЕНИЕ 1 — пять месяцев спустя:
См. мой ответ здесь о том, как символически получить обобщенные собственные векторы для матриц размером более 82 на 82 (предел для моего теста матрица в этом вопросе).
Меня по-прежнему интересуют числовые схемы (или то, как такие схемы могут быть нестабильными, если все они связаны с вычислением формы Жордана). Я не хочу слепо применять метод линейной алгебры 101, который был помечен как дубликат этого вопроса, поскольку это не численный алгоритм, а скорее метод карандаша и бумаги, используемый для оценки студентов (я полагаю, что это может быть реализовано символически однако). Если кто-нибудь может указать мне на реализацию этой схемы или ее численный анализ, я был бы заинтересован в этом.
ОБНОВЛЕНИЕ 2 — февраль 2015 г. Все вышеперечисленное остается верным, как было протестировано в R2014b.
eigensys
больше не существует в R2013a, необходимо использоватьeig(sym(A)
). - person horchler   schedule 04.09.2013jordan
по-прежнему ограничена для R2014b. Я не могу комментировать, как это может улучшиться в будущем выпуске... :-) - person horchler   schedule 12.02.2015null((A-eye(3)*eigenvalue)^multiplicity)
в соответствии с определением обобщенных собственных векторов вас не удовлетворит? - person knedlsepp   schedule 15.02.2015J=V\A*V
тоже должна внести свой вклад. Я также видел этот документ/презентацию. Я бы доверял ему немного больше, если бы он был в какой-то степени рецензирован, но это все равно интересно. Я не уверен, что они говорят, что могут решать произвольные системы. - person horchler   schedule 17.02.2015