Copies a real band matrix stored in band storage mode.
A — Real band matrix of order N. (Input)
NLCA — Number of lower codiagonals in A. (Input)
NUCA — Number of upper codiagonals in A. (Input)
B — Real 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 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 CRBRB (A, NLCA, NUCA, B, NLCB, NUCB [,…])
Specific: The specific interface names are S_CRBRB and D_CRBRB.
Single: CALL CRBRB (N, A, LDA, NLCA, NUCA, B, LDB, NLCB, NUCB)
Double: The double precision name is DCRBRB.
The routine CRBRB copies the real band matrix A in band storage mode into the real band matrix B in band storage mode.
A real band matrix of order 3, in band storage mode with one upper codiagonal, and one lower codiagonal is copied into another real band matrix also in band storage mode.
USE CRBRB_INT
USE WRRRN_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)
!
REAL A(LDA,N), B(LDB,N)
! Set values for A (in band mode)
! A = ( 0.0 1.0 1.0 )
! ( 1.0 1.0 1.0 )
! ( 1.0 1.0 0.0 )
!
DATA A/0.0, 7*1.0, 0.0/
! Copy A to B
CALL CRBRB (A, NLCA, NUCA, B, NLCB, NUCB)
! Print results
CALL WRRRN ('B', B)
END
B
1 2
3
1 0.000 1.000 1.000
2
1.000 1.000 1.000
3 1.000
1.000 0.000
Visual Numerics, Inc. PHONE: 713.784.3131 FAX:713.781.9260 |