Copies a complex band matrix stored in complex band storage mode.
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.
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).
Generic: CALL CCBCB (A, NLCA, NUCA, B, NLCB, NUCB [,…])
Specific: The specific interface names are S_CCBCB and D_CCBCB.
Single: CALL CCBCB (N, A, LDA, NLCA, NUCA, B, LDB, NLCB, NUCB)
Double: The double precision name is DCCBCB.
The routine CCBCB copies the complex band matrix A in band storage mode into the complex band matrix B in band storage mode.
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)
Visual Numerics, Inc. PHONE: 713.784.3131 FAX:713.781.9260 |