Construct an uncertain matrix and compute the worst-case norm of the matrix and of its inverse. These computations let you accurately estimate the worst-case, or the largest, value of the condition number of the matrix.

maxnormM = *struct with fields:*
LowerBound: 14.7199
UpperBound: 14.7227

maxnormMi = *struct with fields:*
LowerBound: 2.5963
UpperBound: 2.5968

The condition number of `M`

must be less than the product of the two upper bounds for all values of the uncertain elements of `M`

. Conversely, the condition number of the largest value of `M`

must be at least equal to the condition number of the nominal value of `M`

. Compute these bounds on the worst-case value of the condition number.

The range between these lower and upper bounds is fairly large. You can get a more accurate estimate. Recall that the condition number of an n-by-m matrix `M`

can be expressed as an optimization, where a free norm-bounded matrix $$\Delta $$ tries to align the gains of `M`

and `inv(M)`

:

$$\begin{array}{c}\kappa \left(M\right)=\underset{\Delta \in {C}^{m\times m}}{\mathrm{max}}\left({\sigma}_{\mathrm{max}}\left(M\Delta {M}^{-1}\right)\right)\\ {\sigma}_{\mathrm{max}}\left(\Delta \right)\le 1\end{array}$$

If `M`

is uncertain, then the worst-case condition number involves further maximization over the possible values of `M`

. Therefore, you can compute the worst-case condition number of an uncertain matrix by using a `ucomplexm`

uncertain element and using `wcnorm`

to carry out the maximization.

Create a 2-by-2 `ucomplexm`

element with nominal value 0.

The range of values represented by `Delta`

includes 2-by-2 matrices with the maximum singular value less than or equal to 1.

Create the expression involving `M`

, `Delta`

, and `inv(M)`

.

maxKappa = *struct with fields:*
LowerBound: 26.8406
UpperBound: 38.2349

Verify that the values in `wcu`

make the condition number as large as `maxKappa.LowerBound`

.