# ?laset

Initializes the off-diagonal elements and the diagonal elements of a matrix to given values.

## Syntax

call slaset( uplo, m, n, alpha, beta, a, lda )

call dlaset( uplo, m, n, alpha, beta, a, lda )

call claset( uplo, m, n, alpha, beta, a, lda )

call zlaset( uplo, m, n, alpha, beta, a, lda )

## Description

The routine initializes an m-by-n matrix A to beta on the diagonal and alpha on the off-diagonals.

## Input Parameters

uplo

  CHARACTER*1. Specifies the part of the matrix A to be set.

  If `uplo = 'U'`, upper triangular part is set; the strictly lower triangular part of A is not changed.

  If `uplo = 'L'`: lower triangular part is set; the strictly upper triangular part of A is not changed.

  Otherwise: All of the matrix A is set.

m

  INTEGER. The number of rows of the matrix A. `m ≥ 0`.

n

  INTEGER. The number of columns of the matrix A.

  `n ≥ 0`.

alpha, beta

  REAL for slaset

  DOUBLE PRECISION for dlaset

  COMPLEX for claset

  COMPLEX*16 for zlaset.

  The constants to which the off-diagonal and diagonal elements are to be set, respectively.

a

  REAL for slaset

  DOUBLE PRECISION for dlaset

  COMPLEX for claset

  COMPLEX*16 for zlaset.

  Array, DIMENSION (lda, n).

  On entry, the m-by-n matrix A.

lda

  INTEGER. The leading dimension of the array a.

  lda ≥ max(1,m).

## Output Parameters

a

  On exit, the leading m-by-n submatrix of A is set as follows:

  if `uplo = 'U'`, `A(i,j) = alpha`, `1≤i≤j-1, 1≤j≤n`,

  if `uplo = 'L'`, `A(i,j) = alpha, j+1≤i≤m, 1≤j≤n`,

  otherwise, `A(i,j) = alpha`, `1≤i≤m, 1≤j≤n, i ≠ j`,

  and, for all uplo, `A(i,i) = beta`, `1≤i≤min(m, n)`.

Parent topic: Auxiliary Routines