torch.geqrf(input, *, out=None)

This is a low-level function for calling LAPACK’s geqrf directly. This function returns a namedtuple (a, tau) as defined in LAPACK documentation for geqrf .

Computes a QR decomposition of input. Both Q and R matrices are stored in the same output tensor a. The elements of R are stored on and above the diagonal. Elementary reflectors (or Householder vectors) implicitly defining matrix Q are stored below the diagonal. The results of this function can be used together with torch.linalg.householder_product() to obtain the Q matrix or with torch.ormqr(), which uses an implicit representation of the Q matrix, for an efficient matrix-matrix multiplication.

See LAPACK documentation for geqrf for further details.


See also torch.linalg.qr(), which computes Q and R matrices, and torch.linalg.lstsq() with the driver="gels" option for a function that can solve matrix equations using a QR decomposition.


input (Tensor) – the input matrix

Keyword Arguments:

out (tuple, optional) – the output tuple of (Tensor, Tensor). Ignored if None. Default: None.


Access comprehensive developer documentation for PyTorch

View Docs


Get in-depth tutorials for beginners and advanced developers

View Tutorials


Find development resources and get your questions answered

View Resources