linalg
:: pseudoInverse
Инверсия Мура-Пенроуза матрицы
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.
linalg::pseudoInverse(A
)
linalg::pseudoInverse(A)
вычисляет инверсию Мура-Пенроуза A.
Если инверсия Мура-Пенроуза A
не существует, то FAIL
возвращен.
Звонок компонента матричного A
должен быть полем, т.е. областью категории Cat::Field
.
Инверсия Мура-Пенроуза 2×3 матрица:
A := Dom::Matrix(Dom::Complex)([[1, I, 3], [1, 3, 2]])
3×2 матрица:
Astar := linalg::pseudoInverse(A)
Обратите внимание на то, что в этом примере, только:
A * Astar
приводит к единичной матрице, но не (см. “Фоны” ниже):
Astar * A
|
Матрица категории |
Матрица того же доменного типа как A
или значение FAIL
.
Для обратимой матрицы A инверсия Мура-Пенроуза A * A совпадает с инверсией A. В целом только A A* A = A и A * A A* = A * содержит.
Если A имеет размерность m ×n, то A * имеет размерность n ×m.
Вычисление инверсии Мура-Пенроуза требует существования скалярного произведения на векторном пространстве K n, где K является содействующим полем матричного A. Это только имеет место для некоторых полей K в теории, но linalg::scalarProduct
работает также на векторы по другим полям (например, конечным полям). Вычисление инверсии Мура-Пенроуза может перестать работать в таких случаях.