You are on page 1of 10

Computation of the H-norm: an efficient method

Madhu N. Belur and Cornelis Praagman

Abstract
An efficient algorithm to compute the H -norm of a real rational transfer matrix
is presented. The new algorithm is then compared with the existing method using an
example and the number of floating point operations necessary for the new method turns
out to be drastically lower.
Keywords: H-infinity norm, rational transfer matrix, numerical efficiency, behaviors, dissipativity.

Introduction

We present an algorithm to compute the H -norm of a real rational transfer matrix. Currently, most algorithms to calculate the H -norm are search algorithms. In [3] a fast algorithm based on the relation between the singular values of the transfer matrix and the
eigenvalues of a related Hamiltonian matrix is studied. In [1] a bisection algorithm is presented for repeatedly computing upper and lower bounds for the H -norm. An algorithm for
c
searching the norm is also an issue in [2]. Matlab
uses an iterative algorithm to compute the
H -norm. The algorithm discussed in this paper circumvents the kind of iteration inherent
in such techniques. A similar idea is followed in [4]. Our algorithm differs slightly from the
one in [4] and is also more general. We provide an example, where the algorithm in [4] fails.
For this example, moreover, the floating point operations required by our algorithm is less
c
than one-tenth of that required by the algorithm used in Matlab
.
The paper is structured as follows. Section 2 contains a brief review of the relation between
H -norm and dissipativity, and the consequences for the computation of the H -norm. In
sections 3 and 4 we discuss the main issues related to our algorithm. Section 5 contains a
step-by-step method that can be utilized to compute the H -norm of a transfer matrix. In
section 6 we consider an example to draw some comparisons, and finally in section 7 we briefly
look into the implementation of the algorithm using the routines existing in packages. The
remainder of this section is devoted to a brief review of the notation.
:= R {}, and
R is the field of real numbers and C is the complex plane. We often use R
Cm := Cm {0}. R[] is the ring of polynomials in one indeterminate with real coefficients
and Rpm [] is the set of matrices with p rows and m columns in which each entry is an element

Department of Mathematics, University of Groningen, Corresponding author, current address: Department of Electrical Engineering, Indian Institute of Technology (IIT) Bombay, Powai, Mumbai 400 076, India.
Email: Belur@ee.iitb.ac.in, Fax: +91.22.25723707

Department of Econometrics, University of Groningen, P.O.Box 800, 9700 AV, Groningen, The Netherlands. Email: C.Praagman@eco.rug.nl, Fax: +31.50.3633720

from this ring. When only the number of columns needs to be specified we use a to avoid
indicating the number of rows, i.e. Rm is the set of matrices with m columns.
We shall often deal with real polynomials in two indeterminates and . This ring is denoted
by R[, ]. Given g R[, ] we sometimes shall consider the roots i of the polynomial in
one indeterminate obtained from g by fixing the value of . To emphasize this we write
g () R[, ] instead, and speak of the roots of the polynomial g .
We shall sometimes need to refer to the degree of this polynomial with respect to one of these
indeterminates; we then use the corresponding indeterminate in the subscript of degree.
For example, degree is the degree in of a given polynomial in indeterminates and .
Sometimes, the subscript shall also be used to emphasize the indeterminate in a one variable
polynomial.

Dissipative systems and the H -norm

Let G Rpm (s) be a proper real rational transfer matrix and suppose it has no poles in the
closed right half complex plane. Its H -norm is defined as the supremum over the closed
right half complex plane of the maximum singular value of G(s)
kGkH := sup max (G(s)) .
Re(s)>0

