v4: made options for solve tolerance criteria
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@925 ac1d8469-bf42-47a9-8791-bf33cf982152time-shift
parent
1f56e496b1
commit
6c98c92782
|
@ -33,7 +33,7 @@ function [x,info] = dynare_solve(func,x,jacobian_flag,varargin)
|
||||||
[x,info]=solve1(func,x,1:nn,1:nn,jacobian_flag,varargin{:});
|
[x,info]=solve1(func,x,1:nn,1:nn,jacobian_flag,varargin{:});
|
||||||
elseif options_.solve_algo == 2
|
elseif options_.solve_algo == 2
|
||||||
nn = size(x,1) ;
|
nn = size(x,1) ;
|
||||||
tolf = eps^(2/3) ;
|
tolf = options_.solve_tolf ;
|
||||||
|
|
||||||
if jacobian_flag
|
if jacobian_flag
|
||||||
[fvec,fjac] = feval(func,x,varargin{:});
|
[fvec,fjac] = feval(func,x,varargin{:});
|
||||||
|
@ -53,7 +53,7 @@ function [x,info] = dynare_solve(func,x,jacobian_flag,varargin)
|
||||||
|
|
||||||
f = 0.5*fvec'*fvec ;
|
f = 0.5*fvec'*fvec ;
|
||||||
|
|
||||||
if max(abs(fvec)) < 0.01*tolf
|
if max(abs(fvec)) < tolf
|
||||||
return ;
|
return ;
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
% Copyright (C) 2001 Michel Juillard
|
% Copyright (C) 2001 Michel Juillard
|
||||||
%
|
%
|
||||||
function [x,f,fvec,check]=lnsrch(xold,fold,g,p,stpmax,func,j1,j2,varargin)
|
function [x,f,fvec,check]=lnsrch(xold,fold,g,p,stpmax,func,j1,j2,varargin)
|
||||||
|
global options_
|
||||||
|
|
||||||
alf = 1e-4 ;
|
alf = 1e-4 ;
|
||||||
tolx = 3.7e-11 ;
|
tolx = options_.solve_tolx;
|
||||||
alam = 1;
|
alam = 1;
|
||||||
|
|
||||||
x = xold;
|
x = xold;
|
||||||
|
|
|
@ -8,12 +8,12 @@ function [x,check] = solve1(func,x,j1,j2,jacobian_flag,varargin)
|
||||||
fjac = zeros(nn,nn) ;
|
fjac = zeros(nn,nn) ;
|
||||||
g = zeros(nn,1) ;
|
g = zeros(nn,1) ;
|
||||||
|
|
||||||
tolf = eps^(2/3) ;
|
tolf = options_.solve_tolf ;
|
||||||
tolmin = 3.7e-11 ;
|
tolx = options_.solve_tolx;
|
||||||
tolx = 3.7e-11 ;
|
tolmin = tolx ;
|
||||||
|
|
||||||
stpmx = 100 ;
|
stpmx = 100 ;
|
||||||
maxit = 2000 ;
|
maxit = options_.solve_maxit ;
|
||||||
|
|
||||||
check = 0 ;
|
check = 0 ;
|
||||||
|
|
||||||
|
@ -30,7 +30,7 @@ function [x,check] = solve1(func,x,j1,j2,jacobian_flag,varargin)
|
||||||
|
|
||||||
f = 0.5*fvec'*fvec ;
|
f = 0.5*fvec'*fvec ;
|
||||||
|
|
||||||
if max(abs(fvec)) < 0.01*tolf
|
if max(abs(fvec)) < tolf
|
||||||
return ;
|
return ;
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue