v4: made options for solve tolerance criteria

git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@925 ac1d8469-bf42-47a9-8791-bf33cf982152
time-shift
michel 2006-09-21 15:48:36 +00:00
parent 1f56e496b1
commit 6c98c92782
3 changed files with 10 additions and 9 deletions

View File

@ -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{:});
elseif options_.solve_algo == 2
nn = size(x,1) ;
tolf = eps^(2/3) ;
tolf = options_.solve_tolf ;
if jacobian_flag
[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 ;
if max(abs(fvec)) < 0.01*tolf
if max(abs(fvec)) < tolf
return ;
end

View File

@ -1,9 +1,10 @@
% Copyright (C) 2001 Michel Juillard
%
function [x,f,fvec,check]=lnsrch(xold,fold,g,p,stpmax,func,j1,j2,varargin)
global options_
alf = 1e-4 ;
tolx = 3.7e-11 ;
tolx = options_.solve_tolx;
alam = 1;
x = xold;

View File

@ -8,12 +8,12 @@ function [x,check] = solve1(func,x,j1,j2,jacobian_flag,varargin)
fjac = zeros(nn,nn) ;
g = zeros(nn,1) ;
tolf = eps^(2/3) ;
tolmin = 3.7e-11 ;
tolx = 3.7e-11 ;
tolf = options_.solve_tolf ;
tolx = options_.solve_tolx;
tolmin = tolx ;
stpmx = 100 ;
maxit = 2000 ;
maxit = options_.solve_maxit ;
check = 0 ;
@ -30,7 +30,7 @@ function [x,check] = solve1(func,x,j1,j2,jacobian_flag,varargin)
f = 0.5*fvec'*fvec ;
if max(abs(fvec)) < 0.01*tolf
if max(abs(fvec)) < tolf
return ;
end