Go to main content
Oracle Developer Studio 12.5 Man Pages

Exit Print View

Updated: June 2017
 
 

dlansf (3p)

Name

dlansf - norm, or the Frobenius norm, or the infinity norm, or the element of largest absolute value of a symmetric matrix in RFP format

Synopsis

DOUBLE PRECISION FUNCTION DLANSF(NORM, TRANSR, UPLO, N, A, WORK)


CHARACTER*1 NORM, TRANSR, UPLO

INTEGER N

DOUBLE PRECISION A(0: *), WORK(0: *)


DOUBLE PRECISION FUNCTION DLANSF_64(NORM, TRANSR, UPLO, N, A, WORK)


CHARACTER*1 NORM, TRANSR, UPLO

INTEGER*8 N

DOUBLE PRECISION A(0: *), WORK(0: *)


F95 INTERFACE
REAL(8) FUNCTION LANSF(NORM, TRANSR, UPLO, N, A, WORK)


INTEGER :: N

CHARACTER(LEN=1) :: NORM, TRANSR, UPLO

REAL(8), DIMENSION(:) :: A, WORK


REAL(8) FUNCTION LANSF_64(NORM, TRANSR, UPLO, N, A, WORK)


INTEGER(8) :: N

CHARACTER(LEN=1) :: NORM, TRANSR, UPLO

REAL(8), DIMENSION(:) :: A, WORK


C INTERFACE
#include <sunperf.h>

double dlansf (char norm, char transr, char uplo, int n, double *a);

double  dlansf_64  (char  norm,  char transr, char uplo, long n, double
*a);

Description

Oracle Solaris Studio Performance Library                           dlansf(3P)



NAME
       dlansf  - return the value of the 1-norm, or the Frobenius norm, or the
       infinity norm, or the element of largest absolute value of a  symmetric
       matrix in RFP format


SYNOPSIS
       DOUBLE PRECISION FUNCTION DLANSF(NORM, TRANSR, UPLO, N, A, WORK)


       CHARACTER*1 NORM, TRANSR, UPLO

       INTEGER N

       DOUBLE PRECISION A(0: *), WORK(0: *)


       DOUBLE PRECISION FUNCTION DLANSF_64(NORM, TRANSR, UPLO, N, A, WORK)


       CHARACTER*1 NORM, TRANSR, UPLO

       INTEGER*8 N

       DOUBLE PRECISION A(0: *), WORK(0: *)


   F95 INTERFACE
       REAL(8) FUNCTION LANSF(NORM, TRANSR, UPLO, N, A, WORK)


       INTEGER :: N

       CHARACTER(LEN=1) :: NORM, TRANSR, UPLO

       REAL(8), DIMENSION(:) :: A, WORK


       REAL(8) FUNCTION LANSF_64(NORM, TRANSR, UPLO, N, A, WORK)


       INTEGER(8) :: N

       CHARACTER(LEN=1) :: NORM, TRANSR, UPLO

       REAL(8), DIMENSION(:) :: A, WORK


   C INTERFACE
       #include <sunperf.h>

       double dlansf (char norm, char transr, char uplo, int n, double *a);

       double  dlansf_64  (char  norm,  char transr, char uplo, long n, double
                 *a);


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 sym-
       metric matrix A in RFP format.

       DLANSF  =  (  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)
                 NORM is CHARACTER*1
                 Specifies  the  value  to  be returned in DLANSF as described
                 above.


       TRANSR (input)
                 TRANSR is CHARACTER*1
                 Specifies whether the RFP format of A is normal or transposed
                 format.
                 = 'N':  RFP format is Normal;
                 = 'T':  RFP format is Transpose.


       UPLO (input)
                 UPLO is CHARACTER*1
                 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)
                 N is INTEGER
                 The order of the matrix A. N >= 0. When N = 0, DLANSF is  set
                 to zero.


       A (input)
                 A is 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 (output)
                 WORK is 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 then 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
               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




                                  7 Nov 2015                        dlansf(3P)