Robust Control Toolbox    
osborne

Compute an upper bound on the structured singular value via the Osborne method.

Syntax

Description
osborne computes a block-diagonal scaling that minimizes the Frobenius norm of a p by q matrix a. The maximum singular value of the scaled matrix is returned as mu; it is a scalar upper bound on the Structured Singular Value (SSV) of the matrix a.

Also returned are the diagonally scaled matrix ascaled and the logarithm of the Osborne diagonal scaling logd.

The optional input k records the uncertainty block sizes with default value
k = ones(p, 2). The variable k can be an n by 1 or n by 2 matrix whose rows are the uncertainty block sizes for which the SSV is to be evaluated. If only the first column of k is given then each individual uncertainty block is taken to be square, as if k(:, 1) = k(:, 2).

Algorithm
The Osborne iteration algorithm is as follows:

   1
Partition the given matrix a according to its pre-determined uncertainty block size k.
   2
Form the n by n matrix F whose elements are the largest singular values of the blocks of the matrix A.
   3
Compute the diagonal scaling D that minimizes the Frobenius norm of
DFD-1 via the following algorithm:

Limitations
The Osborne algorithm is ill-posed when the matrix F is reducible [1]; as sometimes is the case when some of the matrix' entries are zero. This problem is solved in osborne by slightly perturbing the zero entries, to create a nearby irreducible matrix.

Examples
Following are some simple examples of problems involving the difficult reducible case that are easily handled by the Robust Control Toolbox implementation of the osborne command:

See Also
muopt, psv, perron, ssv, sigma

References
[1] E. E. Osborne, "On Preconditioning of Matrices," J. of Assoc. of Computing Machinery, vol. 7, pp. 338-345, March, 1960.



ohkapp, ohklmr perron, psv