| Robust Control Toolbox | ![]() |
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:
a according to its pre-determined uncertainty
block size k.
% Initialize D scaling D = eye(n); for i = 1 : n while abs(D(i) - 1) < 1.e - 6 offrow(i) = sum(norm(off-diagonal terms of ith row)); offcol(i) = sum(norm(off-diagonal terms of ith column)); D(i) = offrow (i)/o f f col(i); F(i, :) = F(i, :)/D(i); F(:, i) = F(:, i * D(i); end end
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:
% A reducible case as compared to sigma A = eye(10); A(1,10) = 100000; [mu,Ascaled,logd] = osborne(A); mu % Display answer mu % Another reducible case as compared to sigma A = eye(8); A(1,3) = 100000; A(4,8) = 500000; [mu,Ascaled,logd] = osborne(A); mu % Display answer mu
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 | ![]() |