Copies a complex Hermitian band matrix stored in band Hermitian storage mode to a complex band matrix stored in band storage mode.
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.
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 CHBCB (A, NUCA, B, NLCB, NUCB [,…])
Specific: The specific interface names are S_CHBCB and D_CHBCB.
Single: CALL CHBCB (N, A, LDA, NUCA, B, LDB, NLCB, NUCB)
Double: The double precision name is DCHBCB.
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.
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.
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
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. PHONE: 713.784.3131 FAX:713.781.9260 |