It is well-known that, for the case at hand, it is enough to consider the L -norm, i.e. kGkH =
supR max (G(i)). Let G(s) be given by a right-coprime factorization M2 (s)M11 (s) with
M1 , M2 Rm [s].
We need some basic results from the behavioral theory to systems and control (see [10]).
Given M1 and M2 as above, we define the behavior B(M1 , M2 ) as follows
B(M1 , M2 ) := {(u, y) C (R, Rm+p ) | ` C (R, Rm ) such that u = M1 (

d
d
)` and y = M2 ( )`}.
dt
dt


M1
Define M
by M :=
. Thus B(M1 , M2 ) is the image of the operator
M2
d
M ( dt
) when this operator acts on C (R, Rm ). A detailed exposition on behavioral theory can
be found in [8]. G having no poles on the imaginary axis is equivalent to M1 (s) having no
zeros on iR. Define R(m+p)(m+p) by


Im
0
:=
0 Ip
R(m+p)m [s]

where Im and Ip are identity matrices of sizes compatible with u and y, respectively.
The following theorem yields alternative ways to describe the H -norm:
Theorem 1 With the above notation the following 3 statements are equivalent:
1. kGkH 6

2. M T (i) M (i) > 0 for all R, and


2

3. For all R and v Cm ,

kM2 (i)vk2
kM1 (i)vk2

6 .

Proof: In [11] it is proven that the first two statements are equivalent to -dissipativeness
of B(M1 , M2 ). The equivalence of the last two statements is straightforward:
kM2 (i)vk2
6 for all v Cm
kM1 (i)vk2

kM2 (i)vk2 6 kM1 (i)vk2 for all v Cm

M T (i) M (i) > 0




Associated with the second statement of the above theorem, we define the matrix H ()
Cmm [, ]
H () := M1T (i)M1 (i) M2T (i)M2 (i) = M T (i) M (i)

(1)

and the function : R Cm R+


(, v) :=

kM2 (i)vk2
kM1 (i)vk2

(2)

associated with the third statement. Since G is proper, the definition of can be extended
Cm by taking the limit for .
to R
According to theorem 1, to find the H -norm of G, it is sufficient to compute the minimum
such that H () > 0 for all R, or (, v) 6 for all R, and v Cm . We denote
this minimum by . Once we have found this minimum it is easy to compute the H -norm

of the system, which is nothing but . Thus the problem of computation of the H -norm
is reformulated into a property of polynomial matrices.

Determination of

As noted, we need to find the minimal such that H () is non-negative for all R, or
(, v) 6 for all R, v Cm . Clearly (, cv) = (, v) for all c 6= 0. So we can restrict
m1 ,

v to Sm1 , the unit sphere in Cm . Then is a continuous function on the compact set RS
and hence it attains its maximum at some point (
, v).
Let n be the degree of det M1 (s), and let p () R[, ] be the determinant of H (). We
write p () as a polynomial in :
p () = a0 () + 2 a2 () + + 2n2 a2n2 () + 2n a2n () .

(3)

Note that p is an even polynomial in , since H () = HT (). Further, for each > ,
p () > 0 and p () > 0 for all R. Following is one of the main results of this paper.

Theorem 2 kGkH = . If
= then is the largest root of a2n (). If a2n (
) 6= 0 then
p has a double root at
.

Proof: For the proof we refer to appendix A.

If a2n (
) 6= 0, and hence
< , then p is nonnegative, but not identically zero. All its real
roots, including the one at
, are of even multiplicity. It has at least a double root at
, so
its derivative also has a root at
. Therefore, p and q are not coprime, with q () R[, ]
p
defined as q () := () . The idea of our method is to compute all s that cause p and
q to lose coprimeness. In view of the above, is in this set; in fact, it is the largest element
in the set for which p has a real root. (Note that for some s, p and q could also have one
or more common roots, but all in C R. These s are not the interesting ones.)
Analogous to equation (3) where we wrote p () as a polynomial in , we write q () as
follows
q () =

p
(, ) = b1 () + 3 b3 () + + 2n1 b2n1 ()

with bi R[]. (Since p is even, q is odd and hence b2k = 0 for all k Z+ .) Note that
b2k1 = 2ka2k .
The way we proceed further is as follows, on the one hand find , the largest real root of
a2n (). On the other hand determine the set of s for which p and q are not coprime. Find
f , the largest in this set for which p has a real root. Then = max( , f ). Note that
> 0.

Losing coprimeness

We use the standard result that under the condition that their leading terms are both nonzero,
two polynomials are coprime if and only if their Sylvester resultant is nonsingular (see [9,
chapter 12]). The Sylvester resultant S R(4n1)(4n1) [] of p and q is defined as follows

a0 a1 a2n2 a2n1 a2n


0

0
0 a0 a2n3 a2n2 a2n1 a2n
0

..
..
..
..
..
..
..
. ...
.
.
.
.
.
.

0 0
a0
a1
a2
a2n1 a2n

.
b
b

b
b
0
0

0
S=
(4)
0
1
2n2
2n1

0 b0 b2n3 b2n2 b2n1 0

.. . .
..
..
..
..
..
..
.
.
.
.
.
.
.
.

0 0
b0
b1

b2n1
0
0 0
0
b0
b1
b2n2 b2n1
The determinant of this matrix is a polynomial in : det S R[]. There is a possibility
that det S is identically zero (i.e. the zero polynomial). We shall deal with this case after we
analyze the situation when det S 6= 0.
Suppose det S 6= 0. This implies that for almost all , p and q are coprime. They are not
coprime precisely when is a root of det S, but not a root of a2n . (In the case that is a root
of a2n both leading coefficients would be zero). We find the largest root f of the polynomial
det S for which pf has a real root.
4

A relevant remark here is that a22n divides det S. This can be seen as follows. Since b2n1 =
2na2n , the last column of S is divisible by a2n . Further, because p is even, a2n1 = 0 and
hence b2n2 = 0 also. Hence the second last column of S is also divisible by a2n . This proves
that a22n divides det S. Thus is already a root of det S. So although to find f we have to
disregard the zeros of a2n , in fact we are looking for the largest real such that det S() = 0,
and either a2n () = 0, or p has a real root.
Note that, similarly, a0 divides det S, because the last column of S is divisible by a0 (since
b0 = 0). When equals a root of a0 then 0 is a common root of p and q . Thus the maximal
real root of a0 is also a lower bound for . These lower bounds will be useful for a quick
computation of . The computation of the roots of det S can be simplified by dividing out
a22n a0 , and computing the roots of a lower order polynomial.
We now come to the case that det S = 0. In this case for all , p and q are not coprime.
This happens when p and q, now considered as polynomials in two variables, are not coprime
(see appendix B).
We calculate the factors of p and q in R[, ] and call the greatest common factor r R[, ].
From theorem 7 we conclude that for p := p/r and q := q/r, the essential properties of p & q
are similar to those of p & q: p has a double root at
, and q (
) = 0, and hence we can
proceed with p and q instead.
Notice that the leading term of q is still an integer multiple of that of p: a2n = a
` r` and
b` r` = 2na2n , so b` = 2n
a` , and we can still divide det S by the same factor.
If we construct the Sylvester resultant S as in equation (4) using p and q, then we know that
det S 6= 0, since we divided out the greatest common factor. We go through the real roots of
det S greater than , looking for the maximum value that results in p and q having a real
common root. If there exists such a then we take that for . Otherwise, define := .
It is possible to estimate the number of roots of det S. As mentioned before, p is an even
polynomial in . The degree of p is twice the degree of det M1 . When M2 M11 is a right
coprime factorization, then det M1 has degree equal to the McMillan degree of the system.
The degree of ai is at most m, the number of inputs (and the size of M1 and H). Hence the
degree of det S is at most m(4n 1). This gives us an estimate of the order of det S before
dividing det S by a22n a0 .

The algorithm

After having explained the main content of the procedure, we now come to a concise algorithm
that takes in the transfer matrix as input and gives out the H -norm as output.
Data: G Rpm (s), a real rational transfer matrix, such that G is proper and has no poles
in the closed right half plane.
Output: kGkH .
Algorithm:
1. Obtain a right coprime factorization of G into G(s) = M2 (s)M11 (s) with M1 , M2
Rm [s].
2. Compute p () := det[M1T (i)M1 (i) M2T (i)M2 (i)].
5

3. Let a` R[] denote the coefficient of the term with highest degree in . Denote the
largest of the roots of a` by . (We shall see in lemma 5 that all roots of a` are
non-negative.)

