Вычисление псевдообращения с помощью PARI/GP
Как я могу вычислить псевдообратную для произвольной mxn-матрицы в PARI/GP? Есть ли простой способ, или я должен полностью запрограммировать процесс?
2 ответа
Йорг Арндт написал код псевдообратного (Мура-Пенроуза) здесь:
где он появляется под matsvd.gpi
,
В простом (но распространенном) случае, когда матрица имеет полный ранг столбца, вы можете вычислить ее как
pseudoinverse(M) = my(ct=conj(M)~); (ct*M)^-1 * ct;
Я полагаю, вы имеете в виду псевдообрат Мура-Пенроуза?
В учебнике и руководстве по Pari/GP псевдообратный не упоминается, поэтому вам, вероятно, придется написать собственное решение.
Запись в Википедии может помочь. Вы также можете найти алгоритмы в хороших книгах по продвинутой линейной алгебре, например, в книге Джонатана Голана " Линейная алгебра, которую должен знать начинающий аспирант".