Mercurial > hg > smallbox
diff util/SMALL_solve.m @ 224:fd0b5d36f6ad danieleb
Updated the contents of this branch with the contents of the default branch.
author | luisf <luis.figueira@eecs.qmul.ac.uk> |
---|---|
date | Thu, 12 Apr 2012 13:52:28 +0100 |
parents | 4ea4badb2266 a986ee86651e |
children |
line wrap: on
line diff
--- a/util/SMALL_solve.m Wed Mar 14 16:31:38 2012 +0000 +++ b/util/SMALL_solve.m Thu Apr 12 13:52:28 2012 +0100 @@ -15,9 +15,11 @@ % published by the Free Software Foundation; either version 2 of the % License, or (at your option) any later version. See the file % COPYING included with this distribution for more information. -% +% %% +SMALLboxInit + if isa(Problem.A,'float') A = Problem.A; SparseLab_A=Problem.A; @@ -45,72 +47,9 @@ start=cputime; tStart=tic; -if strcmpi(solver.toolbox,'sparselab') - y = eval([solver.name,'(SparseLab_A, b, n,',solver.param,');']); -elseif strcmpi(solver.toolbox,'sparsify') - if isa(Problem.A,'float') - y = eval([solver.name,'(b, A, n,',solver.param,');']); - else - y = eval([solver.name,'(b, A, n, ''P_trans'', AT,',solver.param,');']); - end -elseif (strcmpi(solver.toolbox,'spgl1')||strcmpi(solver.toolbox,'gpsr')) - y = eval([solver.name,'(b, A,',solver.param,');']); -elseif (strcmpi(solver.toolbox,'SPAMS')) - y = eval([solver.name,'(b, A, solver.param);']); -elseif (strcmpi(solver.toolbox,'SMALL')) - if isa(Problem.A,'float') - y = eval([solver.name,'(A, b, n,',solver.param,');']); - else - y = eval([solver.name,'(A, b, n,',solver.param,',AT);']); - end -elseif (strcmpi(solver.toolbox, 'ompbox')) - G=A'*A; - epsilon=solver.param.epsilon; - maxatoms=solver.param.maxatoms; - y = eval([solver.name,'(A, b, G,epsilon,''maxatoms'',maxatoms,''checkdict'',''off'');']); -elseif (strcmpi(solver.toolbox, 'ompsbox')) - basedict = Problem.basedict; - if issparse(Problem.A) - A = Problem.A; - else - A = sparse(Problem.A); - end - G = dicttsep(basedict,A,dictsep(basedict,A,speye(size(A,2)))); - epsilon=solver.param.epsilon; - maxatoms=solver.param.maxatoms; - y = eval([solver.name,'(basedict, A, b, G,epsilon,''maxatoms'',maxatoms,''checkdict'',''off'');']); - Problem.sparse=1; -elseif (strcmpi(solver.toolbox, 'ALPS')) - if ~isa(Problem.A,'float') - % ALPS does not accept implicit dictionary definition - A = opToMatrix(Problem.A, 1); - end - [y, numiter, time, y_path] = wrapper_ALPS_toolbox(b, A, solver.param); -elseif (strcmpi(solver.toolbox, 'MMbox')) - if ~isa(Problem.A,'float') - % MMbox does not accept implicit dictionary definition - A = opToMatrix(Problem.A, 1); - end - - [y, cost] = wrapper_mm_solver(b, A, solver.param); - - - - % To introduce new sparse representation algorithm put the files in - % your Matlab path. Next, unique name <TolboxID> for your toolbox and - % prefferd API <Preffered_API> needs to be defined. - % - % elseif strcmpi(solver.toolbox,'<ToolboxID>') - % - % % - Evaluate the function (solver.name - defined in the main) with - % % parameters given above - % - % y = eval([solver.name,'(<Preffered_API>);']); - -else - printf('\nToolbox has not been registered. Please change SMALL_solver file.\n'); - return -end + +% solvers configuration file +run(fullfile(SMALL_path, 'config/SMALL_solve_config.m')); %% % Sparse representation time