 |
LAPACK
3.9.0
LAPACK: Linear Algebra PACKage
|
◆ zlanht()
double precision function zlanht |
( |
character |
NORM, |
|
|
integer |
N, |
|
|
double precision, dimension( * ) |
D, |
|
|
complex*16, dimension( * ) |
E |
|
) |
| |
ZLANHT returns the value of the 1-norm, or the Frobenius norm, or the infinity norm, or the element of largest absolute value of a complex Hermitian tridiagonal matrix.
Download ZLANHT + dependencies
[TGZ]
[ZIP]
[TXT]
- Purpose:
ZLANHT returns the value of the one norm, or the Frobenius norm, or
the infinity norm, or the element of largest absolute value of a
complex Hermitian tridiagonal matrix A.
- Returns
- ZLANHT
ZLANHT = ( max(abs(A(i,j))), NORM = 'M' or 'm'
(
( norm1(A), NORM = '1', 'O' or 'o'
(
( normI(A), NORM = 'I' or 'i'
(
( normF(A), NORM = 'F', 'f', 'E' or 'e'
where norm1 denotes the one norm of a matrix (maximum column sum),
normI denotes the infinity norm of a matrix (maximum row sum) and
normF denotes the Frobenius norm of a matrix (square root of sum of
squares). Note that max(abs(A(i,j))) is not a consistent matrix norm.
- Parameters
-
[in] | NORM | NORM is CHARACTER*1
Specifies the value to be returned in ZLANHT as described
above. |
[in] | N | N is INTEGER
The order of the matrix A. N >= 0. When N = 0, ZLANHT is
set to zero. |
[in] | D | D is DOUBLE PRECISION array, dimension (N)
The diagonal elements of A. |
[in] | E | E is COMPLEX*16 array, dimension (N-1)
The (n-1) sub-diagonal or super-diagonal elements of A. |
- Author
- Univ. of Tennessee
-
Univ. of California Berkeley
-
Univ. of Colorado Denver
-
NAG Ltd.
- Date
- December 2016
Definition at line 103 of file zlanht.f.
114 DOUBLE PRECISION D( * )
121 DOUBLE PRECISION ONE, ZERO
122 parameter( one = 1.0d+0, zero = 0.0d+0 )
126 DOUBLE PRECISION ANORM, SCALE, SUM
129 LOGICAL LSAME, DISNAN
136 INTRINSIC abs, max, sqrt
142 ELSE IF(
lsame( norm,
'M' ) )
THEN
146 anorm = abs( d( n ) )
149 IF( anorm .LT. sum .OR.
disnan( sum ) ) anorm = sum
151 IF( anorm .LT. sum .OR.
disnan( sum ) ) anorm = sum
153 ELSE IF(
lsame( norm,
'O' ) .OR. norm.EQ.
'1' .OR.
154 $
lsame( norm,
'I' ) )
THEN
159 anorm = abs( d( 1 ) )
161 anorm = abs( d( 1 ) )+abs( e( 1 ) )
162 sum = abs( e( n-1 ) )+abs( d( n ) )
163 IF( anorm .LT. sum .OR.
disnan( sum ) ) anorm = sum
165 sum = abs( d( i ) )+abs( e( i ) )+abs( e( i-1 ) )
166 IF( anorm .LT. sum .OR.
disnan( sum ) ) anorm = sum
169 ELSE IF( (
lsame( norm,
'F' ) ) .OR. (
lsame( norm,
'E' ) ) )
THEN
176 CALL zlassq( n-1, e, 1, scale, sum )
179 CALL dlassq( n, d, 1, scale, sum )
180 anorm = scale*sqrt( sum )
subroutine zlassq(N, X, INCX, SCALE, SUMSQ)
ZLASSQ updates a sum of squares represented in scaled form.
logical function disnan(DIN)
DISNAN tests input for NaN.
double precision function zlanht(NORM, N, D, E)
ZLANHT returns the value of the 1-norm, or the Frobenius norm, or the infinity norm,...
logical function lsame(CA, CB)
LSAME
subroutine dlassq(N, X, INCX, SCALE, SUMSQ)
DLASSQ updates a sum of squares represented in scaled form.