# Code

**WDMR.m**computes the Weight Determination by Manifold Regularization kernel matrix (see e.g. Manifold-Constrained Regressors in System Identification Henrik Ohlsson, Jacob Roll and Lennart Ljung, 47th IEEE Conference on Decision and Control, Cancun, Mexico, December 2008). Code can be downloaded here.

**segreg** is a code packaged for segmentation of ARX-models
using sum-of-norms regularization. Code can be downloaded here. The code uses CVX which can be downloaded from http://cvxr.com/cvx/.

**trajson** is a trajectory generation algorithm
using sum-of-norms regularization. Code can be downloaded here.
The code uses CVX which can be downloaded from http://cvxr.com/cvx/.

**stateson** is a state estimation algorithm
which uses sum-of-norms regularization to handle infrequently occurring process noise disturbances (jumps). Stateson can be seen as a convexification of the general likelihood ratio approach proposed by A. Willsky and H. Jones in "A generalized likelihood ratio approach to the detection and estimation of jumps in linear systems," IEEE Transactions on Automatic Control, vol. 21, no. 1, pp. 108-112, Feb 1976. Code can be downloaded here (a code-package with examples will be available soon). The code uses CVX which can be downloaded from http://cvxr.com/cvx/.

**SON Clustering** is a convex clustering method using
regularization. A simple Matlab script that illustrates SON clustering
can be
downloaded here. For better performance,
one should consider adding a kernel in front of the regularization. The code uses CVX which can be downloaded from http://cvxr.com/cvx/.

**PWASON** is a convex system identification method developed for the
identification of piecewise affine models. A simple Matlab script that illustrates SON clustering
can be downloaded here. The code uses CVX which can be
downloaded from http://cvxr.com/cvx/.

**CPRL** (Compressive Phase Retrieval via Lifting) is a sparse convex phase retrieval algoritm. CPRL extends the type of applications that compressive sensing can be
applied to those where only output magnitudes can be observed.
More information can be found in the technical report
arXiv.org.
A simple Matlab package that
illustrates CPRL (CVX and ADMM implementation)
can be downloaded here. The code uses CVX
which can be
downloaded from http://cvxr.com/cvx/.

**SparsePoly: a Matlab toolbox for finding sparse solutions of polynomial systems** SparsePoly is a Matlab implementation of the polynomial basis pursuit and greedy algorithms described in
Finding sparse solutions of systems of polynomial equations via group-sparsity optimization. The toolbox can be downloaded
from Fabien Lauer's homepage.

**NLBP** solves nonlinear equation systems (for both sparse and dense solutions) and thereby extends the type of applications that compressive sensing can be applied to those where there are nonlinear relationships between the measurements and the unknowns. For further on NLBP (Nonlinear Basis Pursuit) see the report:
Nonlinear Basis Pursuit. An example and code for NLBP can be downloaded
here. The code uses CVX
which can be
downloaded from http://cvxr.com/cvx/.

**BIL** provides a blind ARX identification method.
Blind system identification is known to be an ill-posed problem and without further assumptions, no unique solution is at hand.
The blind identiffication problem is here phrased as a constrained rank minimization problem.
To make the problem well posed we assume that the sought input lies in some known linear subspace.
For a detailed description of BIL, see Blind Identification via Lifting. An example and code for BIL can be downloaded
here. The code uses CVX
which can be
downloaded from http://cvxr.com/cvx/.

## Assistant Professor

**(Swedish: Forskarassistent)**

**Phone:**- +46 13 281000

**E-mail:**- ohlsson_at_isy.liu.se

**Address:**- Dept. of Electrical Engineering
- Linköping University
- SE-581 83 Linköping
- Sweden

Page responsible: Henrik Ohlsson

Last updated: 2013-12-31