4. Determine q () :=
p ().
5. Find the greatest common factor of p () and q (). Divide both by this factor to obtain
p () and q (), respectively.
6. Write p and q as follows
p () = a0 () + 2 a2 () + + 2n a2n ()
q () = b1 () + 3 b3 () + + 2n1 b2n1 () .
with ai , bi R[].
7. Compute the Sylvester resultant S as in equation (4).
8. Compute the roots of det S R[] and consider the ordered set T := {1 > 2 > . . . >
m = } of the real roots of det S that are not less than .
9. For k = 1 to m 1, check if a common root of pk and qk is real (or alternatively, if pk
has a real root). If yes, then := k .
10. Otherwise, := m .

11. kGkH := .

An example

We demonstrate the algorithm using the following not-too-trivial and not-too-complicated


example. Consider the transfer matrix
!
4(s+1)
3(s+1)
1
2
2
s +s+4
s +s+4
G(s) =
.
4(s+1)
3(s+1)
5
2
s +s+4
s2 +s+4
p () and q () for this example are as follows

2
p () = 25 (16 7 2 + 4 ) 1 2 ,
q () = 50((16 7 2 + 4 ) 1 2 )(14 2 + 4 3 ) .
In this case, det S evaluated as in equation (4) turns out to be the zero polynomial. (This is
the reason why the algorithm employed in [4] fails for this example.) We then divide out the
greatest common divisor of p and q to obtain
p = 16 1 (7 + 1) 2 + 4 ,
q = (28 + 4) + 8 3 .
The roots of the determinant of the Sylvester resultant obtained using p and q turn out
1
to be 915 96 , 16
and 0. We now check at which among these values that are positive, p

