Contents

linalg::pseudoInverse

Moore-Penrose inverse of a matrix

Use only in the MuPAD Notebook Interface.

This functionality does not run in MATLAB.

Syntax

linalg::pseudoInverse(A)

Description

linalg::pseudoInverse(A) computes the Moore-Penrose inverse of A.

If the Moore-Penrose inverse of A does not exist, then FAIL is returned.

The component ring of the matrix A must be a field, i.e., a domain of category Cat::Field.

Examples

Example 1

The Moore-Penrose inverse of the 2×3 matrix:

A := Dom::Matrix(Dom::Complex)([[1, I, 3], [1, 3, 2]])

is the 3×2 matrix:

Astar := linalg::pseudoInverse(A)

Note that in this example, only:

A * Astar

yields the identity matrix, but not (see "Backgrounds" below):

Astar * A

Parameters

A

A matrix of category Cat::Matrix

Return Values

Matrix of the same domain type as A, or the value FAIL.

Algorithms

For an invertible matrix A, the Moore-Penrose inverse A* of A coincides with the inverse of A. In general, only AA*A = A and A*AA* = A* holds.

If A is of dimension m×n, then A* is of dimension n×m.

The computation of the Moore-Penrose inverse requires the existence of a scalar product on the vector space Kn, where K is the coefficient field of the matrix A. This is only the case for some fields K in theory, but linalg::scalarProduct works also for vectors over other fields (e.g. finite fields). The computation of a Moore-Penrose inverse may fail in such cases.

See Also

MuPAD Functions

Was this topic helpful?