Computation of The H - Norm: An Efficient Method: Madhu N. Belur and Cornelis Praagman
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.
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
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
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)
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
.
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
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 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
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
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
(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.
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
1
P ()
1
h () ,
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.
10