Имам матрица като този пример (действителните ми матрици могат да бъдат много по-големи)
A = [-1 -2 -0.5;
0 0.5 0;
0 0 -1];
който има само две линейно независими собствени стойности (собствената стойност -1 се повтаря). Бих искал да получа пълна база с обобщени собствени вектори. Един от начините, по които знам как да направя това, е с функцията jordan
на Matlab в 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