diff --git a/matlab/bicgstab.m b/matlab/bicgstab.m deleted file mode 100644 index c0a67e877a5084e5e7f35aa5bb8725ef850ffe7c..0000000000000000000000000000000000000000 --- 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 21278e0fe2edddc8d528af17a3e1a6656a6b88e4..bc478680c737ac41d8cfe78b54fbcfea03822118 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)