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.

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.

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

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

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

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

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)