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
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)