CRGRB

Converts a real general matrix to a matrix in band storage mode.

Required Arguments

A — Real N by N matrix.   (Input)

NLC — Number of lower codiagonals in B.   (Input)

NUC — Number of upper codiagonals in B.   (Input)

B — Real (NUC + 1 + NLC) by N array containing the band matrix in band storage mode.   (Output)

Optional Arguments

N — Order of the matrices A and B.   (Input)
Default: N = size (A,2).

LDA — Leading dimension of A exactly as specified in the dimension statement of the calling program.   (Input)
Default: LDA = size (A,1).

LDB — Leading dimension of B exactly as specified in the dimension statement of the calling program.   (Input)
Default: LDB = size (B,1).

FORTRAN 90 Interface

Generic:          CALL CRGRB (A, NLC, NUC, B [,…])

Specific:         The specific interface names are S_CRGRB and D_CRGRB.

FORTRAN 77 Interface

Single:            CALL CRGRB (N, A, LDA, NLC, NUC, B, LDB)

Double:          The double precision name is DCRGRB.

Description

The routine CRGRB converts the real general N ´ N matrix A with mu = NUC upper codiagonals and ml = NLC lower codiagonals into the real band matrix B of order N. The first mu rows of B then contain the upper codiagonals of A, the next row contains the main diagonal of A, and the last ml rows of B contain the lower codiagonals of A.

Example

A real 4 ´ 4 matrix with one upper codiagonal and three lower codiagonals is copied to a real band matrix of order 4 in band storage mode.

 

      USE CRGRB_INT

      USE WRRRN_INT

 

      IMPLICIT   NONE

!                                 Declare variables

      INTEGER    LDA, LDB, N, NLC, NUC

      PARAMETER  (LDA=4, LDB=5, N=4, NLC=3, NUC=1)

!

      REAL       A(LDA,N), B(LDB,N)

!                                 Set values for  A

!                                 A = (  1.0     2.0    0.0    0.0)

!                                     ( -2.0     1.0    3.0    0.0)

!                                     (  0.0    -3.0    1.0    4.0)

!                                     ( -7.0     0.0   -4.0    1.0)

!

      DATA A/1.0, -2.0, 0.0, -7.0, 2.0, 1.0, -3.0, 0.0, 0.0, 3.0, 1.0, &

          -4.0, 0.0, 0.0, 4.0, 1.0/

!                                 Convert A to band matrix B

      CALL CRGRB (A, NLC, NUC, B)

!                                 Print results

      CALL WRRRN ('B', B)

      END

Output

 

                B
        1       2       3       4
1   0.000   2.000   3.000   4.000
2   1.000   1.000   1.000   1.000
3  -2.000  -3.000  -4.000   0.000
4   0.000   0.000   0.000   0.000
5  -7.000   0.000   0.000   0.000


Visual Numerics, Inc.
Visual Numerics - Developers of IMSL and PV-WAVE
http://www.vni.com/
PHONE: 713.784.3131
FAX:713.781.9260