ADAS Subroutine c6pmin
SUBROUTINE C6PMIN( MXNSHL , MXJSHL , N , VD , VDS , VDI , RHS )
C
C
C-----------------------------------------------------------------------
C
C ****************** FORTRAN77 SUBROUTINE: C6PMIN *********************
C
C PURPOSE: CALCULATES THE SOLUTION OF A TRIDIAGONAL PARTITIONED MATRIX
C ORGANISED SET OF SIMULTANEOUS EQUATIONS.
C
C THE PARTITIONS ARE 2X2 IN THE PRESENT IMPLEMENTATION. A
C VARIANT OF OF THE DOUBLE PASS ALGORITHM (IN A PARTITIONED
C MATRIX SENSE) IS USED WITH RECURRENCE IN TWO DIRECTIONS TO
C THE CENTRE AND BACK. THIS IS ANALOGOUS TO THE NAG ROUTINE
C F04EAF FOR AN ORDINARY TRIDAGONAL MATRIX THE INDEXING OF
C THE DIAG, SUPRADIAG AND INFRADIAG ELEMENTS FOLLOWS THAT OF
C THE NAG ROUTINE F04EAF.
C
C CALLING PROGRAM: C6WSOL
C
C INPUT : (I*4) MXNSHL = MAXIMUM NUMBER OF N SHELLS.
C INPUT : (I*4) MXJSHL = MAXIMUM NUMBER OF J SUB-SHELLS.
C INPUT : (I*4) N = NUMBER OF PARTIONS ALONG THE DIAGONAL.
C INPUT : (R*8) VD(,) = DIAGONAL PARTITION.
C 1ST DIMENSION: 2 * MXJSHL
C 2ND DIMENSION: N SHELL INDEX.
C INPUT : (R*8) VDS(,) = SUPRADIAGONAL PARTITION.
C 1ST DIMENSION: 2 * MXJSHL
C 2ND DIMENSION: N SHELL INDEX.
C INPUT : (R*8) VDI(,) = INFRADIAGONAL PARTITION.
C 1ST DIMENSION: 2 * MXJSHL
C 2ND DIMENSION: N SHELL INDEX.
C
C I/O : (R*8) RHS(,) = INPUT: RIGHT HAND SIDE OF VECTOR PARTITION.
C OUTPUT: SOLUTION OF VECTOR PARTITION.
C 1ST DIMENSION: 2 * MXJSHL
C 2ND DIMENSION: N SHELL INDEX.
C
C
C PARAM : (I*4) MXJ = MXJSHL.
C
C (I*4) I = LOOP INDEX.
C (I*4) K =
C
C (R*8) UNIT() =
C DIMENSION: 4
C (R*8) W1() =
C DIMENSION: 4
C (R*8) W2() =
C DIMENSION: 4
C (R*8) VW1() =
C DIMENSION: 2
C (R*8) VW2() =
C DIMENSION: 2
C (R*8) TEMP() = TEMPORARY STORE.
C DIMENSION: 4
C
C ROUTINES:
C ROUTINE SOURCE BRIEF DESCRIPTION
C -------------------------------------------------------------
C I4UNIT ADAS RETURNS UNIT NO. FOR OUTPUT OF MESSAGES.
C
C NOTES:
C 1) THE 2X2 PARTITIONS ARE STORED AS LINEAR VECTORS BY COLUMN
C IN THE 1ST DIMENSIONS OF VD(,), VDS(,), VDI(,).
C
C AUTHOR: JONATHAN NASH (TESSELLA SUPPORT SERVICES PLC)
C K1/0/81
C JET EXT. 5183
C
C DATE: 11/11/93
C
C UNIX-IDL PORT:
C
C AUTHOR: WILLIAM OSBORN (TESSELLA SUPPORT SERVICES PLC)
C
C DATE: 22ND MAY 1996
C
C VERSION: 1.1 DATE: 22-05-96
C MODIFIED: WILLIAM OSBORN
C - FIRST VERSION. IBM VERSION NOT CHANGED
C
C VERSION: 1.2 DATE: 29-05-96
C MODIFIED: WILLIAM OSBORN
C - REMOVED UNUSED VARIABLES
C
C VERSION: 1.3 DATE: 29-05-96
C MODIFIED: WILLIAM OSBORN
C - S.C.C.S. MISTAKE
C
C-----------------------------------------------------------------------
C
C-----------------------------------------------------------------------
INTEGER MXJSHL, MXNSHL, N
REAL*8 RHS(MXJSHL,MXNSHL), VD(2*MXJSHL,MXNSHL)
REAL*8 VDI(2*MXJSHL,MXNSHL), VDS(2*MXJSHL,MXNSHL)