Returns the (Moore-Penrose) pseudo-inverse of a matrix (or a stack of matrices) x
.
The pseudo-inverse of a matrix \(A\), denoted \(A^{+}\), is defined as the matrix that “solves” the least-squares problem \(Ax = b\) (i.e., if \(\overline{x}\) is a solution, then \(A^{+}\) is the matrix such that \(\overline{x} = A^{+}b\)).
While the pseudo-inverse can be defined algebraically, one can understand the pseudo-inverse via singular value decomposition (SVD). Namely, if
\[A = U \Sigma V^H\]
is a singular decomposition of \(A\), then
\[A^{+} = U \Sigma^{+} V^H\]
where \(U\) and \(V^H\) are orthogonal matrices, \(\Sigma\) is a diagonal matrix consisting of \(A\)’s singular values, and \(\Sigma^{+}\) is then a diagonal matrix consisting of the reciprocals of \(A\)’s singular values, leaving zeros in place. During numerical computation, only elements larger than a small tolerance are considered nonzero, and all others replaced by zeros.
When x
is a stack of matrices, the function must compute the pseudo-inverse for each matrix in the stack.
x (array) – input array having shape (..., M, N)
and whose innermost two dimensions form MxN
matrices. Should have a floating-point data type.
rtol (Optional[Union[float, array]]) – relative tolerance for small singular values. Singular values approximately less than or equal to rtol * largest_singular_value
are set to zero. If a float
, the value is equivalent to a zero-dimensional array having a real-valued floating-point data type determined by Type Promotion Rules (as applied to x
) and must be broadcast against each matrix. If an array
, must have a real-valued floating-point data type and must be compatible with shape(x)[:-2]
(see Broadcasting). If None
, the default value is max(M, N) * eps
, where eps
must be the machine epsilon associated with the real-valued floating-point data type determined by Type Promotion Rules (as applied to x
). Default: None
.
out (array) – an array containing the pseudo-inverse(s). The returned array must have a floating-point data type determined by Type Promotion Rules and must have shape (..., N, M)
(i.e., must have the same shape as x
, except the innermost two dimensions must be transposed).
Notes
Changed in version 2022.12: Added complex data type support.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4