CHBCB

Copies a complex Hermitian band matrix stored in band Hermitian storage mode to a complex band matrix stored in band storage mode.

Required Arguments

A — Complex band Hermitian matrix of order N.   (Input)

NUCA — Number of codiagonals in A.   (Input)

B — Complex band matrix of order N containing a copy of A.   (Output)

NLCB — Number of lower codiagonals in B.   (Input)
NLCB must be at least as large as NUCA.

NUCB — Number of upper codiagonals in B.   (Input)
NUCB must be at least as large as NUCA.

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 CHBCB (A, NUCA, B, NLCB, NUCB [,…])

Specific:         The specific interface names are S_CHBCB and D_CHBCB.

FORTRAN 77 Interface

Single:             CALL CHBCB (N, A, LDA, NUCA, B, LDB, NLCB, NUCB)

Double:           The double precision name is DCHBCB.

Description

The routine CSBRB copies a complex matrix A stored in Hermitian band mode to a matrix B stored in complex band mode. The lower codiagonals of B are filled using the values in the upper codiagonals of A.

Comments

Informational errors

Type   Code

3           1                  An element on the diagonal has a complex part that is near zero, the complex part is set to zero.

4           1                  An element on the diagonal has a complex part that is not zero.

Example

A complex Hermitian matrix of order 3 in band Hermitian storage mode with one upper codiagonal is copied to a complex matrix in band storage mode.

 

      USE CHBCB_INT

      USE WRCRN_INT

 

      IMPLICIT   NONE

!                                 Declare variables

      INTEGER    LDA, LDB, N, NLCB, NUCA, NUCB

      PARAMETER  (N=3, NUCA=1, LDA=NUCA+1, NLCB=NUCA, NUCB=NUCA, &

                LDB=NLCB+NUCB+1)

!

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

!                                 Set values for  A (in band mode)

!                           A = (  0.0+0.0i -1.0+1.0i -2.0+2.0i  )

!                               (  1.0+0.0i  1.0+0.0i  1.0+0.0i  )

!

      DATA A/(0.0,0.0), (1.0,0.0), (-1.0,1.0), (1.0,0.0), (-2.0,2.0), &

          (1.0,0.0)/

!                                 Copy a complex Hermitian band matrix

!                                 to a complex band matrix

      CALL CHBCB (A, NUCA, B, NLCB, NUCB)

!                                 Print results

      CALL WRCRN ('B', B)

      END

Output

 

                            B
                 1                2                3
1  ( 0.000, 0.000)  (-1.000, 1.000)  (-2.000, 2.000)
2  ( 1.000, 0.000)  ( 1.000, 0.000)  ( 1.000, 0.000)
3  (-1.000,-1.000)  (-2.000,-2.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