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 работает также на векторы по другим полям (например, конечным полям). Вычисление инверсии Мура-Пенроуза может перестать работать в таких случаях.