1
and q have a real common root. This happens at 9+15 96 and 16
. We thus have = 9+15 96

and kGkH = = 1.1194629. Using our method, the number of floating point operations
c
(flops) utilized in Matlab
for computing the H -norm is 4508, while the built-in routine
c
c

within Matlab utilizes 179700 flops1 . (The routine in Matlab
is based on an iterative
algorithm from [3] (see [7])).
1
The command flops is no longer in present Matlab versions. Also, the comparison of the two methods
was made for the same precision of 106 .

Conclusive remarks

We have presented and elaborated on an efficient method to compute the H -norm of a


transfer matrix. Implementation of this algorithm requires the computation of the Sylvester
resultant of two multivariate polynomials with respect to a given variable. This computac
tion is a standard routine in packages on symbolic mathematics (for example, Maple
and
c

Mathematica ). These routines can be employed in the above algorithm. If the resultant is
the zero polynomial we need to compute the common factor as explained in section 4. This
c
can be done using Maple
.
We have finally considered a simple example where the numerical efficiency of our method is
about forty times better than the current method.

References
[1] S. Boyd, K. Balakrishnan and P. Kabamba, A bisection method for computing the H norm of a transfer matrix and related problems, Math Control Signals and Systems,
volume 2, 1989, no.3, pages 207-219.
[2] S. Boyd and K. Balakrishnan, A regularity result for the singular values of a transfer
matrix and a quadratically convergent algorithm for computing its H -norm, Systems
& Control Letters, volume 15, 1990, no.1, pages 1-7.
[3] N.A. Bruinsma and M. Steinbuch, A fast algorithm to compute the H -norm of a transfer
function matrix, System & Control Letters, volume 14, 1990, no.4, pages 287-293.
[4] R. Caponetto, L. Fortuna, G. Muscato and G. Nunnari, A direct method for computing
the L -norm of a transfer matrix, Journal of the Franklin Institute, volume 329, 1992,
no. 3, pages 591-604.
[5] R. Hartshorne, Algebraic Geometry, Springer Verlag, 1980.
[6] P. Lancaster and M. Tismenetsky, The Theory of Matrices: with Applications, Academic
Press, 1985.
c
[7] The MathWorks, Control System Toolbox, For use with Matlab
, Reference, Online
manual, Version 5.2, Available at http://www.mathworks.com

[8] J.W. Polderman and J.C. Willems, Introduction to Mathematical Systems Theory: a
Behavioral Approach, Springer Verlag, 1997.
[9] J.V. Uspensky, Theory of Equations, McGraw-Hill, 1948.
[10] J.C. Willems, Paradigms and puzzles in the theory of dynamical systems, IEEE Transactions on Automatic Control, volume 36, pages 259-294, 1991.
[11] J.C. Willems and H.L. Trentelman, On quadratic differential forms, SIAM Journal on
Control and Optimization, volume 36, 1998, pages 1703-1749.

Proof of Theorem 2

In this appendix we prove theorem 2. We first study some properties of H as defined in


equation (1)
H () := M1T (i)M1 (i) M2T (i)M2 (i)
with M1 nonsingular in the closed right half plane. We also discuss the related functions
p () := det H (),
`(, , v) := v H ()v

(5)

(where v denotes the complex conjugate transpose of v Cm ) and defined as in equation (2)
by
v M T (i)M2 (i)v
.
(, v) := 2T
v M1 (i)M1 (i)v
For a fixed R and v Cm , `(, , v) is strictly increasing in , and if  0 then
`(, , v) > 0. In fact, it is easy to see that `(, , v) > 0 if and only if > (, v). The
properness of G guarantees that (, v) remains finite when . As remarked in section 3,
Sm1 . It attains its maximum for some
is a continuous function on the compact set R
value
and vector v. Note that this is exactly the value that we are looking for.
Lemma 3 Let ,
and v be as above. Then
1. `(, , v) > 0 for all > ,
2. `(
, , v) > 0
3. if
6= , then
`(
,
, v) = 0

and

`
(
,
, v) = 0.

4. either `(
, , v) > 0 for all in a small punctured neighborhood of
, or `(
, , v) = 0
for all .
Proof: The first two statements follow directly from the definition of and the fact that `
is increasing in .
If `(
,
, v) > 0, then clearly > (
, v), contradicting the fact that attains its maximum
`
at (
, v). This proves that `(
,
, v) = 0. Now suppose
(
,
, v) 6= 0, then there exists
an close to
such that `(
, , v) < 0, contradicting statement 2 of this lemma.
Since ` is analytic in the last statement follows.

