* SUBROUTINE PLRMF0 ALL SYSTEMS 91/12/01 * PORTABILITY : ALL SYSTEMS * 91/12/01 LU : ORIGINAL VERSION * * PURPOSE : * OPERATIONS AFTER CONSTRAINT DELETION. * * PARAMETERS : * II NF DECLARED NUMBER OF VARIABLES. * II NC NUMBER OF CONSTRAINTS. * II IX(NF) VECTOR CONTAINING TYPES OF BOUNDS. * II IA(NA) VECTOR CONTAINING TYPES OF DEVIATIONS. * IU IAA(NF+1) VECTOR CONTAINING INDICES OF ACTIVE FUNCTIONS. * RU AR((NF+1)*(NF+2)/2) TRIANGULAR DECOMPOSITION OF KERNEL OF THE * ORTHOGONAL PROJECTION. * II IC(NC) VECTOR CONTAINING TYPES OF CONSTRAINTS. * RA S(NF+1) AUXILIARY VECTOR. * II N ACTUAL NUMBER OF VARIABLES. * II IOLD INDEX OF THE OLD ACTIVE CONSTRAINT. * IO KREM AUXILIARY VARIABLE. * IO IER ERROR INDICATOR. * * SUBPROGRAMS USED : * S PLRMR0 CORRECTION OF KERNEL OF THE ORTHOGONAL PROJECTION * AFTER CONSTRAINT DELETION. * SUBROUTINE PLRMF0(NF,NC,IX,IA,IAA,AR,IC,S,N,IOLD,KREM,IER) INTEGER IER,IOLD,KREM,N,NC,NF DOUBLE PRECISION AR(*),S(*) INTEGER IA(*),IAA(*),IC(*),IX(*) INTEGER NADD,NDEC,NFG,NFH,NFV,NIT,NREM,NRES INTEGER L COMMON /STAT/NRES,NDEC,NREM,NADD,NIT,NFV,NFG,NFH CALL PLRMR0(NF,IAA,AR,S,N,IOLD,KREM,IER) N = N + 1 NREM = NREM + 1 L = IAA(NF-N+1) IF (L.GT.NC) THEN L = L - NC IA(L) = -IA(L) ELSE IF (L.GT.0) THEN IC(L) = -IC(L) ELSE L = -L IX(L) = -IX(L) END IF RETURN END