ABOUT THIS PACKAGE: * SCOPT stands for Self-Concordant OPTimization * This is a software package written in MATLAB that implements the several first order and second order optimization algorithms for solving composite minimization problems of a self-concordant (like) function and a convex and possibly nonsmooth function min_x { F(x) = f(x) + rho*g(x) } where f is a smooth convex function and self-concordant (like) g is a convex and possibly nonsmooth function, rho is a regularization parameter. Note that when f(x) is a barrier functions of a given convex set C. Then, a path-following solver is also provided for this case. REFERENCES: [1]. Q. Tran Dinh, A. Kyrillidis and V. Cevher: A proximal Newton framework for composite minimization: Graph learning without Cholesky decompositions and matrix inversions. ICML 2013, Alanta. [2]. Q. Tran Dinh, A. Kyrillidis and V. Cevher: Self-Concordant Minimization, Tech. Report, LIONS, EPFL, 2013. [3]. Quoc Tran Dinh, Volkan Cevher and Yen-Huan Li: Minimization of self-concordant-like functions, Tech. Report., LIONS, EPFL, 2013. [4]. Q. Tran Dinh, A. Kyrillidis and V. Cevher: No heavy lifting required: A proximal path following scheme for conic programming, Tech. Report, LIONS, EPFL, 2013. INSTALLATION: * Download SCOPT.zip at http://lions.epfl.ch/software/SCOPT. * Unzip the SCOPT.zip file to create the SCOPT folder. * Open MATLAB, browse to the SCOPT/ folder and run the scopt_setup.m file to perform the basic installation steps. * Now you are ready to use SCOPT. STRUCTURES: * Some notes on the contents of the directory: 1. The main folder contains the main routines that implement the algorithms presented in the paper. This includes: first order gradient and fast gradient methods, proximal newton methods and path-following proximal newton methods for graphical learning, logistic regression, maxnorm clustering, and poisson imaging application examples. 2. "/examples" - contains the main routines that call the aforementioned functions for different problem cases. 3. "/functions" - contains a variety of helper functions, used by the implemented algorithms. 4. "/utilities" - contains general purpose functions (norm computation, functions that print and second the information per iteration, etc.) USAGE: * For usage details on the configuration of the algorithms, type "help scopt_optimset" in the Matlab prompt. DOWNLOAD AND INSTALL THIRD-PARTY SOFTWARE: Most of the example files contain comparison codes with off-the-shelf state-of-the-art codes. These include: * SCOPT is compared with YALMIP as a modelling language in the maxnorm clustering example. It can be downloaded at http://users.isy.liu.se/johanl/yalmip/. * SCOPT is compared with CVX and TFOCS software packages in most application examples. They can be downloaded at http://cvxr.com/. * SCOPT is compared with QUIC algorithm in the graphical learning problem. The code for QUIC can be downloaded at http://www.cs.utexas.edu/~sustik/QUIC/. * For the logistic regression examples, our test codes utilize the libsvm package. This package can be downloaded at http://www.csie.ntu.edu.tw/~cjlin/libsvmtools/ CONTACT: * This code is in development stage; any comments or bug reports are very welcome. Contacts: Quoc TRAN DINH, Volkan CEVHER, Anastasios KYRILLIDIS, Laboratory for Information and Inference Systems (LIONS), EPFL STI IEL, Ecole Polytechnique Federale de Lausanne (EPFL), Station 11, CH1015-Lausanne, Switzerland. Email: quoc.trandinh@epfl.ch volkan.cevher@epfl.ch anastasios.kyrillidis@epfl.ch ***