1
SUBROUTINE NVKT03(A,IA,C,IC,G,V,W,IPVT,DNORMA,N,M,MI1,MI,NMD,NDF)
3
C***********************************************************************
6
C ORIGEN: Eduardo Casas Renteria *
7
C Cecilia Pola Mendez *
9
C Departamento de Matematicas,Estadistica y Computacion *
10
C ----------------------------------------------------- *
11
C UNIVERSIDAD DE CANTABRIA *
12
C ------------------------ *
15
C***********************************************************************
18
C Esta es una subrutina auxiliar a OPTR03. Calcula la norma del
19
C vector de Kuhn-Tucker.
23
C A Matriz de dimension (IA,NDF-NMD). (Referencia en OPTR03)
25
C C Matriz de dimension (IC,MI+NMD-N). ( Referencia en
28
C G Vector de dimension N que contiene el vector gradiente.
30
C V Vector de dimension M que contiene el vector de los
31
C multiplicadores de Lagrange.
33
C W Vector de trabajo de dimension N+M.
35
C IPVT Vector de dimension M. (Referencia en OPTR03).
37
C DNORMA Variable de salida que contiene la norma del vector de
40
C MI1 (Referencia en OPTR03).
42
C MI (Referencia en OPTR03).
44
C NMD N+MD (Referencia en OPTR03).
46
C NDF NMD+MIF+MDF+1 (Referencia en OPTR03).
49
C Esta subrutina trabaja en doble precision via una sentencia
51
C Implicit double precision (a-h,o-z)
53
C SUBPROGRAMAS AUXILIARES: ddot,dadd,dnrm2
54
C FUNCIONES FORTRAN INTRINSECAS: abs,mod,sqrt
56
implicit double precision(a-h,o-z)
57
dimension a(ia,*),c(ic,*),v(*),w(*),ipvt(*),g(*)
78
else if(ij.le.nmd) then
80
else if(ij.lt.ndf) then
84
w(m+i)=ddot(m,w,1,v,1)
86
call dadd(n,g,1,w(m1),1)
87
dnorma=dnrm2(n,w(m1),1)