Mercurial > hg > smallbox
view config/SMALL_solve_config.m @ 215:f0552f962930 luisf_dev
Merge
author | Aris Gretsistas <aris.gretsistas@elec.qmul.ac.uk> |
---|---|
date | Wed, 21 Mar 2012 18:28:43 +0000 |
parents | 751fa3bddd30 |
children | c1efdd5d6250 |
line wrap: on
line source
%% Configuration file used in SMALL_solve % % Use this file to change the solvers in SMALLBox % Please refer to the documentation before editing this file % Centre for Digital Music, Queen Mary, University of London. % This file copyright 2009 Ivan Damnjanovic. % % This program 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 2 of the % License, or (at your option) any later version. See the file % COPYING included with this distribution for more information. % %% 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