SYNOPSIS
- DOUBLE PRECISION
- FUNCTION DLANSF( NORM, TRANSR, UPLO, N, A, WORK )
- CHARACTER NORM, TRANSR, UPLO
- INTEGER N
- DOUBLE PRECISION A( 0: * ), WORK( 0: * )
PURPOSE
DLANSF returns the value of the one norm, or the Frobenius norm, or the infinity norm, or the element of largest absolute value of a real symmetric matrix A in RFP format.DESCRIPTION
DLANSF returns the valueDLANSF = ( 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 matrix norm.
ARGUMENTS
- NORM (input) CHARACTER
- Specifies the value to be returned in DLANSF as described above.
- TRANSR (input) CHARACTER
-
Specifies whether the RFP format of A is normal or
transposed format.
= 'N': RFP format is Normal;
= 'T': RFP format is Transpose. - UPLO (input) CHARACTER
-
On entry, UPLO specifies whether the RFP matrix A came from
an upper or lower triangular matrix as follows:
= 'U': RFP A came from an upper triangular matrix;
= 'L': RFP A came from a lower triangular matrix. - N (input) INTEGER
- The order of the matrix A. N >= 0. When N = 0, DLANSF is set to zero.
- A (input) DOUBLE PRECISION array, dimension ( N*(N+1)/2 );
- On entry, the upper (if UPLO = 'U') or lower (if UPLO = 'L') part of the symmetric matrix A stored in RFP format. See the "Notes" below for more details. Unchanged on exit.
- WORK (workspace) DOUBLE PRECISION array, dimension (MAX(1,LWORK)),
- where LWORK >= N when NORM = 'I' or '1' or 'O'; otherwise, WORK is not referenced.
FURTHER DETAILS
We first consider Rectangular Full Packed (RFP) Format when N is even. We give an example where N = 6.AP is Upper AP is Lower
00 01 02 03 04 05 00
11 12 13 14 15 10 11
22 23 24 25 20 21 22
33 34 35 30 31 32 33
44 45 40 41 42 43 44
55 50 51 52 53 54 55
Let TRANSR = 'N'. RFP holds AP as follows:
For UPLO = 'U' the upper trapezoid A(0:5,0:2) consists of the last three columns of AP upper. The lower triangle A(4:6,0:2) consists of the transpose of the first three columns of AP upper.
For UPLO = 'L' the lower trapezoid A(1:6,0:2) consists of the first three columns of AP lower. The upper triangle A(0:2,0:2) consists of the transpose of the last three columns of AP lower.
This covers the case N even and TRANSR = 'N'.
RFP A RFP A
03 04 05 33 43 53
13 14 15 00 44 54
23 24 25 10 11 55
33 34 35 20 21 22
00 44 45 30 31 32
01 11 55 40 41 42
02 12 22 50 51 52
Now let TRANSR = 'T'. RFP A in both UPLO cases is just the transpose of RFP A above. One therefore gets:
RFP A RFP A
03 13 23 33 00 01 02 33 00 10 20 30 40 50
04 14 24 34 44 11 12 43 44 11 21 31 41 51
05 15 25 35 45 55 22 53 54 55 22 32 42 52
We first consider Rectangular Full Packed (RFP) Format when N is odd. We give an example where N = 5.
AP is Upper AP is Lower
00 01 02 03 04 00
11 12 13 14 10 11
22 23 24 20 21 22
33 34 30 31 32 33
44 40 41 42 43 44
Let TRANSR = 'N'. RFP holds AP as follows:
For UPLO = 'U' the upper trapezoid A(0:4,0:2) consists of the last three columns of AP upper. The lower triangle A(3:4,0:1) consists of the transpose of the first two columns of AP upper.
For UPLO = 'L' the lower trapezoid A(0:4,0:2) consists of the first three columns of AP lower. The upper triangle A(0:1,1:2) consists of the transpose of the last two columns of AP lower.
This covers the case N odd and TRANSR = 'N'.
RFP A RFP A
02 03 04 00 33 43
12 13 14 10 11 44
22 23 24 20 21 22
00 33 34 30 31 32
01 11 44 40 41 42
Now let TRANSR = 'T'. RFP A in both UPLO cases is just the transpose of RFP A above. One therefore gets:
RFP A RFP A
02 12 22 00 01 00 10 20 30 40 50
03 13 23 33 11 33 11 21 31 41 51
04 14 24 34 44 43 44 22 32 42 52
Reference
=========