Обобщенный обратный в R - PullRequest
       15

Обобщенный обратный в R

0 голосов
/ 03 февраля 2012

Я могу использовать функцию ginv из библиотеки MASS, чтобы получить обобщенную обратную матрицу Мура-Пенроуза.

m <- matrix(1:9, 3, 3)
library(MASS)
ginv(m)

В SAS у нас есть несколько функций для получения обобщенной обратной величиныматрица.СВД можно использовать для поиска обобщенного обратного, но опять-таки это Мур-Пенроуз.Интересно, есть ли в R какая-либо функция для получения обобщенной обратной матрицы (которая не является уникальной), отличной от обобщенной обратной задачи Мура-Пенроуза.Заранее благодарим за помощь и время.

Редактировать

Обобщенная обратная матрица A определяется как любая матрица G, удовлетворяющая уравнению AGA =A.

Этот G не является обобщенным обратным преобразованием Мура-Пенроуза, поэтому он не уникален.

Ответы [ 2 ]

7 голосов
/ 03 февраля 2012

В большинстве случаев вам не нужно, чтобы матрица была инвертирована, потому что конечный результат может быть испорчен ошибками округления к тому времени, когда вы закончите.декомпозиция с использованием частичного поворота и масштабирования.Используйте его, чтобы выполнить прямое / обратное замещение вектора с правой стороны, чтобы получить решение.Это особенно полезно, если у вас есть несколько векторов RHS, потому что вы можете применять его повторно.

Для этого необходим пакет Matrix .

1 голос
/ 03 ноября 2014

Да, правда, это большое неудобство. Пакеты R больше не доступны.В качестве альтернативы вы можете использовать пакет pracma.И ваш Обобщенный обратный Мур-Пенроуз:

pinv(m)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...