From 430e82d9ca166d5cfc3a7cb07d9dee44011ffba8 Mon Sep 17 00:00:00 2001 From: sebastien <sebastien@ac1d8469-bf42-47a9-8791-bf33cf982152> Date: Mon, 27 Oct 2008 11:06:24 +0000 Subject: [PATCH] 4.0: merged r2117 and r2174 changesets (bicgstab.m removed because of name collision) git-svn-id: https://www.dynare.org/svn/dynare/branches/4.0@2201 ac1d8469-bf42-47a9-8791-bf33cf982152 --- matlab/bicgstab.m | 50 --------------------------------------- preprocessor/ModelTree.cc | 6 ++--- 2 files changed, 3 insertions(+), 53 deletions(-) delete mode 100644 matlab/bicgstab.m diff --git a/matlab/bicgstab.m b/matlab/bicgstab.m deleted file mode 100644 index c0a67e877a..0000000000 --- a/matlab/bicgstab.m +++ /dev/null @@ -1,50 +0,0 @@ -function [x,status]=bicgstab(func,b,x,tole,kmax,varargin) - -% Copyright (C) 2005 Dynare Team -% -% This file is part of Dynare. -% -% Dynare is free software: you can redistribute it and/or modify -% it under the terms of the GNU General Public License as published by -% the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. -% -% Dynare is distributed in the hope that it will be useful, -% but WITHOUT ANY WARRANTY; without even the implied warranty of -% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -% GNU General Public License for more details. -% -% You should have received a copy of the GNU General Public License -% along with Dynare. If not, see <http://www.gnu.org/licenses/>. - - status = 0; - r=b-feval(func,x,varargin{:}); - rh_0 = r; - rh = r; - rho_0 = 1; - alpha = 1; - w = 1; - v = 0; - p = 0; - k = 0; - rho_1 = rh_0'*r; - tolr = tole*norm(b); - - while norm(r) > tolr & k < kmax - k = k+1; - beta = (rho_1/rho_0)*(alpha/w); - p = r+beta*(p-w*v); - v = feval(func,p,varargin{:}); - alpha = rho_1/(rh_0'*v); - r = r-alpha*v; - t = feval(func,r,varargin{:}); - w = (t'*r)/(t'*t); - rho_0 = rho_1; - rho_1 = -w*(rh_0'*t); - x = x+alpha*p+w*r; - r = r-w*t; - end -if k == kmax - status = 1; - warning(sprintf('BICSTABN didn''t converge after %d iterations: norm(r) = %g',kmax,norm(r))); -end \ No newline at end of file diff --git a/preprocessor/ModelTree.cc b/preprocessor/ModelTree.cc index 21278e0fe2..bc478680c7 100644 --- a/preprocessor/ModelTree.cc +++ b/preprocessor/ModelTree.cc @@ -3105,10 +3105,10 @@ ModelTree::writeSparseDynamicFileAndBinFile(const string &dynamic_basename, cons nze+=block_triangular.ModelBlock->Block_List[i].IM_lead_lag[m].size; mDynamicModelFile << " Jacobian_Size=" << block_triangular.ModelBlock->Block_List[i].Size << "*(y_kmin+" << block_triangular.ModelBlock->Block_List[i].Max_Lead << " +periods);\n"; mDynamicModelFile << " g1=spalloc( length(y_index)*periods, Jacobian_Size, " << nze << "*periods" << ");\n"; - mDynamicModelFile << " cpath=path;\n"; - mDynamicModelFile << " addpath(fullfile(matlabroot,'toolbox','matlab','sparfun'));\n"; + /*mDynamicModelFile << " cpath=path;\n"; + mDynamicModelFile << " addpath(fullfile(matlabroot,'toolbox','matlab','sparfun'));\n";*/ mDynamicModelFile << " bicgstabh=@bicgstab;\n"; - mDynamicModelFile << " path(cpath);\n"; + //mDynamicModelFile << " path(cpath);\n"; mDynamicModelFile << sp << " reduced = 0;\n"; //mDynamicModelFile << " functions(bicgstabh)\n"; if (!block_triangular.ModelBlock->Block_List[i].is_linear) -- GitLab