# cmsclsyn

Approximately solve constant-matrix, upper bound µ-synthesis problem

## Syntax

[QOPT,BND] = cmsclsyn(R,U,V,BlockStructure); [QOPT,BND] = cmsclsyn(R,U,V,BlockStructure,opt); [QOPT,BND] = cmsclsyn(R,U,V,BlockStructure,opt,qinit); [QOPT,BND] = cmsclsyn(R,U,V,BlockStructure,opt,'random',N)

## Description

`cmsclsyn`

approximately solves the constant-matrix, upper bound µ-synthesis problem by minimization,

$${\mathrm{min}}_{Q\in {C}^{r\times t}}{\mu}_{\Delta}\left(R+UQV\right)$$

for given matrices *R* ∊ **C**^{n}x_{m}, *U* ∊ **C**^{n}x_{r}, *V* ∊ **C**^{t}x_{m}, and a set Δ ⊂ **C**^{m}x_{n}. This applies to constant matrix data in *R*, *U*, and *V*.

`[QOPT,BND] = cmsclsyn(R,U,V,BlockStructure)`

minimizes, by choice of Q. `QOPT`

is the optimum value of Q, the upper bound of `mussv(R+U*Q*V,BLK), BND`

. The matrices `R,U`

and` V`

are constant matrices of the appropriate dimension.` BlockStructure`

is a matrix specifying the perturbation blockstructure as defined for `mussv`

.

`[QOPT,BND] = cmsclsyn(R,U,V,BlockStructure,OPT)`

uses the options specified by `OPT`

in the calls to `mussv`

. See `mussv`

for more information. The default value for `OPT`

is `'cUsw'`

.

`[QOPT,BND] = cmsclsyn(R,U,V,BlockStructure,OPT,QINIT)`

initializes the iterative computation from Q = `QINIT`

. Because of the nonconvexity of the overall problem, different starting points often yield different final answers. If `QINIT`

is an N-D array, then the iterative computation is performed multiple times - the `i`

'th optimization is initialized at Q = `QINIT(:,:,i)`

. The output arguments are associated with the best solution obtained in this brute force approach.

`[QOPT,BND] = cmsclsyn(R,U,V,BlockStructure,OPT,'random',N)`

initializes the iterative computation from `N`

random instances of `QINIT`

. If `NCU`

is the number of columns of `U`

, and `NRV`

is the number of rows of `V`

, then the approximation to solving the constant matrix µ synthesis problem is two-fold: only the upper bound for µ is minimized, and the minimization is not convex, hence the optimum is generally not found. If `U`

is full column rank, or `V`

is full row rank, then the problem can (and is) cast as a convex problem, [Packard, Zhou, Pandey and Becker], and the global optimizer (for the upper bound for µ) is calculated.

## Algorithms

The `cmsclsyn`

algorithm is iterative, alternatively holding Q fixed, and computing the `mussv`

upper bound, followed by holding the upper bound multipliers fixed, and minimizing the bound implied by choice of Q. If `U`

or `V`

is square and invertible, then the optimization is reformulated (exactly) as an linear matrix inequality, and solved directly, without resorting to the iteration.

## References

Packard, A.K., K. Zhou, P. Pandey, and G. Becker, “A collection of robust control problems leading to LMI's,” *30th IEEE Conference on Decision and Control,* Brighton, UK, 1991, p. 1245–1250.

## Version History

**Introduced before R2006a**