Ilya Kmet
июнь 2015.
809

Как найти обратный элемент в кольце?

Ответить
Ответить
Комментировать
0
Подписаться
0
1 ответ
Поделиться

Я много лет не пользовался определением кольца, известным из курса алгебры, однако постановка вопроса показалась мне странной, ведь в отличие от тела, где у каждого элемента за исключением нуля есть обратные элементы, у элемента кольца может не быть обратного. Для того, чтобы написать об обобщениях понятия обращения элемента, я освежил память с помощью Википедии. Заодно выяснил, что слово "кольцо" было введено в оборот математиков Давидом Гильбертом в конце 19-го века, почти за тридцать лет до того, как Эмми Нётер дала современное аксиоматическое определение кольца как алгебраической системы, имеющей структуры коммутативной группы по сложению, и полугруппы по умножению.

В середине XX века несколько математиков независимо развили теорию обобщенного обращения элементов кольца.

Кольцо является полугруппой относительно умножения. Для элемента x полугруппы может быть определен слабый обратный элемент y, как элемент, удовлетворяющий соотношению:

y x y = y (1).

Если для всякого элемента полугруппы x найдётся единственный элемент y, который является слабым обратным и дополнительно удовлетворяет условию

x y x = x (2),

то такая полугруппа называется инверсионной полугруппой. Оказывается, что кольца матриц над вещественными или комплексными числами являются инверсионными полугруппами относительно умножения матриц.

Так была развита теория обобщенного обращения Мура и Пенроуза. Псевдообратной матрицей для матрицы A по определению Мура-Пенроуза называется матрица A+, удовлетворяющая четырем соотношениям:

1. A A+ A = A

2. A+ A A+ = A+

3. (A A+)* = A A+

4. (A+ A)* = A+ A

Оказывается, что такая псевдообратная матрица существует и единственна для колец матриц над C и R, а также, как следствие, совпадает с обратной матрицей для матриц полного ранга.

Алгоритм вычисления псевдообратной матрицы основан на алгоритме сингулярного разложения. Если A = U D V*, то достаточно найти псевдообратную матрицу для диагональной матрицы D, а затем вычислить A+ = V D+ U*. Этот алгоритм реализован в пакетах интерактивной линейной алгебры Matlab, Octave, Scilab, NumPy и т.п. как функция pinv.

1
Прокомментировать
Ответить