Professional Documents
Culture Documents
Intro MUSSV
Intro MUSSV
1 Purpose
Compute upper and lower bounds for the structured singular value of constant matrices. Note
the dependence of µ∆ (M ) on the particular structure ∆, and verify the correctness of the
bounds produced by the calculation.
2 Commands
≫ [bnds,muinfo] = mussv(mat,blk);
≫ [bnds,muinfo] = mussv(mat,blk,opt);
≫ [VDelta,VSigma,VLmi] = mussvextract(muinfo);
Description
1
≫ blk = [3 2;4 5;1 1];
2
3 Upper Bound
The upper bound satisfies µ∆ (M ) ≤ β. The fields of VLmi are Dr, Dc, Grc and Gcr. They
will satisfy:
1. Dr = Dr∗ ≻ 0, Dc = Dc∗ ≻ 0
1/2 1/2
2. Dc ∆ = ∆Dr for every ∆ ∈ ∆
3. Gcr = G∗cr , Grc = G∗rc
4. Grc ∆ = ∆∗ Gcr for all ∆ ∈ ∆
5. M ∗ Dr M − β 2 Dc + j (Gcr M − M ∗ Grc ) 0
Of course, if there are no real blocks, then Gcr = Grc = 0, and equivalently
σ̄ Dr1/2 M Dc−1/2 = β
4 Lower Bound
1. ∆ ∈ ∆
1
2. σ̄ (∆) = α
3
5 Example
≫ mat = crandn(11,12);
≫ blk = [-3 0;2 0;4 2;-2 0;1 2];
≫ [bnds,muinfo] = mussv(mat,blk);
≫ [VDelta,VSigma,VLmi] = mussvextract(muinfo);
≫ % check the conditions above
6 Options
There are a few options which yield better lower and upper bounds, at the expense of more
computation. Use a 3rd argument
≫ [bnds,muinfo] = mussv(mat,blk,’f’);
≫ [bnds,muinfo] = mussv(mat,blk,’a’);
≫ [bnds,muinfo] = mussv(mat,blk,’m2’);
≫ [bnds,muinfo] = mussv(mat,blk,’m9’);
≫ [bnds,muinfo] = mussv(mat,blk,’am7’); % both
The argument ’f’ uses a fast, approximate algorithm to optimize the D and G scales. The
upper bound is usually inferior (larger) to the default.
By contrast, the argument ’a’ improves the upper bound, but uses additional computational
time.
The argument ’m2’ - ’m9’ improves the lower bound, by trying the power iteration more
than once, each time starting from a new random vector. It then takes the best answer that
it gets.
7 Questions
Which block structures seem to benefit from the extra computation that the ’a’ and ’m’
options require?