Next we analyze p . Since H () is positive (non-negative) for > (>) , p has to be


positive (nonnegative) for all > (>)
. Further, if
6= then p (
) = 0, since H(
,
) is

non-negative, and v H(
,
)
v = 0. In addition, p has at least a double root in
(it could
even be identically zero). This proves the following lemma.
Lemma 4 If
6= then p has a double root at
.

We now explore some properties of the roots of a2n the leading coefficient of p . These turn
out to be related to the singular values of a certain constant matrix. Consider D Rpm
defined as
D := lim (M2 (s)M11 (s)).
s

(D exists because G is assumed to be proper.) Consider the singular values of D: i , i =


1, , min(m, p) . We claim that a2n () has degree equal to m and that i2 are roots of a2n ()
counted with multiplicity; and if m > p (i.e. if D is wide), then the remaining m p roots of
a2n () are zero. Under the assumption that det M1 (s) is monic, this is equivalent to claiming
a2n () = det(Im DT D). This is shown in the following lemma.
Lemma 5 Let p () R[, ] be the determinant of H () as defined above in equation (1).
Suppose a2n () is the leading coefficient of p (). Then a2n () = det(Im DT D).
Proof: Notice that (M1T )1 (i)H ()M11 (i) = Im GT (i)G(i). Further, since G
is proper, we can write this as follows
Im GT (i)G(i) = Im DT D +

1
P ()

with P () Cmm () a proper complex rational matrix. This implies that


det(Im GT (i)G(i)) = det(Im DT D) +

1
h () ,

with h () such that it is polynomial in and proper rational in .


Further,
det[(M1T )1 (i)H ()M11 (i)] = (det M1T (i))1 (det H ())(det M1 (i))1
p ()
=
.
det(M1T (i)M1 (i))
This implies that
p () = (det(M1T (i)M1 (i)) det(Im DT D))+ terms with degree strictly less than 2n .
Since we assumed that M1 (s) is such that det M1 (s) is monic, we obtain that a2n () is indeed
equal to det(Im DT D). This completes the proof.

Lemma 6 Let p () = a2n () 2n + + a0 (), and let
= , then = max {
R | a2n () = 0}.
Proof: Let
= , then = lim (, v).
Consider z(, v) := M1 (i)v/kM1 (i)vk with v Cm ; then (, v) = kG(i)z(, v)k2 . Since
M1 (i) is invertible for all R, z can take any value on the unit sphere S, and hence for a
fixed the maximum of (, v) over all v equals the square of the induced 2-norm of G(i).
Taking the limit for yields the same for
. Clearly is this maximum, and therefore
9

is equal to the square of the largest singular value of G(), which by lemma 5, is the largest
root of an .

The implication of the above lemma is well-known: the maximum singular value of D is a
lower bound for kGkH (see [1, 2, 3], for example). Using the above lemmas, we easily prove
theorem 2.
Theorem 2 If
= then is the largest root of a2n (), otherwise p has a double root at

.
Proof: The first statement is proved in lemma 6, and the second in lemma 4.

Some properties of polynomials in two indeterminates

The ring R[, ] is a unique factorization domain. A subset P of polynomials determines an


algebraic variety V (P ) = {z C2 | p(z) = 0 for all p P }. The irreducible components
of V (P ) correspond uniquely to sets of irreducible factors of the elements of P (see [5]).
Now suppose P = {p, q}. Then the irreducible components of V (P ) are either one or zero
dimensional. If they are one dimensional then p and q must have a common factor. So, if p
and q are not coprime for all , meaning that V (P ) has a one dimensional component, then
p and q have a common factor.
We now concentrate on the situation in section 4, where q =
factor of p and q.

and r is the greatest common

Theorem 7 Let p be positive for all > , and let


be a real root of p . Then r is
either positive (or negative) for all > , and if p = p/r and q = q/r, then p is positive (or
negative) for all > . Further, multiplicities of
as a root of p and q are even and odd,
respectively.
Proof: Suppose that for some , r is neither positive nor negative for all R, then it
has a zero somewhere, and hence p has a zero, too. This proves the first and the second
statements. For the final statements we assume that r (
) = 0, because there is nothing to
prove otherwise. Since for > , p and r are positive (without loss of generality), p and r
have
as a root of even multiplicity. This immediately proves that multiplicity of
as a root
of p has to also be even. q , being the derivative of p , has
as a root of odd multiplicity.
Hence, it follows that multiplicity of
as a root of q also is odd.

The above theorem thus allows us to use just p and q to construct the Sylvester resultant and
eventually compute , since at no additional important information is contained in r.

10

You might also like