---
name: "slatrz"
section: "3lapack"
platform: "linux"
package: "liblapack-doc"
version: "3.2.1-8"
release: "Debian 6.0 (Squeeze)"
platforms: ["linux"]
url: "https://new.carta.tech/slatrz/3lapack"
---

# slatrz(3lapack)

factors the M-by-(M+L) real upper trapezoidal matrix \[ A1 A2 \] = \[ A(1:M,1:M) A(1:M,N-L+1:N) \] as ( R 0 ) \* Z, by means of orthogonal transformations

## NAME

SLATRZ - factors the M-by-(M+L) real upper trapezoidal matrix \[ A1 A2 \] = \[ A(1:M,1:M) A(1:M,N-L+1:N) \] as ( R 0 ) \* Z, by means of orthogonal transformations

## SYNOPSIS

- SUBROUTINE SLATRZ(

  M, N, L, A, LDA, TAU, WORK )

- INTEGER

  L, LDA, M, N

- REAL

  A( LDA, \* ), TAU( \* ), WORK( \* )

## PURPOSE

SLATRZ factors the M-by-(M+L) real upper trapezoidal matrix \[ A1 A2 \] = \[ A(1:M,1:M) A(1:M,N-L+1:N) \] as ( R  0 ) \* Z, by means of orthogonal transformations.  Z is an (M+L)-by-(M+L) orthogonal matrix and, R and A1 are M-by-M upper triangular matrices.

## ARGUMENTS

- M (input) INTEGER

  The number of rows of the matrix A.  M \>= 0.

- N (input) INTEGER

  The number of columns of the matrix A.  N \>= 0.

- L (input) INTEGER

  The number of columns of the matrix A containing the meaningful part of the Householder vectors. N-M \>= L \>= 0.

- A (input/output) REAL array, dimension (LDA,N)

  On entry, the leading M-by-N upper trapezoidal part of the array A must contain the matrix to be factorized. On exit, the leading M-by-M upper triangular part of A contains the upper triangular matrix R, and elements N-L+1 to N of the first M rows of A, with the array TAU, represent the orthogonal matrix Z as a product of M elementary reflectors.

- LDA (input) INTEGER

  The leading dimension of the array A.  LDA \>= max(1,M).

- TAU (output) REAL array, dimension (M)

  The scalar factors of the elementary reflectors.

- WORK (workspace) REAL array, dimension (M)

  ## FURTHER DETAILS

Based on contributions by\
\
   A. Petitet, Computer Science Dept., Univ. of Tenn., Knoxville, USA The factorization is obtained by Householder's method.  The kth transformation matrix, Z( k ), which is used to introduce zeros into the ( m - k + 1 )th row of A, is given in the form\
\
    Z( k ) = ( I     0   ),\
\
             ( 0  T( k ) )\
 where\
\
    T( k ) = I - tau\*u( k )\*u( k )',   u( k ) = (   1    ),\
                                                (   0    )\
                                                ( z( k ) ) tau is a scalar and z( k ) is an l element vector. tau and z( k ) are chosen to annihilate the elements of the kth row of A2. The scalar tau is returned in the kth element of TAU and the vector u( k ) in the kth row of A2, such that the elements of z( k ) are in  a( k, l + 1 ), ..., a( k, n ). The elements of R are returned in the upper triangular part of A1.\
 Z is given by\
\
    Z =  Z( 1 ) \* Z( 2 ) \* ... \* Z( m ).\
