| linalg_inv {torch} | R Documentation |
Computes the inverse of a square matrix if it exists.
Description
Throws a runtime_error if the matrix is not invertible.
Usage
linalg_inv(A)
Arguments
A |
(Tensor): tensor of shape |
Details
Letting \mathbb{K} be \mathbb{R} or \mathbb{C},
for a matrix A \in \mathbb{K}^{n \times n},
its inverse matrix A^{-1} \in \mathbb{K}^{n \times n} (if it exists) is defined as
Math could not be displayed. Please visit the package website.
where \mathrm{I}_n is the n-dimensional identity matrix.
The inverse matrix exists if and only if A is invertible. In this case,
the inverse is unique.
Supports input of float, double, cfloat and cdouble dtypes.
Also supports batches of matrices, and if A is a batch of matrices
then the output has the same batch dimensions.
Consider using linalg_solve() if possible for multiplying a matrix on the left by
the inverse, as linalg_solve(A, B) == A$inv() %*% B
It is always prefered to use linalg_solve() when possible, as it is faster and more
numerically stable than computing the inverse explicitly.
See Also
linalg_pinv() computes the pseudoinverse (Moore-Penrose inverse) of matrices
of any shape.
linalg_solve() computes A$inv() %*% B with a
numerically stable algorithm.
Other linalg:
linalg_cholesky_ex(),
linalg_cholesky(),
linalg_det(),
linalg_eigh(),
linalg_eigvalsh(),
linalg_eigvals(),
linalg_eig(),
linalg_householder_product(),
linalg_inv_ex(),
linalg_lstsq(),
linalg_matrix_norm(),
linalg_matrix_power(),
linalg_matrix_rank(),
linalg_multi_dot(),
linalg_norm(),
linalg_pinv(),
linalg_qr(),
linalg_slogdet(),
linalg_solve_triangular(),
linalg_solve(),
linalg_svdvals(),
linalg_svd(),
linalg_tensorinv(),
linalg_tensorsolve(),
linalg_vector_norm()
Examples
if (torch_is_installed()) {
A <- torch_randn(4, 4)
linalg_inv(A)
}