Learn R Programming

torch (version 0.8.1)

torch_lstsq: Lstsq

Description

Lstsq

Usage

torch_lstsq(self, A)

Arguments

self

(Tensor) the matrix \(B\)

A

(Tensor) the \(m\) by \(n\) matrix \(A\)

lstsq(input, A, out=NULL) -> Tensor

Computes the solution to the least squares and least norm problems for a full rank matrix \(A\) of size \((m \times n)\) and a matrix \(B\) of size \((m \times k)\).

If \(m \geq n\), torch_lstsq() solves the least-squares problem:

$$ \begin{array}{ll} \min_X & \|AX-B\|_2. \end{array} $$ If \(m < n\), torch_lstsq() solves the least-norm problem:

$$ \begin{array}{llll} \min_X & \|X\|_2 & \mbox{subject to} & AX = B. \end{array} $$ Returned tensor \(X\) has shape \((\mbox{max}(m, n) \times k)\). The first \(n\) rows of \(X\) contains the solution. If \(m \geq n\), the residual sum of squares for the solution in each column is given by the sum of squares of elements in the remaining \(m - n\) rows of that column.

Examples

Run this code
if (torch_is_installed()) {

A = torch_tensor(rbind(
 c(1,1,1),
 c(2,3,4),
 c(3,5,2),
 c(4,2,5),
 c(5,4,3)
))
B = torch_tensor(rbind(
 c(-10, -3),
 c(12, 14),
 c(14, 12),
 c(16, 16),
 c(18, 16)
))
out = torch_lstsq(B, A)
out[[1]]
}

Run the code above in your browser using DataLab