diff --git a/matlab/missing/ilu/ilu.m b/matlab/missing/ilu/ilu.m new file mode 100644 index 0000000000000000000000000000000000000000..1e4dfcf1e90b6cdfb54a95881f07d94cf9695310 --- /dev/null +++ b/matlab/missing/ilu/ilu.m @@ -0,0 +1,43 @@ +function [L, U, P] = ilu(A, setup) +% Partially implement function ilu using the (now deprecated) luinc + +% Copyright (C) 2013 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/>. + + if nargout ~= 2 + error('Only two output arguments supported') + end + if nargin ~= 2 + error('Only two input arguments supported') + end + + if isfield(setup, 'type') + if setup.type ~= 'ilutp' + error(['Unsupported type: ' setup.type ]) + end + end + + if isfield(setup, 'milu') + if setup.milu == 'off' + setup.milu = 0; + else + error(['Unsupported milu: ' setup.milu ]) + end + end + + [L, U] = luinc(A, setup); +end