CCBCB

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

Required Arguments

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

NLCA — Number of lower codiagonals in A. (Input)

NUCA — Number of upper codiagonals in A. (Input)

B — Complex 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 NLCA.

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

Specific: The specific interface names are S_CCBCB and D_CCBCB.

FORTRAN 77 Interface

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

Double: The double precision name is DCCBCB.

Description

The routine CCBCB copies the complex band matrix A in band storage mode into the complex band matrix B in band storage mode.

Example

A complex band matrix of order 3 in band storage mode with one upper codiagonal and one lower codiagonal is copied into another complex band matrix in band storage mode.

 

USE CCBCB_INT

USE WRCRN_INT

 

IMPLICIT NONE

! Declare variables

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

PARAMETER (LDA=3, LDB=3, N=3, NLCA=1, NLCB=1, NUCA=1, 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 1.0+1.0i )

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

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

!

DATA A/(0.0,0.0), 7*(1.0,1.0), (0.0,0.0)/

! Copy A to B

CALL CCBCB (A, NLCA, 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) ( 1.000, 1.000)

2 ( 1.000, 1.000) ( 1.000, 1.000) ( 1.000, 1.000)

3 ( 1.000, 1.000) ( 1.000, 1.000) ( 0.000, 0.000)