# ztrt03.f - Man Page

TESTING/LIN/ztrt03.f

## Synopsis

### Functions/Subroutines

subroutine **ztrt03** (uplo, trans, diag, n, nrhs, a, lda, scale, cnorm, tscal, x, ldx, b, ldb, work, resid)**ZTRT03**

## Function/Subroutine Documentation

### subroutine ztrt03 (character uplo, character trans, character diag, integer n, integer nrhs, complex*16, dimension( lda, * ) a, integer lda, double precision scale, double precision, dimension( * ) cnorm, double precision tscal, complex*16, dimension( ldx, * ) x, integer ldx, complex*16, dimension( ldb, * ) b, integer ldb, complex*16, dimension( * ) work, double precision resid)

**ZTRT03**

**Purpose:**

ZTRT03 computes the residual for the solution to a scaled triangular system of equations A*x = s*b, A**T *x = s*b, or A**H *x = s*b. Here A is a triangular matrix, A**T denotes the transpose of A, A**H denotes the conjugate transpose of A, s is a scalar, and x and b are N by NRHS matrices. The test ratio is the maximum over the number of right hand sides of norm(s*b - op(A)*x) / ( norm(op(A)) * norm(x) * EPS ), where op(A) denotes A, A**T, or A**H, and EPS is the machine epsilon.

**Parameters***UPLO*UPLO is CHARACTER*1 Specifies whether the matrix A is upper or lower triangular. = 'U': Upper triangular = 'L': Lower triangular

*TRANS*TRANS is CHARACTER*1 Specifies the operation applied to A. = 'N': A *x = s*b (No transpose) = 'T': A**T *x = s*b (Transpose) = 'C': A**H *x = s*b (Conjugate transpose)

*DIAG*DIAG is CHARACTER*1 Specifies whether or not the matrix A is unit triangular. = 'N': Non-unit triangular = 'U': Unit triangular

*N*N is INTEGER The order of the matrix A. N >= 0.

*NRHS*NRHS is INTEGER The number of right hand sides, i.e., the number of columns of the matrices X and B. NRHS >= 0.

*A*A is COMPLEX*16 array, dimension (LDA,N) The triangular matrix A. If UPLO = 'U', the leading n by n upper triangular part of the array A contains the upper triangular matrix, and the strictly lower triangular part of A is not referenced. If UPLO = 'L', the leading n by n lower triangular part of the array A contains the lower triangular matrix, and the strictly upper triangular part of A is not referenced. If DIAG = 'U', the diagonal elements of A are also not referenced and are assumed to be 1.

*LDA*LDA is INTEGER The leading dimension of the array A. LDA >= max(1,N).

*SCALE*SCALE is DOUBLE PRECISION The scaling factor s used in solving the triangular system.

*CNORM*CNORM is DOUBLE PRECISION array, dimension (N) The 1-norms of the columns of A, not counting the diagonal.

*TSCAL*TSCAL is DOUBLE PRECISION The scaling factor used in computing the 1-norms in CNORM. CNORM actually contains the column norms of TSCAL*A.

*X*X is COMPLEX*16 array, dimension (LDX,NRHS) The computed solution vectors for the system of linear equations.

*LDX*LDX is INTEGER The leading dimension of the array X. LDX >= max(1,N).

*B*B is COMPLEX*16 array, dimension (LDB,NRHS) The right hand side vectors for the system of linear equations.

*LDB*LDB is INTEGER The leading dimension of the array B. LDB >= max(1,N).

*WORK*WORK is COMPLEX*16 array, dimension (N)

*RESID*RESID is DOUBLE PRECISION The maximum over the number of right hand sides of norm(op(A)*x - s*b) / ( norm(op(A)) * norm(x) * EPS ).

**Author**Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **169** of file **ztrt03.f**.

## Author

Generated automatically by Doxygen for LAPACK from the source code.

## Referenced By

The man page ztrt03(3) is an alias of ztrt03.f(3).

Tue Nov 28 2023 12:08:43 Version 3.12.0 LAPACK