404 7. Further Topics
where
ˆ
δ
k
(A)=−∞ if no k-matching exists.
As has been discussed in §6.2.2 (Theorem 6.2.2 in the case of a polyno-
mial matrix), the combinatorial value
ˆ
δ
k
(A) is an upper bound on δ
k
(A)and
it is generically tight. Recall that the word “generic” refers to an algebraic
assumption that the nonzero coefficients in A(s) are subject to no algebraic
relations, whereas its practical interpretation would be “so long as no acci-
dental numerical cancellation occurs.” To make this statement more precise,
we define an m × n constant matrix A
◦
=(A
◦
ij
)by
A
◦
ij
=
lim
s→∞
s
−w
ij
A
ij
(s)ifA
ij
(s) =0
0ifA
ij
(s)=0.
(7.3)
Let us call A
◦
ij
the leading coefficient of A
ij
(s), since, when A
ij
(s) is a poly-
nomial, A
◦
ij
is equal to the coefficient of the highest-degree term in A
ij
(s).
Theorem 7.1.1. Let A(s) be a rational function matrix.
(1) δ
k
(A) ≤
ˆ
δ
k
(A).
(2) The equality holds generically, i.e., if the set of nonzero leading coef-
ficients {A
◦
ij
| A
◦
ij
=0} is algebraically independent (over a subfield of F ).
2
We say that A(s)isupper-tight (for k)ifδ
k
(A)=
ˆ
δ
k
(A). Note that genericity
is sufficient and not necessary for the upper-tightness.
The algorithm, outlined below, takes advantage of two facts:
(i)
ˆ
δ
k
(A) is generically equal to δ
k
(A), and
(ii)
ˆ
δ
k
(A) can be computed efficiently by a combinatorial algorithm.
The algorithm first computes
ˆ
δ
k
(A), instead of δ
k
(A), by solving a weighted-
matching problem using an efficient combinatorial algorithm (Phase 1), and
then checks whether
ˆ
δ
k
(A) equals δ
k
(A) (Phase 2). The algorithm invokes an
exception-handling algebraic elimination routine to modify A only when it
detects discrepancy between
ˆ
δ
k
(A)andδ
k
(A) due to numerical cancellation
(Phase 3). In Phase 3, where δ
k
(A) ≤
ˆ
δ
k
(A) −1, the matrix A is modified to
another matrix A
such that δ
k
(A
)=δ
k
(A)and
ˆ
δ
k
(A
) ≤
ˆ
δ
k
(A) − 1.
Algorithm for computing δ
k
(A) (outline)
Phase 1 : Compute
ˆ
δ
k
(A) by solving the weighted-matching problem in G(A)
using an efficient combinatorial algorithm (cf. Ahuja–Magnanti–Orlin [3],
Cook–Cunningham–Pulleyblank–Schrijver [40], Lawler [171]).
Phase 2 : Test whether δ
k
(A)=
ˆ
δ
k
(A) or not (without computing δ
k
(A)).
If so, output
ˆ
δ
k
(A) and stop.
Phase 3 : Modify A to another matrix A
such that δ
k
(A
)=δ
k
(A)and
ˆ
δ
k
(A
) ≤
ˆ
δ
k
(A) − 1. Put A := A
andgotoPhase1. 2