subroutine reswedgeur(param,x, r) ! !RESWEDGE residual for the growth model in ``Business Cycle Accounting.'' ! Technology is assumed to be a unit root. ! ! Ellen R. McGrattan, 11-1-02 ! Revised, ERM, 6-6-06 implicit none integer :: i real, dimension(42), intent(in) :: param real, dimension(11), intent(in) :: x real, intent(out) :: r real :: beta,delta,gn,psi,sigma,theta,k2, & k1,k,z1,z,taul1,taul,taux1,taux,g1, & g,l,l1,y,y1,c,c1,res,res1,lp,l1p, & dres,dres1 ! !____________________________________________________________________________ ! ! PARAMETERS beta = param(1) delta = param(2) gn = param(3) psi = param(4) sigma = param(5) theta = param(6) !____________________________________________________________________________ ! ! VARIABLES APPEARING IN RESIDUALS k2 = exp(x(1)) k1 = exp(x(2)) k = exp(x(3)) z1 = exp(x(4)) z = exp(x(5)) taul1 = x(6) taul = x(7) taux1 = x(8) taux = x(9) g1 = exp(x(10)) g = exp(x(11)) l = 1./(1.+.75*psi/((1.-taul)*(1.-theta))) l1 = 1/(1+.75*psi/((1.-taul1)*(1.-theta))) do i=1,5 y = (k/z)**theta*l**(1.-theta) y1 = (k1/z1)**theta*l1**(1.-theta) c = y-(1.+gn)*k1+(1.-delta)*k/z-g c1 = y1-(1+gn)*k2+(1.-delta)*k1/z1-g1 res = psi*c*l/y-(1.-taul)*(1-theta)*(1.-l) res1 = psi*c1*l1/y1-(1.-taul1)*(1-theta)*(1.-l1) lp = l+.0001 l1p = l1+.0001 y = (k/z)**theta*lp**(1-theta) y1 = (k1/z1)**theta*l1p**(1-theta) c = y-(1.+gn)*k1+(1.-delta)*k/z-g c1 = y1-(1.+gn)*k2+(1.-delta)*k1/z1-g1 dres = (psi*c*lp/y-(1.-taul)*(1-theta)*(1.-lp)-res)/.0001 dres1 = (psi*c1*l1p/y1-(1.-taul1)*(1-theta)*(1.-l1p)-res1)/.0001 l = l-res/dres l1 = l1-res1/dres1 enddo y = (k/z)**theta*l**(1.-theta) y1 = (k1/z1)**theta*l1**(1.-theta) c = y-(1.+gn)*k1+(1-delta)*k/z-g c1 = y1-(1.+gn)*k2+(1-delta)*k1/z1-g1 r = (1+taux)*c**(-sigma)*(1.-l)**(psi*(1-sigma))- & beta*(z1*c1)**(-sigma)*(1.-l1)**(psi*(1-sigma))* & (theta*z1*y1/k1+(1.-delta)*(1.+taux1)) end subroutine reswedgeur