Download as pdf or txt
Download as pdf or txt
You are on page 1of 33

Index Reduction for Differential-Algebraic Equations

with Mixed Matrices∗


Satoru Iwata† Taihei Oki† Mizuyo Takamatsu‡

June 24, 2019


arXiv:1712.02582v2 [math.OC] 21 Jun 2019

Abstract
Differential-algebraic equations (DAEs) are widely used for modeling of dynamical sys-
tems. The difficulty in solving numerically a DAE is measured by its differentiation index.
For highly accurate simulation of dynamical systems, it is important to convert high-index
DAEs into low-index DAEs. Most of existing simulation software packages for dynamical
systems are equipped with an index-reduction algorithm given by Mattsson and Söderlind.
Unfortunately, this algorithm fails if there are numerical cancellations.
These numerical cancellations are often caused by accurate constants in structural equa-
tions. Distinguishing those accurate constants from generic parameters that represent phys-
ical quantities, Murota and Iri introduced the notion of a mixed matrix as a mathematical
tool for faithful model description in structural approach to systems analysis. For DAEs
described with the use of mixed matrices, efficient algorithms to compute the index have
been developed by exploiting matroid theory.
This paper presents an index-reduction algorithm for linear DAEs whose coefficient ma-
trices are mixed matrices, i.e., linear DAEs containing physical quantities as parameters.
Our algorithm detects numerical cancellations between accurate constants, and transforms
a DAE into an equivalent DAE to which Mattsson–Söderlind’s index-reduction algorithm
is applicable. Our algorithm is based on the combinatorial relaxation approach, which is a
framework to solve a linear algebraic problem by iteratively relaxing it into an efficiently
solvable combinatorial optimization problem. The algorithm does not rely on symbolic ma-
nipulations but on fast combinatorial algorithms on graphs and matroids. Our algorithm is
proved to work for any linear DAEs whose coefficient matrices are mixed matrices. Further-
more, we provide an improved algorithm under an assumption based on dimensional analysis
of dynamical systems. Through numerical experiments, it is confirmed that our algorithms
run sufficiently fast for large-scale DAEs, and output DAEs such that physical meanings of
coefficients are easy to interpret. Our algorithms can also be applied to nonlinear DAEs by
regarding nonlinear terms as parameters.

Keywords: differential-algebraic equations, index reduction, combinatorial relaxation, ma-


troid theory, combinatorial matrix theory, combinatorial scientific computing

1 Introduction
An lth order differential-algebraic equation (DAE) for x : R → Rn is a differential equation in
the form of
 
F t, x(t), ẋ(t), . . . , x(l) (t) = 0, (1)

A preliminary version of this paper is to appear in Proceedings of the Eighth SIAM Workshop on Combina-
torial Scientific Computing, Bergen, Norway, June 2018.

Department of Mathematical Informatics, Graduate School of Information Science and Technol-
ogy, The University of Tokyo, Hongo 7-3-1, Bunkyo-ku, Tokyo 113-8656, Japan. E-mail: {iwata,
taihei_oki}@mist.i.u-tokyo.ac.jp

Department of Information and System Engineering, Chuo University, Kasuga 1-13-27, Bunkyo-ku, Tokyo
112-8551, Japan. E-mail: [email protected]

1
where F : R × Rn × · · · × Rn → Rn is a sufficiently smooth function. DAEs have aspects of both
ordinary differential equations (ODEs) ẋ(t) = ϕ(t, x(t)) and algebraic equations G(t, x(t)) = 0.
DAEs are widely used for modeling of dynamical systems, such as mechanical systems, electrical
circuits and chemical reaction plants.
The difficulty in solving numerically a DAE is measured by its differentiation index [1],
which is defined for a first-order DAE

F t, x(t), ẋ(t) = 0 (2)

as the smallest nonnegative integer ν such that the system of equations


 d  dν 
F t, x(t), ẋ(t) = 0, F t, x(t), ẋ(t) = 0, ..., F t, x(t), ẋ(t) =0
dt dtν
can determine ẋ as a continuous function of t and x. That is, ν is the number of times one has
to differentiate the DAE (2) to obtain an ODE. Intuitively, the differentiation index represents
how far the DAE is from an ODE. The differentiation index of an lth order DAE (1) is defined
as that of the first-order DAE obtained by replacing higher-order derivatives of x with newly
introduced variables.
A common approach for solving a high (≥ 2) index DAE is to convert it into a low (≤ 1)
index DAE. This process is called index reduction, and it is important for accurate simulation
of dynamical systems. Most of existing simulation software packages for dynamical systems,
such as Dymola, OpenModelica, MapleSim and Simulink, are equipped with the index-reduction
algorithm given by Mattsson–Söderlind [13] (MS-algorithm). The MS-algorithm uses Pantelides’
method [26] as a preprocessing step. Pantelides’ method constructs a bipartite graph from
structural information of a given DAE and solves an assignment problem on the bipartite
graph efficiently. The MS-algorithm then differentiates equations in the DAE with the aid of
the information obtained by Pantelides’ method, and replaces some derivatives with dummy
variables. The MS-algorithm returns a sparse DAE if the given DAE is sparse, and thus the
algorithm can be applied to large scale DAEs.
Pantelides’ method, however, does not work correctly even for the following simple DAE


ẋ1 + ẋ2 + x3 = 0,

ẋ1 + ẋ2 = 0,


 x2 + ẋ3 = 0.

Pantelides’ algorithm reports that the index is zero, whereas it is indeed two. This is because
the method cannot detect the singularity of the coefficient matrix
!
1 1 0
1 1 0
0 0 1

of (ẋ1 , ẋ2 , ẋ3 )⊤ . As this toy example shows, Pantelides’ method, which ignores numerical infor-
mation, may fail on some DAEs due to numerical cancellations. This kind of failure can also
occur in other methods to reduce the index or to analyze DAEs such as the structural algorithm
of Unger et al. [31] and the Σ-method of Pryce [27].
Some index reduction algorithms address this problem. One example is the σν-method by
Chowdhry et al. [2], which is based on the algorithm by Unger et al. [31]. The method performs
Gaussian elimination on the Jacobian matrix ∂F/∂ ẋ under the assumption that nonlinear or
time-varying terms do not cancel out. For first-order linear DAEs with constant coefficients,
Wu et al. [33] proposed a method (WZC-method) to transform a DAE into an equivalent DAE
to which the MS-algorithm is applicable. This method adopts the combinatorial relaxation
framework introduced by Murota [16, 19] to solve a linear algebraic problem by iteratively

2
relaxing it into an efficiently solvable combinatorial optimization problem. The combinatorial
relaxation based approach was extended for nonlinear DAEs implicitly by Tan et al. [30] as the
LC-method and the ES-method, and explicitly by [24] as the substitution and augmentation
methods. These methods identify numeric or symbolic cancellations and modify the DAE if
necessary.
Pantelides’ method [26] and the Σ-method [27] discard numerical information, which some-
times leads to a failure of the methods. In dynamical systems, specific numbers in structural
equations, such as in the conservation laws, should be treated as constants, while we can deal
with physical characteristic values as nonzero parameters without reference to their values. For
a faithful model of a dynamical system, it is natural to distinguish accurate and inaccurate
numbers. This led Murota–Iri [22] to introduce the notion of a mixed matrix, which is a matrix
consisting of the following two kinds of entries:

Accurate Constants, which represent precise values such as coefficients of conservation


laws. We assume that arithmetic operations with these constants can be performed in
constant time.

Independent Parameters, which are algebraically independent over the field of accurate
constants. These parameters often represent physical quantities such as masses, lengths or
electric resistances since their values are inaccurate by measurement noise and other errors.
These parameters should be treated combinatorially without reference to their values.

For example, consider an electric network consisting of voltage sources, resistances and
wires connecting them. A system of linear equations representing the circuit has two kinds of
coefficients: the exact ‘±1’s coming from Kirchhoff’s laws, and the resistance values coming
from Ohm’s law. Since the values of resistances are usually inaccurate, it is natural to model
the system by a linear equation with a mixed matrix, where constants and parameters represent
the exact ‘±1’s and the resistances, respectively. See an example in Section 3.1 for modeling of
an RLC circuit with a mixed matrix.
Mixed matrices can be handled by symbolic computation systems. However, the compu-
tational cost of symbolic manipulation grows explosively when the size of matrices increases.
Efficient algorithms without symbolic manipulation are available for the rank computation [17].
If all nonzero entries of a matrix are independent parameters, then its rank is equal to the
maximum size of a matching in an associated bipartite graph. For a mixed matrix, the rank
computation corresponds to solving an independent matching problem on matroids, which is a
generalization of the maximum matching problem on bipartite graphs. An efficient algorithm
based on matroid theory is provided for the rank computation of mixed matrices; see [21] for
details. Algorithms combining the combinatorial relaxation and mixed matrices are presented
in [7, 8, 28]. Section 3.3 describes the history of this combination in detail.
In this paper, we provide an index reduction algorithm for a linear DAE
l
X
Ak x(k) (t) = f (t) (3)
k=0

with n × n mixed matrices A0 , A1 , . . . , Al and a sufficiently smooth function f : R → Rn .


A typical procedure to analyze a linear dynamical system with our algorithm is as follows.
First, we model the system by a linear DAE (3) with mixed matrices. Next, we apply our
algorithm to the DAE and obtain a low-index one. We finally obtain a numerical solution by
applying a numerical scheme to the low-index DAE after substituting specific values of physical
quantities.
As described above, a notable feature of our algorithm is that it works for linear DAEs con-
taining physical quantities not as their values but as parameters. This feature is advantageous
in the following points. First, since accurate constants arising from typical dynamical systems

3
are integers or rational numbers, our algorithm can avoid arithmetic operations with floating-
point numbers. This fact makes it numerically stable, as index reduction algorithms involve
nonsingularity checking of matrices. Second, since our algorithm can utilize the beforehand
knowledge that independent parameters do not cause numerical cancellations, our algorithm
is expected to run faster for DAEs with dense coefficient matrices than other index reduction
algorithms. Third, when we simulate a dynamical system on many different values of physical
quantities, we can reuse the resulting low-index DAE as long as the values of physical quantities
do not unluckily cancel out.
Our algorithm is based on the combinatorial relaxation framework as the WZC-method. To
detect and resolve numerical cancellations in mixed matrices without using symbolic manipu-
lations, we present a new combinatorial relaxation algorithm relying on the theory of combina-

torial optimization algorithms on matroids. Our algorithm is proved to run in O l2 nω+2 time,
where ω is the matrix multiplication exponent, i.e., the number of arithmetic operations needed
to multiply two n × n matrices is O(nω ). The current best known value of ω is ≈ 2.3728639
due to [12]. In practice, however, we adopt ω = 3 for performance comparisons because large
coefficients are hidden in the big-O notation of the time complexity of fast matrix multiplication
algorithms. Our algorithm is expected to run much faster in most cases because it terminates
without modifying the DAE unless it has numerical cancellations.
In addition, we give an improved algorithm for DAEs whose coefficients are dimensionally
consistent. The dimensional consistency, which is introduced by Murota [15], is a mathematical
assumption on mixed matrices reflecting the principle of dimensional homogeneity in physical
systems. DAEs arising from dynamical systems naturally ensure this assumption. We show
that the improved

algorithm retains the dimensional consistency, and that the running time is
O ln4 log n . In practice, we confirm through numerical experiments that this algorithm is so
fast that it runs in 12 minutes for a DAE with sparse coefficient matrix of size 131,076

× 131,076
having 393,223 nonzero entries. The running time grows proportionally as O n3 for dense
DAEs and O n2 for sparse DAEs in our experiments.
It is further confirmed that our algorithm modifies DAEs preserving “physical meanings” of
dynamical systems. For example, for a DAE representing the Butterworth filter via the fourth
Cauer topology (see equation (44) in Section 7), the existing method (LC-method) and our
algorithm return

 
 −ξ0 + ξ1 + ξ2 = 0,
 −ξ0 + ξ1 + ξ2 = 0, 


 
 −ξ2 + ξ3 + ξ4 = 0,

 


 −ξ2 + ξ3 + ξ4 = 0, 


 
 −ξ0 + ξ1 + ξ3 + ξ5 = 0,
 


 −ξ0 + ξ1 + ξ3 − 0.243624ξ˙4 + 0.318310η̇3 = 0, 



 
 η0 + η1 = 0,

 η1 = −V (t), 


 
 [1] [1]

 
 z0 + z1 = 0,

 [1] 




z1 = −V̇ (t), 



 
 −η1 + η2 + η3 = 0,


 1.847759ξ˙2 − η1 + η3 = 0, 


  −η3 + η4 + η5 = 0,
0.765367ξ˙4 + 3.141593ξ5 − η3 = 0, and η0 = V (t), (4)

 


 η0 = V (t), 


 
 [1]






z0 = V̇ (t),
 [1] 



−ξ1 + 0.765367z1 = 0, 

 [1]

 
 −ξ1 + C1 z1 = 0,




1.847759ξ˙2 − η2 = 0, 




 
 L2 ξ̇2 − η2 = 0,

 −ξ3 + 1.847759η̇3 = 0, 


 
 −ξ3 + C3 η̇3 = 0,

 



 0.765367ξ˙4 − η4 = 0, 



 
 L4 ξ̇4 − η4 = 0,
3.141593ξ5 − η5 = 0 


Rξ5 − η5 = 0,
[1] [1]
respectively. Here ξ0 , . . . , ξ5 , η0 , . . . , η5 , z0 and z1 are variables of these DAEs, V : R → R
is a smooth function, and C1 , C3 , L2 , L4 , R are constants representing physical quantities in

4
the circuit. As the LC-method requires substituting specific values into physical quantities
beforehand, the values of physical quantities C1 = L4 ≃ 0.765367, L2 = C3 ≃ 1.847759 and
R ≃ 3.141593 are scattered around the left DAE in (4), and some coefficients are combinations
of them: 1/R ≃ 0.318310 and L4 /R ≃ 0.243624. This makes it difficult to guess where such
complicated coefficients come from and how the DAE changes when the values of physical
quantities are varied. However, our algorithm is directly applicable to DAEs containing physical
quantities as parameters. Thus the right DAE in (4) still retains units of physical quantities,
and it is easy to interpret what the coefficients mean in the circuit.
Furthermore, though our index reduction algorithm is designed for linear DAEs, it can be
applied to nonlinear DAEs by regarding nonlinear terms as independent parameters. A similar
approach is adopted in the σν-method of Chowdhry et al. [2], which is adopted in Mathemat-
ica [32]. However, our method is expected to be applicable to a larger class of nonlinear DAEs
than the σν-method because our method does not transform a DAE involving nonlinear terms.
Indeed, consider the index-2 nonlinear DAE


 F1 : ẋ1 + g(x2 )
 = f1 (t),
F : ẋ + x1 + x3 = f2 (t),
2 1 (5)


 F : ẋ + x3 = f3 (t)
3 1

with smooth functions f1 , f2 , f3 , g : R → R. Our algorithm correctly returns an index-1 DAE


equivalent to (5), whereas the implementation of the σν-method in Mathematica unsuccessfully
returns an index-2 DAE. See Section 8 for details.

Related work. We describe the relation between the proposed algorithm and related index
reduction algorithms. If all nonzero entries of A(s) are independent parameters, our algorithm
just passes a given DAE to the MS-method. In contrast, if A(s) has no independent parameters,
then our algorithm coincides with the LC-method by Tan et al. [30] and with the substitution
method [24] applied to linear DAEs with constant coefficients. We emphasize that our algorithm
can treat intermediate DAEs between these special cases, i.e., it works for DAEs containing both
accurate constants and independent parameters.
The WZC-method by Wu et al. [33] works for first-order linear DAEs with constant coeffi-
cients. This method modifies a DAE using the combinatorial relaxation method in [6], which
performs row and column operations on A(s) using constant matrices. Here, column operations
on A(s) correspond to changing the basis of the variable space of DAEs. Our combinatorial
relaxation algorithm does not use column operations, and thus the basis of the variable space
remains unchanged.
A recent work [9] has proposed an index reduction algorithm which is proved to work for any
instances of first order linear DAEs with constant coefficients. The algorithm directly reduces
the index of a given DAE by row operations, whereas our algorithm only resolves numerical
cancellations in a DAE and eventually relies on the MS-algorithm for the actual index reduction
process. Thus our algorithm is expected to preserve the sparsity of DAEs compared to the
algorithm in [9].
In addition, our algorithm is similar to the σν-method [2] in the sense that both methods
treat matrices having accurate constants and independent parameters, yet their approaches
are quite different; the σν-method is based on the Gaussian elimination approach by Gear [5],
whereas our algorithm relies on the dummy variable approach by Mattsson–Söderlind [13].

Organization. The rest of this paper is organized as follows. Section 2 reviews the previ-
ous index computation and reduction algorithms for linear DAEs with constant coefficients,
including the MS-algorithm and combinatorial relaxation algorithms. Section 3 explains mixed
matrices and their rank identities. Section 4 describes the proposed algorithm. Section 5 im-
proves our algorithm under the assumption of the dimensional consistency. Section 6 illustrates

5
the theory by two examples. Section 7 shows the result of numerical experiments. Section 8
discusses an application to nonlinear DAEs. Finally, Section 9 concludes this paper.

2 Index Reduction for Linear DAEs


2.1 Index of Linear DAEs
A linear DAE with constant coefficients is
l
X
Ak x(k) (t) = f (t), (6)
k=0

where A0 , A1 , . . . , Al are n × n matrices and f : R → Rn is a sufficiently smooth function. We


assume that f is Laplace transformable for simplicity, though this assumption is not essential.
By the Laplace transformation, the DAE (6) is transformed into
l X
X k
e(s) = fe(s) +
A(s)x sk−i Ak x(i−1) (0), (7)
k=0 i=1

where x e(s) and f˜(s) are the Laplace transforms of x(t) and f (t), respectively, and A(s) =
Pl k ˆ
k=0 s Ak . We henceforth denote the right-hand side of (7) by f (s). The matrix A(s) is a ma-
trix whose entries are polynomials, called a polynomial matrix. We say that A(s) is nonsingular
if its determinant is not identically zero.
(1) (l−1) 
An initial value x0 , x0 , . . . , x0 ∈ Rn × · · · × Rn is said to be consistent if there exists
at least one solution of (6) satisfying
(1) (l−1)
x(0) = x0 , ẋ(0) = x0 , . . . , x(l−1) (0) = x0 . (8)

We say that the DAE (6) is solvable if there exists a unique solution of (6) satisfying the initial
value condition (8) for an arbitrary consistent point. The solvability of (6) is characterized by
A(s) as follows.
Theorem 2.1 ([1, 29]). A linear DAE (6) is solvable if and only if the associated polynomial
matrix A(s) is nonsingular.
See [1, Theorem 2.3.1] for l = 1 and [29, Theorems 2.22–23] for l ≥ 2. In this paper, we
focus on solvable DAEs (6). With slight abuse of terminology, we also refer to equation (7) as
a DAE.
The differentiation index of the first-order linear DAE (6) with A(s) = A0 + sA1 is known
to be

ν(A) = δn−1 (A) − δn (A) + 1 (9)

as described in [21, Remark 5.1.10]. Here, δk (A) denotes the maximum degree of the determinant
of a submatrix in A(s) of size k, i.e.,

δk (A) = max deg det A(s)[I, J] |I| = |J| = k ,

where A(s)[I, J] is the submatrix in A(s) with row set I and column set J, and deg p(s) desig-
nates the degree of a polynomial p(s) in s. In particular, δn (A) is the degree of the determinant
of A(s), and δn−1 (A) is the maximum degree of a cofactor of A(s). For a DAE (6) with l ≥ 2, its
index is defined to be that of the first order DAE obtained by replacing higher-order derivatives
with new variables [30].

6
2.2 Assignment Problem
In analysis of DAEs, Pryce [27] introduced an assignment problem as a reinterpretation of
Pantelides’ algorithm [26]. We describe it specializing to linear DAEs (6) using our notations.
Consider a linear DAE (7) with n × n nonsingular polynomial matrix A(s) with row set R
and column set C. We denote the (i, j) entry of A(s) by Ai,j (s). Let G(A) denote the bipartite
graph with vertex set R ∪ C and edge set E(A) = {(i, j) ∈ R × C | Ai,j (s) 6= 0}. An edge
subset M ⊆ E(A) is called a matching if the ends of edges in M are disjoint. Since A(s) is
nonsingular, G(A) has a matching of size n, called a perfect matching. We set the weight ce of
an edge e = (i, j) ∈ E(A) by ce = ci,j = deg Ai,j (s).
The assignment problem on G(A) is the following problem P(A):
X
maximize ce
P(A) e∈M
subject to M ⊆ E(F ) is a perfect matching on G(F ).

The dual problem D(F ) of P(F ) is expressed as follows:


X X
minimize qj − pi
j∈C i∈R
D(A) subject to qj − pi ≥ ci,j ((i, j) ∈ E(F )),
pi ∈ Z (i ∈ R),
qj ∈ Z (j ∈ C).

The integral constraints on pi and qj are crucial for analysis of DAEs. We denote the optimal
value of the problem P(A) (and D(A)) by δ̂n (A). Recall that δn (A) denotes deg det A(s). It is
well-known that δn (A) ≤ δ̂n (A) holds, and the equality is attained if and only if the coefficient
of sδ̂n (A) in det A(s) does not vanish; see [21, Theorem 6.2.2]. In this sense, δ̂n (A) serves as a
combinatorial upper bound on δn (A). We call A(s) upper-tight if δn (A) = δ̂n (A) holds.
For a dual feasible solution (p, q), a tight coefficient matrix A# of A(s) is defined by

A#
i,j := the coefficient of s
qj −pi
in Ai,j (s)

for each i ∈ R and j ∈ C. Note that A# changes depending on (p, q). This matrix is called a “sys-
tem Jacobian matrix” by Pryce [27]; the name “tight coefficient matrix” is due to Murota [18].

2.3 Computing the Index via Combinatorial Relaxation


The tight coefficient matrix plays an important role in the combinatorial relaxation algorithm
of Murota [19] to compute δn (A) for a polynomial matrix A(s) through the following lemma.
Lemma 2.2 ([16, Proposition 6.2]). Let A(s) be a nonsingular polynomial matrix and let A#
be the tight coefficient matrix of A(s) with respect to an optimal solution of D(A). Then A(s)
is upper-tight if and only if A# is nonsingular.
The combinatorial relaxation method for computing δn (A) consists of the following three
phases.

Phase 1. Compute a combinatorial upper bound δ̂n (A) of δn (A) by solving an assignment
problem.

Phase 2. Check whether A(s) is upper-tight using Lemma 2.2. If it is, return δ̂n (A) and
halt.

Phase 3. Modify A(s) to improve δ̂n (A) by replacing A(s) with U (s)A(s), where U (s) is a
unimodular matrix. Go back to Phase 2.

7
Here, a unimodular matrix is a square polynomial matrix whose determinant is a nonzero
constant. The algorithm is designed so that δ̂n (A) decreases in each iteration, while unimodular
transformations preserve δn (A). Thus, after a finite number of iterations, it terminates with
δ̂n (A) = δn (A).
Subsequently, Murota [18] applied the combinatorial relaxation approach to computing δk (A)
for k = 1, . . . , n. In this algorithm, Phase 3 modifies A(s) to U (s)A(s)V (s), where U (s) and
V (s) are biproper Laurent polynomial matrices, i.e., entries are all polynomials in 1/s and the
determinants are nonzero constants. This type of transformation is known to preserve δk (A).
The values of δn−1 (A) and δn (A) determine the index ν(A) by (9).

2.4 Mattsson–Söderlind’s Index Reduction Algorithm


We now review Mattsson–Söderlind’s index reduction algorithm (MS-algorithm) applied to a
linear DAE (7) with n × n nonsingular polynomial matrix A(s). We remark that the MS-
algorithm can be embedded in the Σ-method of Pryce [27] and they are based on the same
principle.
Let (p, q) be an optimal solution of D(A). For h ∈ Z, we define

Rh := {i ∈ R | pi = h}, R≥h := {i ∈ R | pi ≥ h},


Ch := {j ∈ C | qj = h}, C≥h := {j ∈ C | qj ≥ h}.

The MS-algorithm applied to the DAE (7) is outlined as follows. The following description is a
version specialized to linear DAEs, though the original MS-algorithm is designed for nonlinear
DAEs [13, Section 3.1].

Mattsson–Söderlind’s Index Reduction Algorithm

Step 1. Compute an optimal solution (p, q) of D(A) satisfying pi , qj ≥ 0 for i ∈ R and j ∈ C.


Let A# denote the tight coefficient matrix of A(s) with respect to (p, q). If A# is
singular, then the algorithm terminates in failure.

Step 2. For each h = 0, . . . , η + 1 η := max pi , obtain Jh ⊆ C≥h such that A# [R≥h , Jh ] is
i∈R
nonsingular and

C = J0 ⊇ J1 ⊇ J2 ⊇ · · · ⊇ Jη ⊇ Jη+1 = ∅.

Step 3. For each j ∈ C, let kj be the integer such that j ∈ Jkj and j ∈
/ Jkj +1 . Introduce kj
[q ] [qj −1] [qj −kj +1]
dummy variables zj j , zj , . . . , zj corresponding to sqj x̃j , sqj −1 x̃j , . . . , sqj −kj +1 x̃j ,
respectively.

Step 4. For each i ∈ R, return the 0-th, 1-st, ..., pi -th order derivatives of the i-th equation.
Replace variables with the corresponding dummy variables.
P P
The number of dummy variables introduced in the Step 3 is j∈C qj − δ̂n (A) = i∈R pi ,
which is equal to the number of the differentiated equations in Step 4. Since an optimal
solution of D(A) is not unique, the number of dummy variables and equations are not uniquely
determined by A(s). To minimize the the number of equations, Pryce [27] uses the smallest
optimal solution (p, q) of D(A), that is, 0 ≤ pi ≤ p′i and 0 ≤ qj ≤ qj′ hold for all nonnegative
optimal solution (p′ , q ′ ) of D(A) and i ∈ R, j ∈ C. An algorithm to obtain the small (p, q) is
known [27], but there is no guarantee of computational time.
The validity of the MS-algorithm is established as follows.

8
Proposition 2.3 ([13, Section 3.2]). Let A(s) be a polynomial matrix in the DAE (7) and
A# the tight coefficient matrix of A(s) with respect to an optimal solution of D(A). If A# is
nonsingular, then the MS-algorithm correctly returns an equivalent DAE with index at most
one.
From Lemma 2.2, the condition in Proposition 2.3 is equivalent to the upper-tightness of
A(s) as follows.
Corollary 2.4. Let A(s) be a polynomial matrix in the DAE (7). If A(s) is upper-tight, then
the MS-algorithm correctly returns an equivalent DAE with index at most one.
The description above is still valid for a nonlinear DAE (1) by redefining A(s) as
(k)
the coefficient of sk in Ai,j (s) := the partial derivative of the i-th equation with respect to xj

for each i = 1, . . . , n, j = 1, . . . , n and k = 0, . . . , l. Then the nonsingularity of A# essentially


comes from the requirement of the implicit function theorem, which is used to convert the DAE
into an ODE by solving the DAE for the highest order derivatives.

2.5 Index Reduction via Combinatorial Relaxation


For a linear DAE (7) that does not satisfy the validity condition of the MS-algorithm, we need
to modify it to apply the MS-algorithm. Here, the modification of DAEs must preserve the sets
of their solutions. We can use unimodular transformations in the form of

U (s)A(s)x̃(s) = U (s)fˆ(s),

where U (s) is a unimodular matrix. Since unimodular transformations correspond to the op-
erations of adding an equation or its (higher order) derivative to another equation, the DAEs
before and after the transformation have the same solution set.
Murota’s combinatorial relaxation algorithm [19] for computing δn (A) described in Sec-
tion 2.3 modifies a given polynomial matrix A(s) into an upper-tight polynomial matrix Ā(s) =
U (s)A(s) using some unimodular matrix U (s). Then from Corollary 2.4, the matrix Ā(s) satis-
fies the validity condition of the MS-algorithm. Therefore, we can use Murota’s algorithm as an
index reduction algorithm by combining it with the MS-algorithm. Note that this modification
may change (increase or decrease) δn−1 (A), and hence ν(A). This method indeed coincides with
the LC-method of Tan et al. [30] applied to the linear DAEs with constant coefficients.
The idea of using the combinatorial relaxation method as a preprocessing of the MS-
algorithm was originally given by Wu et al. [33] for first order linear DAEs with constant
coefficients. They proposed the WZC-algorithm that modifies a DAE using the combinatorial
relaxation algorithm in [6] for a matrix pencil A(s) = A0 + sA1 . The algorithm in [6] modifies
the matrix pencil A(s) to U A(s)V , where U and V are nonsingular constant matrices. Since
nonsingular constant matrices are biproper, the values of δn−1 (A) and ν(A) do not change in
the WZC-algorithm.

3 DAEs with Mixed Matrices


The algorithms explained in Section 2 work under the assumption that we know all the values
of physical quantities. In order to treat them as parameters, we deal with a DAE with mixed
matrices.

3.1 Mixed Matrices and Mixed Polynomial Matrices


Let F be a field and K a subfield of F. A typical setting in the context of DAEs is K = Q and
F is the extension field of Q obtained by adjoining the set of independent physical parameters.

9
ξ5
η1 R1 C η4
R2
ξ1 ξ2 ξ4
η5 = V (t)
η2
η3 L
ξ3

Figure 1: Simple RLC network.

A matrix T over F is said to be generic if the set of nonzero entries of T is algebraically


independent over K. A mixed matrix with respect to (K, F) is a matrix in the form of Q + T ,
where Q is a matrix over K and T is a generic matrix. A mixed matrix A = Q + T is called
a layered mixed matrix (or LM-matrix) if there exists a bipartition {RQ , RT } of Row(A) such
that all nonzero entries of Q and T are in rows RQ and RT , respectively. An LM-matrix A can
be expressed as A = Q T . P
A polynomial matrix A(s) = lk=0 sk Ak is called a mixed polynomial matrix if it is expressed
as Ak = Qk + Tk with Qk and Tk that satisfy the following conditions:

(MP-Q) Each Qk (k = 0, . . . , l) is a matrix over K.

(MP-T) The set of nonzero entries of T0 , . . . , Tl is algebraically independent over K.

A layered mixed polynomial matrix (or LM-polynomial matrix) is a mixed polynomial matrix
P P
such that nonzero rows of Q(s) = lk=0 sk Qk and T (s) = lk=0 sk Tk are disjoint. An LM-

polynomial matrix is expressed as A(s) = Q(s)
T (s) .
Example 3.1. Consider an electrical network illustrated in Figure 1, given in [21, Section 1.1].
The network consists of a voltage source of time-varying voltage V (t), two resistances R1 and
R2 , an inductor L and a capacitor C. State variables of this network is currents ξ1 , . . . , ξ5 and
voltages η1 , . . . , η5 shown in Figure 1. The Laplace transform of an index-2 DAE representing
this network is given by
 
 ξ̃1 (s)   
−1 −1 1 0
 ξ̃ (s) 
 1 1 1 −1  2   0 

 1 1 −1    
  ξ̃3 (s)   0 

 −1 −1 1     0 
   ξ̃4 (s)   
 1 −1    0 

A(s)x̃(s) =  R   ξ̃ (s)  
  5  =  0  , (10)

 1 −1  η̃1 (s)  
 R2 −1    0 
  η̃2 (s)  0 
 sL −1    
 −1 sC  η̃3 (s)  0 
η̃ (s)
1 4 Ṽ (s)
η̃5 (s)
⊤
where empty cells in the coefficient matrix A(s) indicate zero. Here, x̃ = ξ̃1 , . . . , ξ˜5 , η̃1 , . . . , η̃5
⊤
is the Laplace transform of the vector ξ1 , . . . , ξ5 , η1 , . . . , η5 of variables and Ṽ (s) is the Laplace
transform of V (t) (we assumed that all state variables and their derivatives were equal to zero at
t = 0 for simplicity). In this system (10), the first two equations come from Kirchhoff’s current
law (KCL), and the following three equations come from Kirchhoff’s voltage law (KVL). The
last five equations represent the element characteristics (constitutive equations). The coefficient
matrix in (10) is naturally regarded as a mixed polynomial matrix with independent parameters
R1 , R2 , L and C since values of the parameters are supposed to be inaccurate.

10
3.2 Rank of LM-matrices
For a matrix A, we denote the row set and column set by Row(A) and Col(A), respectively.
Consider the associated bipartite graph G(A) = (R, C; E(A)), where R = Row(A) and C =
Col(A). The term-rank of A is the maximum size of a matching in G(A), and is denoted by
t-rank A. It is well known that rank A ≤ t-rank A holds. The equality is attained if and only if
A has a submatrix of size t-rank A with nonzero determinant. This is analogous to the relation
between δn and δ̂n for a polynomial matrix.
Let A = Q T be an LM-matrix. If A has no accurate constants, i.e., A is a generic matrix T ,
it holds that rank T = t-rank T from the independence of nonzero entries. From this equality, we
can compute rank T by solving a maximum matching problem on the associated bipartite graph
G(T ). For general LM-matrices, the following holds from the generalized Laplace expansion.
Q
Proposition 3.2 ([23, Theorem 3.1]). For an LM-matrix A = T with RQ = Row(Q), RT =
Row(T ) and C = Col(A), the following rank identity holds:
rank A = max{rank Q[RQ , J] + t-rank T [RT , C \ J] | J ⊆ C}. (11)
The problem of maximizing the right-hand side of (11) can be reduced to an independent
matching problem on a matroid; see [21, Section 4.2] for details. The following identity is
obtained from the duality of the independent matching problem.
Q
Proposition 3.3 ([23, Theorem 3.1]). For an LM-matrix A = T with RQ = Row(Q), RT =
Row(T ) and C = Col(A), the following rank identity holds:
rank A = min{rank Q[RQ , J] + t-rank T [RT , J] + |C \ J| | J ⊆ C}. (12)
Similarly, we give the following term-rank identity for LM-matrices, which will be used later
in the proof of Lemma 4.8.

Proposition 3.4. For an LM-matrix A = Q T with RQ = Row(Q), RT = Row(T ) and C =
Col(A), the following term-rank identity holds:
t-rank A = min{t-rank Q[RQ , J] + t-rank T [RT , J] + |C \ J| | J ⊆ C}.
Proof. This immediately follows from the well-known rank formula of a union matroid [4] and the
fact that the union of transversal matroids is also a transversal matroid [25, Corollary 11.3.8].

3.3 Combinatorial Relaxation Algorithm for Mixed Polynomial Matrices


Murota [20] described the first algorithm to compute δk of a mixed polynomial matrix through a
reduction to a valuated independent assignment problem. The valuated independent assignment
problem is an optimization problem on valuated matroids, which are a generalization of matroids.
The mixed matrices concept and the combinatorial relaxation were first combined in [7]. The
algorithm in [7] computes δk of a (usual) polynomial matrix A(s) obtained by plugging in specific
values for independent parameters in a mixed polynomial matrix. Based on the framework of
combinatorial relaxation, this algorithm iteratively computes δk of mixed polynomial matrices
using [20] as a combinatorial upper bound on δk (A). Subsequently, [8] proposed a combinatorial
relaxation algorithm for computing δk of mixed polynomial matrices without using valuated
matroid theory. Sato [28] presented a fast algorithm to compute the entire sequence δ1 , . . . , δn
of mixed polynomial matrices extending the algorithm in [8].
The algorithm in [8] first converts a mixed polynomial matrix into an LM-polynomial matrix

A(s) = Q(s)
T (s) , and modifies A(s) to
  !
UQ (s) O Q(s)
Ā(s) = O I ,
T (s)

11
where I is an identity matrix of appropriate size, and UQ (s) is a nonsingular Laurent polynomial
matrix. Here, a Laurent polynomial matrix is a matrix whose entries are polynomials in s and
s−1 . With the use of (9), we can obtain the index ν(A) by computing δn (A) and δn−1 (A).
In order to devise an index reduction algorithm for DAEs with mixed matrices, we need
to make use of unimodular transformations instead of Laurent polynomial transformations, as
explained in Section 2.5.

4 Combinatorial Relaxation Algorithm for Index Reduction


with Mixed Polynomial Matrices
This section presents our index reduction algorithm for a DAE

A(s)x̃(s) = fˆ(s) (13)

with a nonsingular mixed polynomial matrix A(s), which is the Laplace transform of the
DAE (3). From Corollary 2.4, our goal is to find a unimodular matrix U (s) such that Ā(s) =
U (s)A(s) is upper-tight. Then applying the MS-algorithm to the DAE U (s)A(s)x̃(s) = U (s)fˆ(s),
we obtain a resultant low-index DAE.
We cannot perform row operations on A(s) involving rows containing independent parame-
ters. Our first step is to convert a given DAE (13) into another DAE whose coefficient matrix

A(s) is an LM-polynomial matrix expressed as A(s) = Q(s) T (s)
. Then we can transform A(s) to
  !
UQ (s) O Q(s)
Ā(s) = O I , (14)
T (s)

where UQ (s) is a unimodular matrix. Note that we are allowed to perform row operations only

on Q(s) even for an LM-polynomial matrix A(s) = Q(s) T (s)
, and thus we cannot always reduce
the index to one only by row operations on Q(s). We describe this conversion process from
mixed polynomial matrices into LM-polynomial matrices in Section 4.1.
After the conversion, we find a unimodular matrix UQ (s) in (14) such that A(s) is upper-tight
based on the combinatorial relaxation approach. The outline of our algorithm is as follows.

Algorithm for Tightness

Phase 1. Construct an optimal solution (p, q) of D(A) satisfying 0 ≤ pi ≤ ln and 0 ≤ qj ≤ ln


for all i ∈ R and j ∈ C, where l is the maximum degree of an entry in A(s).

Phase 2. If the tight coefficient matrix A# with respect to (p, q) is nonsingular, then return
A(s) and halt.

Phase 3. Modify A(s) into Ā(s) such that δ̂n (Ā) ≤ δ̂n (A) − 1 and δn (A) = δn (Ā). Update
(p, q) to an optimal solution of D(Ā), and go back to Phase 2.

The bounds on pi and qj in Phase 1 are needed to bound the time complexity of our
algorithm. An algorithm to find such (p, q) is given in [9] for l = 1, and we give an algorithm for
general l in Section 4.2. The condition in Phase 2, which is equivalent to the upper-tightness
of A(s) by Lemma 2.2, can be checked by solving an independent matching problem [23]. The
matrix modification and an update procedure of (p, q) in Phase 3 are explained in Sections 4.3
and 4.4, respectively. In Section 4.5, we analyze the time complexity of our algorithm.

12
4.1 Reduction to LM-polynomial Matrices
We first convert the DAE (13) with a mixed polynomial coefficient matrix A(s) = Q(s) + T (s)
into the following augmented DAE
    
I Q(s) ỹ(s) fˆ(s) ,
−D DT (s) z̃(s) = 0
(15)

where D is a diagonal matrix whose diagonal entries are independent parameters τ1 , . . . , τn .


Note that the coefficient matrix of the augmented DAE (15) is an LM-polynomial matrix as the
set of nonzero coefficients of entries in −D and DT (s) is algebraically independent over K.
ỹ(s)
Proposition 4.1. Let z̃(s) be a solution of the DAE (15). Then z̃(s) is a solution of the
DAE (13).
 
I O
Proof. By left-multiplying both sides of (15) by a nonsingular constant matrix , we
I D−1
obtain
   !
I Q(s) ỹ(s) fˆ(s)
= ˆ ,
O A(s) z̃(s) f (s)

where O is a zero matrix. Thus it holds A(s)z̃(s) = fˆ(s), which implies that z̃(s) is a solution
of the DAE (13).
After the index reduction process, we need to fill independent parameters by real numbers
to start a numerical method. Indeed, we can substitute 1 for each diagonal entry τi of D, i.e.,
D = I. To explain this fact, let
 
Q1 (s) Q2 (s)
B(s) = −D DT (s) (16)

be the coefficient matrix of a DAE that our algorithm returns for the augmented DAE (15),
where Q1 (s) and Q2 (s) are some polynomial matrices. By substituting the identity matrix to
D, we obtain
 
Q1 (s) Q2 (s)
B̄(s) = −I T (s) . (17)

Though B̄(s) is no longer an LM-polynomial matrix, the following lemma guarantees the upper-
tightness of B̄(s).
Lemma 4.2. Let Q1 (s), Q2 (s) and T (s) be polynomial matrices and let D be a nonsingular
diagonal matrix. Then B(s) in (16) is upper-tight if and only if B̄(s) in (17) is upper-tight.
 
I O
Proof. Using P = , we have B̄(s) = P B(s). Since P is a nonsingular constant
O D−1
matrix, δn (B) = δn (B̄) holds. In addition, since P is nonsingular, diagonal and constant, the
row transformation by P does not change the bipartite graph G(B) and its edge weight ce
associated with B(s). This fact implies that δ̂n (B) = δ̂n (B̄). Thus the upper-tightness of B(s)
and B̄(s) are equivalent.
From this lemma, we can “forget” the existence of D in the augmented DAE (15). That is,
to reduce the index of the DAE (13), it suffices to apply our algorithm to the DAE
    
I Q(s) ỹ(s) fˆ(s) ,
−I T (s) z̃(s) = 0
(18)

as if the set of nonzero coefficients of entries in (−I T (s)) were independent.

13
Example 4.3. Consider the index-2 DAE
   !
1 s + α1 x̃1 (s) fˆ1 (s)
−1 −s + α2 x̃2 (s) = fˆ2 (s)
, (19)

where α1 and α2 are independent parameters. Following (18), we convert this DAE into
    
1 1 s ỹ1 (s) fˆ1 (s)
 1 −1 −s  ỹ2 (s)  
fˆ2 (s) .
 −1    =  (20)
α1 z̃1 (s) 0 
−1 α2 z̃2 (s) 0

Then we can obtain a solution (x̃1 (s), x̃2 (s)) of (19) by solving the augmented DAE (20). While
the index of (20) is also three, in general this conversion does not preserve the index of DAEs.

4.2 Construction of Dual Optimal Solution


Let A(s) be an n × n nonsingular LM-polynomial matrix with R = Row(A) and C = Col(A),
and let l be the maximum degree of an entry in A(s). An optimal solution (p, q) of D(A)
satisfying 0 ≤ pi ≤ ln and 0 ≤ qj ≤ ln for all i ∈ R and j ∈ C is constructed as follows.
First, we obtain a maximum-weight perfect matching M ⊆ E(A) in G(A) by the Hungarian
method [11]. Next, construct a residual graph GM = (W, EM ) with W = R ∪ C ∪ {r} and
EM = E ◦ ∪M ∪Z, where r is a new vertex, E ◦ = {(j, i) | (i, j) ∈ E(A)}, and Z = {(r, i) | i ∈ R}.
The arc length γ : EM → Z of GM is defined by


−cj,i
 ((i, j) ∈ E ◦ ),
γ(i, j) = ci,j ((i, j) ∈ M ),


0 ((i, j) ∈ Z)

for each (i, j) ∈ EM .


Lemma 4.4. For the residual graph GM defined above, the following hold.

(1) All vertices are reachable from r.

(2) There is no negative-weight directed cycle with respect to γ.

Proof. (1) Every vertex i ∈ R is reachable from r through an edge (r, i) ∈ Z. In addition, since
G(A) has a perfect matching M , every vertex j ∈ C is also reachable from r via i ∈ R through
edges (r, i) ∈ Z and (i, j) ∈ M ⊆ E(A).
(2) This immediately follows from an optimality criterion [10, Theorem 9.6] of the minimum
cost flow problem.
For i, j ∈ W such that i is reachable to j, let d(i, j) denote the length of a shortest path
from i to j with respect to the arc length γ in GM . Lemma 4.4 guarantees that d(r, v) is defined
for all v ∈ W . Using d, we define

pi := d(r, i) − min d(r, i∗ ), (21)


∗ i ∈R
qj := d(r, j) − min d(r, i∗ ) (22)
∗ i ∈R

for each i ∈ R and j ∈ C.


The next lemma is easily shown in almost the same way as the case for l = 1 in [9,
Lemma 2.2].
Lemma 4.5. Let (p, q) be defined in (21) and (22). Then (p, q) is an optimal solution of D(A)
satisfying 0 ≤ pi ≤ ln for each i ∈ R and 0 ≤ qj ≤ ln for each j ∈ C.

14
Proof. First, we prove that (p, q) is a feasible solution of D(A). By the definition of (p, q), every
pi (i ∈ R) and qj (j ∈ C) are clearly integer. For each (i, j) ∈ E(A), it holds d(r, i) ≤ d(r, j)−ci,j .
Thus

qj − pi = d(r, j) − d(r, i) ≥ ci,j

and this implies that (p, q) is a feasible solution of D(A).


We second show the optimality of (p, q). For each (i, j) ∈ M , since (i, j) ∈ EM and (j, i) ∈
EM , we obtain

qj − pi = d(r, j) − d(r, i) = ci,j .

Thus it holds that


X X X X X X
qj − pi = d(r, j) − d(r, i) = (d(r, j) − d(r, i)) = ci,j
j∈C i∈R j∈C i∈R (i,j)∈M (i,j)∈M

which implies that (p, q) is optimal to D(A).


Finally, we give the lower and upper bounds on pi and qj . The non-negativity of pi clearly
follows from the definition of pi . In addition, since G(A) has a perfect matching, each j ∈ C is
incident to at least one vertex i ∈ R on G(A). Thus we obtain qj ≥ pi + ci,j ≥ 0 by pi , ci,j ≥ 0.
Let i∗ ∈ R denote a vertex such that d(r, i∗ ) ≤ d(r, i) for all i ∈ R. Fix j ∈ C. Let Pj ⊆ EM
and Pi∗ ⊆ EM be shortest paths from r to j and i∗ , respectively. Let v ∈ W be the last common
vertex in Pj and Pi∗ . Then it holds qj = d(r, j) − d(r, i∗ ) = d(v, j) − d(v, i∗ ). Let Qj ⊆ Pj and
Qi∗ ⊆ Pi∗ denote subpaths from v to j and i∗ , respectively. Note that d(v, j) is at most l times
the number of edges in E(A) on Qj , whereas −d(v, i∗ ) is at most l times the number of edges
in M ◦ on Qi∗ . The sum of these upper bounds is at most ln since Qi∗ and Qj do not share the
same vertex besides v. Thus qj ≤ ln holds for each j ∈ C. In addition, for each i ∈ R, we have
pi ≤ qj − ci,j ≤ qj ≤ ln, where j ∈ C is incident to i in M .
Example 4.6. Consider the coefficient matrix
 
1 1s
 1 −1 −s
A(s) = −1 α1  (23)
−1 α2

in the DAE (20). An optimal solution of the assignment problem P(A) is given by

M = {(1, 3), (2, 4), (3, 1), (4, 2)}

with optimal value δ̂n (A) = 1. Figure 2 shows the residual graph GM for M . According to (21)
and (22), a dual optimal solution (p, q) is calculated as p = (0, 0, 0, 0) and q = (0, 0, 0, 1).

4.3 Matrix Modification


Q(s)
Let A(s) = T (s) be an n × n nonsingular LM-polynomial matrix that is not upper-tight. Let
Q# 
A# = T# be the tight coefficient matrix with respect to an optimal solution (p, q) of D(A).
Without loss of generality, we assume that Row(Q) = RQ = {1, . . . , mQ } and p1 ≤ · · · ≤ pmQ ,
where mQ = |RQ |.
Recall the rank identity (12). Let J ∗ ⊆ C be a column subset that minimizes the right-hand
side of the identity for A# , i.e., it holds

rank A# = rank Q# [RQ , J ∗ ] + t-rank T # [RT , J ∗ ] + |C \ J ∗ |. (24)

15
R C
1 1

2 2
: length 0
r : length 1 (from R to C)
3 3
: length −1 (from C to R)
4 4

Figure 2: The residual graph GM of (23) with M = {(1, 3), (2, 4), (3, 1), (4, 2)}. Edges in
M , which are shown by wavy curves, are bidirectional and have lengths whose signs reverse
according to the direction.

Such J ∗ is called a minimizer of (12). By a row transformation of Q# , we obtain a matrix


Q̄# = U Q# such that

rank Q̄# [RQ , J ∗ ] = t-rank Q̄# [RQ , J ∗ ]. (25)

In particular, this transformation can be accomplished only by operations of adding a scalar


multiple of a row i ∈ RQ to another row j ∈ RQ with pi > pj . Then the matrix U is upper-
triangular due to the order of rows in RQ . This is the forward elimination on Q̄# [RQ , J ∗ ] with
the order of the rows reversed. Consider

UQ (s) = diag(s−p1 , . . . , s−pmQ )U diag(sp1 , . . . , spmQ ), (26)

where diag(a1 , . . . , an ) denotes a diagonal matrix with diagonal entries a1 , . . . , an . Note that
each entry in UQ (s) is a polynomial because U is upper-triangular. In addition, since det UQ (s) =
det U is a nonzero constant, UQ (s) is unimodular.
We define Dp (s) = diag(sp1 , . . . , spn ) and Dq (s) = diag(sq1 , . . . , sqn ). Using UQ (s), we
update A(s) to Ā(s) as in (14):
   
UQ (s) O −1 U O
Ā(s) = O I A(s) = Dp (s) O I Dp (s)A(s). (27)

To show that (p, q) is not an optimal solution of D(Ā), we use the following lemma, which
is given by Murota [16] as a combinatorial counterpart to Lemma 2.2.
Lemma 4.7 ([16, Proposition 6.2]). Let A(s) be an n × n nonsingular polynomial matrix and
let A# be the tight coefficient matrix of A(s) with respect to a feasible solution (p, q) of D(A).
Then (p, q) is optimal if and only if t-rank A# = n.
Q(s)
Lemma 4.8. Let A(s) = T (s)
be an n × n nonsingular LM-polynomial matrix that is not
Q# 
upper-tight, and A# = T # the tight coefficient matrix with respect to an optimal solution (p, q)
of D(A). Then for the LM-polynomial matrix Ā(s) defined in (27), the value (p, q) is feasible
on D(Ā) but not optimal.
Proof. Consider a rational function matrix

H(s) = Dp (s)Ā(s)Dq−1 (s). (28)

For each i ∈ R and j ∈ C, it holds that deg Hi,j (s) = c̄i,j + pi − qj , where c̄i,j = deg Āi,j (s). By
substituting (27) into (28), we obtain
   
U O −1 U O  # 
H(s) = O I Dp (s)A(s)Dq (s) = O I A + A∞ (s) ,

16
where A∞ (s) is a matrix whose entries are polynomials in s−1 without constant terms. Hence
for each i ∈ R and j ∈ C, it holds deg Hi,j (s) ≤ 0, which implies c̄i,j ≤ qj − pi . Therefore (p, q)
is feasible on D(Ā).
Next, we show that (p, q) is not optimal on D(Ā). From (27), the tight coefficient matrix
#
Ā of Ā(s) with respect to (p, q) is
   
U O Q̄#
Ā# = O I A# = , (29)
T#

where Q̄# = U Q# . From Proposition 3.4 and (25), it holds


n o

t-rank Ā# = min t-rank Q̄# [RQ , J] + t-rank T # [RT , J] + |C \ J| J ⊆ C
≤ t-rank Q̄# [RQ , J ∗ ] + t-rank T # [RT , J ∗ ] + |C \ J ∗ |
= rank Q̄# [RQ , J ∗ ] + t-rank T # [RT , J ∗ ] + |C \ J ∗ |.

Now since Q# [RQ , J ∗ ] and Q̄# [RQ , J ∗ ] = U Q# [RQ , J ∗ ] have the same rank, we obtain

t-rank Ā# ≤ rank Q# [RQ , J ∗ ] + t-rank T # [RT , J ∗ ] + |C \ J ∗ | = rank A# ,

where the last equality comes from (24). In addition, since rank Ā# = rank A# from (29), we
have t-rank Ā# ≤ rank Ā# , which implies t-rank Ā# = rank Ā# = rank A# . Furthermore, since
A(s) is not upper-tight, we have rank A# < n by Lemma 2.2. Thus, t-rank A# = rank A# < n
holds. It then follows from Lemma 4.7 that (p, q) is not optimal on D(Ā).
From Lemma 4.8 and the unimodularity of UQ (s), we obtain the following.
Q(s)
Corollary 4.9. Let A(s) = T (s)
be an n × n nonsingular LM-polynomial matrix that is not
upper-tight, and Ā(s) the LM-polynomial matrix defined in (27). Then δ̂n (Ā) ≤ δ̂n (A) − 1 and
δn (A) = δn (Ā) hold.
Example 4.10. Consider the LM-polynomial matrix (23) again. The tight coefficient matrix
A# with respect to p = (0, 0, 0, 0) and q = (0, 0, 0, 1) is
 
  1 1 1
Q # 1 −1 −1

A# = = −1 ,
T#
−1

where the row sets RQ of Q# and RT of T # correspond to the first and last two rows in A# ,
respectively. A minimizer J ∗ ⊆ C is the set of the right two columns as follows:
C\J ∗ J∗
z }| { z }| {
 1 
1 1
A# = 1 −1 −1 RQ .
−1
−1 RT

Then the rank of A# is calculated by (24) as Q# [RQ , J ∗ ] + T # [RT , J ∗ ] + |C \ J ∗ | = 1 + 0 + 2 = 3.


Since A# is not
 upper-tight,
 we need to modify A(s). By performing Gaussian elimination on
# ∗ 1 1
Q [RQ , J ] = −1 −1 , we obtain
 
Q̄# [RQ , J ∗ ] = U Q# [RQ , J ∗ ] = −1 −1 ,

17
 
1 1
where U = 1 . The unimodular matrix UQ (s) defined by (26) coincides with U since all
pi are zero. According to (27), we update A(s) into
    
  1 1 1 s1 1 1
UQ (s) O  1  1 −1 −s  1 −1 −s
Ā(s) = O I A(s) =  1  −1 α1  = −1 α1  .
1 −1 α2 −1 α2
(30)

4.4 Dual Updates


Let (p, q) be a feasible solution of D(Ā). We obtain an optimal solution of D(Ā) by iterating
the following procedure.
Let Ā# be the tight coefficient matrix of Ā(s) with respect to (p, q). First we check if
t-rank Ā# = n. If it is, (p, q) is an optimal solution of D(Ā) from Lemma 4.7 and we are done.
Otherwise, we construct a feasible solution (p′ , q ′ ) of D(Ā) such that the difference
X X
∆ := (qj′ − qj ) − (p′i − pi ) (31)
j∈C i∈R
 
of the objective values is negative. Let G# = R ∪ C, E # be a bipartite graph defined by
 n o

E # := (i, j) ∈ R × C Ā#
i,j 6= 0 = (i, j) ∈ E(Ā) qj − pi = c̄i,j .

Since (p, q) is not optimal, there is no perfect matching of G# . Thus G# has a vertex cover
S ⊆ R ∪ C with |S| < n by the König–Egerváry theorem. Using this S, we define (p′ , q ′ ) as
follows:
( (
pi (i ∈ R ∩ S) qj + 1 (j ∈ C ∩ S)
p′i = , qj′ = (32)
pi + 1 (i ∈ R \ S) qj (j ∈ C \ S)

for i ∈ R and j ∈ C.
The following lemma is a restatement of a well-known fact [11]. We give a proof for com-
pleteness.
Lemma 4.11. Let (p, q) be a feasible but not optimal solution of D(Ā) and (p′ , q ′ ) defined
in (32). Then the difference ∆ of the objective values in (31) is negative, and (p′ , q ′ ) is a
feasible solution of D(Ā).
Proof. The difference of the objective values is ∆ = |C ∩ S| − |R \ S| = |S| − |R| < 0. Next,
we show the feasibility of (p′ , q ′ ). For every (i, j) ∈ E(Ā), it holds qj − pi ≥ c̄i,j since (p, q) is
feasible. If i ∈ S or j ∈ S, it holds (qj′ − qj ) − (p′i − pi ) ≥ 0, which imply qj′ − p′i ≥ qj − pi ≥ c̄i,j .
If i ∈
/ W and j ∈ / W , then (i, j) is not an edge of G# since (i, j) is not covered by W . Hence it
holds qj − pi > c̄i,j , and thus qj′ − p′i = qj − pi − 1 ≥ c̄i,j .
We update (p, q) to (p′ , q ′ ), and go back to the optimality checking. From Lemma 4.11, it
is guaranteed that (p, q) becomes an optimal solution of D(Ā) by iterating the update process
above.
Example 4.12. Consider the modified LM-polynomial matrix (30). The tight coefficient matrix
Ā# of Ā(s) with respect to p = (0, 0, 0, 0) and q = (0, 0, 0, 1) is
 
1 1
 1 −1 −1
A# = −1 .
−1

18
Let S be the set of the first and second columns and the second row of A# . Then S is a vertex
cover of G# with |S| < 4. Following (32), we update (p, q) to p′ = (1, 0, 1, 1) and q ′ = (1, 1, 0, 1).
We then go back to Phase 2 for Ā(s). It is indeed confirmed in the next iteration that Ā(s)
is upper-tight, and thus the iteration ends at this point. We can obtain a low-index DAE by
applying the MS-algorithm.

4.5 Complexity Analysis


This section is devoted to complexity analysis. The dominating part in our algorithm is the
matrix multiplications in (27).
Let A(s) be an n × n nonsingular LM-polynomial matrix and let A# be the tight coefficient
matrix with respect to an optimal solution (p, q) of D(A). From the definition of A# , we can
express A(s) as
K
!
X
A(s) = Dp−1 (s) #
A + s −k
Vk Dq (s) (33)
k=1

for some K matrices V1 , V2 , . . . , VK with VK 6= O. By (27) and (33), we have


  K
!
U O X
Ā(s) = Dp−1 (s) O I
#
A + s −k
Vk Dq (s).
k=1

Therefore, we can compute Ā(s) by performing K + 1 constant matrix multiplications.


By VK 6= O, there exist i ∈ R and j ∈ C such that the (i, j) entry in VK is nonzero. Then the
degree of the corresponding term in Ai,j (s) is equal to qj − pi − K. Since Ai,j (s) is a polynomial,
we have qj − pi − K ≥ 0, which implies K ≤ qj − pi ≤ qj . The following lemma bounds pi and
qj at any iteration of our algorithm.
Lemma 4.13. During the algorithm, the values pi and qj are at most 2ln for i ∈ R and j ∈ C,
where l is the maximum degree of an entry in A(s).
Proof. From Lemma 4.5, the initial values of pi and qj are bounded by ln. In every update of
(p, q), the values pi and qj increase by at most one from the update rule (32). In addition, (p, q)
P P
is updated at most δ̂n (A) − δn (A) ≤ ln times because the objective value j∈C qj − i∈R pi of
the dual problem decreases by at least one in every update. Therefore, at any iteration of the
algorithm, it holds pi , qj ≤ ln + δ̂n (A) ≤ ln + ln = 2ln.
The time complexity of our algorithm is as follows.
Theorem 4.14. Let A(s) be an n × n nonsingular LM-polynomial matrix and let l be the
maximum degree of an entry in A(s). Then Algorithm for Tightness runs in O l2 nω+2 time,
where 2 < ω ≤ 3 is the matrix multiplication exponent.

Proof. Phase 1 can be done in O n3 time by the Hungarian method [11] and shortest path
algorithms such as the Bellman–Ford algorithm. Consider the time complexity in every iteration
of Phases 2 and 3. In Phase 2, the nonsingularity of the tight coefficient matrix A# can be
checked via the rank identity (12). Thus an efficient way is to obtain a minimizer J ∗ of (12)
before Phase 2, and then check the nonsingularity of A# by (12). The minimizer J ∗ can be
found from a residual

graph constructed by an augmenting path type algorithm [23], which
runs in O n3 log n time [3]. The computation of Ā(s) in Phase 3 can be done in O(N nω ) =
O maxj∈C qj nω = O lnω+1 time from Lemma 4.13, where (p, q) is a dual optimal solution of
D(A) and N is in (33). In addition, since the number of iterations of Phases 2 and 3 is at most
δ̂n (A) − δn (A) ≤ ln, the running time in Phases 2 and 3 is O l2 nω+2 . Finally, the updates of

(p, q) run in O ln4 time: (p, q) is updated at most δ̂n (A) ≤ ln times, and in every update, we
can find a vertex cover in O n3 time by Ford–Fulkerson’s algorithm. Thus the total running
time is O l2 nω+2 .

19
Theorem 4.15. For a DAE (13) with n × n nonsingular mixed polynomial 
matrix A(s), our
2
algorithm returns an equivalent DAE of index zero or one in O l n ω+2 time, where 2 < ω ≤ 3
is the matrix multiplication exponent and l is the maximum degree of entries in A(s).
Proof. First we convert the DAE into an equivalent DAE with LM-polynomial matrix ALM (s)
of size 2n × 2n. Note that the maximum degree of an entry in ALM (s) is equal to l by (15).
Hence it follows from Theorem 4.14 that Algorithm for Tightness for ALM (s) runs in O l2 nω+2
time. The resulting DAE has a coefficient matrix such that the maximum degree of an entry is
at most 4ln, because it holds that
deg ALM
i,j (s) ≤ qj − pi ≤ qj ≤ 4ln

with a feasible solution (p, q) of D(ALM ), where the last inequality is due to Lemma 4.13.
Next we analyze the complexity of the MS-algorithm described in Section 2.4. In Step 1, we
can reuse a dual optimal solution (p, q) obtained at the termination of Algorithm for Tightness,
or compute

a new (p̃, q̃) such that p̃i ≤ pi for i ∈ R to decrease the number of dummy variables, in
3
O n time. The nonsingularity of the corresponding tight coefficient matrix can be verified by

solving an independent matching problem in O n3 log n time [3, 23]. Step 2 runs in O n4 log n
time since we solve independent matching problems at most 2n times. We now consider the
resultant DAE returned in Step 4. The number of original (non-dummy) variables is 2n, and
from Lemma 4.13, the orders of their derivatives are at most
4ln + max pi ≤ 4ln + 4ln = O ln.
i∈R
P 
In contrast, the number of dummy variables is i∈R pi = O ln2 , and there is no derivative of
dummy 
variables in the resultant DAE. Therefore, the number of terms in the resultant DAE is
O ln , and thus Step 4 runs in O ln2 time. Hence the MS-algorithm costs O n4 log n + ln2
2

time.
Since the bottleneck in the entire

algorithm is Algorithm for Tightness, the total running
time of our algorithm is O l n2 ω+2 .

5 Exploiting Dimensional Consistency


5.1 Dimensional Consistency
The principle of dimensional homogeneity claims that any equation describing a physical phe-
nomenon must be consistent with respect to physical dimensions. To reflect the dimensional
consistency in conservation laws of dynamical systems, Murota [15] introduced a class of mixed
polynomial matrices A(s) = Q(s) + T (s) that satisfy the following condition:
(MP-DC) Q(s) is written as
Q(s) = diag(s−λ1 , . . . , s−λm )Q(1) diag(sµ1 , . . . , sµn ) (34)
for some integers λ1 , . . . , λm and µ1 , . . . , µn .
A mixed polynomial matrix satisfying (MP-DC) is said to be dimensionally consistent. We
abbreviate a dimensionally consistent mixed polynomial matrix and a dimensionally consistent
LM-polynomial matrix to a DCM-polynomial matrix and a DCLM-polynomial matrix, respec-
tively.
Example 5.1. Consider the DAE (10) representing the electrical circuit shown in Figure 1.
Since Q(s) of the coefficient matrix A(s) of (10) is constant, A(s) is a DCM-polynomial matrix
with all λi and µj being zero. Note that (λ, µ) is not uniquely determined; the values
λ = (0, 0, −3, −3, −3, −3, −3, −3, 0, −3), µ = (0, 0, 0, 0, 0, −3, −3, −3, −3, −3) (35)
also satisfy (34).

20
The condition (MP-DC) can be “derived” from physical observations as follows. Suppose
that a DAE A(s)x̃(s) = fˆ(s) arises from a dynamical system and the ith equation and the jth
variable have physical dimensions Xi and Yj , respectively. For example, in the DAE (10), the
first, second and ninth equations have the dimension of current and others have the dimension of
voltage. Similarly, the first five variables ξ˜1 , . . . , ξ˜5 of (10) have the dimension of current and the
last five variables η̃1 , . . . , η̃5 have the dimension of voltage. Then the dimension of each nonzero
entry Ai,j (s) of A(s) must be Xi Yj−1 according to the principle of dimensional homogeneity.
An important physical observation here is that all the nonzero coefficients of entries in Q(s) are
naturally regarded as dimensionless because they typically represent coefficients of conservation
laws. In addition, since the indeterminate s corresponds to the time derivative, its dimension
is the inverse T−1 of the dimension T of time. Thus if Qi,j (s) 6= 0, then Qi,j (s) must be a
monomial Qi,j (1)sdi,j of dimension T−di,j with di,j = deg Qi,j (s). Let λi , µj ∈ Q such that
Xi and Yj are decomposed as Xi = Tλi Xi′ and Yj = Tµj Yj′ , where Xi′ and Yj′ are physical
dimensions that are not relevant to T in a using system of measurement. Now it holds T−di,j =
Xi Yj−1 = Tλi −µj Xi′ Yj′−1 for i ∈ R and j ∈ C with Qi,j (s) 6= 0. This implies di,j = −λi + µj and
thus we have Qi,j (s) = Qi,j (1)s−λi +µj for all i ∈ R and j ∈ C. This is equivalent to (MP-DC)
if every λi and µj are integral. Even if not, we can take integral (λ′ , µ′ ) satisfying (34) [21,
Theorem 2.2.35(2)]. See [21, Section 3] for more detail.
As described above, λi and µj can be taken as the exponents of T in the physical dimensions
of the ith equation and the jth variable (if they are integral). In fact, the value (35) is taken
from the DAE (10) in this way as the dimension of voltage is expressed as L2 T−3 MI−1 by the
SI base units, where L, M and I are dimensions of length, mass and current, respectively.

5.2 Improved Algorithm


This section improves the matrix modification procedure in Phase 3 for DCLM-polynomial
matrices preserving their

dimensional consistency.
Let A(s) = Q(s)
T (s)
be a DCLM-polynomial matrix with RQ = Row(Q), RT = Row(T ) and
C = Col(A). Let (p, q) be an optimal solution of D(A). For an integer k ∈ Z, let
Rk = {i ∈ RQ | pi − λi = k}, Ck = {j ∈ C | qj − µj = k}. (36)
If Qi,j (s) 6= 0, then we have ci,j ≤ qj − pi from the feasibility of (p, q) and ci,j = µj − λi by (34).
Hence pi − λi ≤ qj − µj follows, which implies i ∈ Rh if and only if j ∈ Ck with h ≤ k. Thus, it
holds Q(s)[Rh , Ck ] = O for integers h, k ∈ Z with h > k. Namely, Q(s) forms a block triangular
matrix.
#
Let A# = Q T#
denote the tight coefficient matrix with respect to (p, q). From the definition
of the tight coefficient matrix, Q# forms a block diagonal matrix as
· · · C−1 C0 C1 C2 · · ·
..  . . 
. .
 
R−1  Q#
−1 
 
Q # = R0

 Q#
0

,
 
R1  Q#
1 
 
R2  Q#
2 
.. ..
. .

where Q# #
k = Q [Rk , Ck ] for k ∈ Z, and empty blocks indicate zero submatrices.
Let J ∗ ⊆ C be a minimizer of the rank identity (12) for A# . Sorting rows in ascending
order of p, the matrix modification process described in Section 4.3 finds a nonsingular upper-
triangular matrix U such that
rank U Q# [RQ , J ∗ ] = t-rank U Q# [RQ , J ∗ ]. (37)

21
For a DCLM-polynomial matrix, supposing that rows in Rk are sorted in ascending order of p,
we find a nonsingular upper-triangular matrix Uk such that
rank Uk Q# ∗ # ∗
k [Rk , Ck ∩ J ] = t-rank Uk Qk [Rk , Ck ∩ J ]

for k ∈ Z. Then U = block-diag(. . . , U−1 , U0 , U1 , U2 , . . .) satisfies (37), where block-diag(B1 , B2 , . . . , BN )


is a block diagonal matrix of diagonal blocks B1 , B2 , . . . , BN .
For k ∈ Z, let Pk (s) be a diagonal polynomial matrix with Row(Pk ) = Col(Pk ) = Rk whose
(i, i) entry is spi for each i ∈ Rk . Let Dp (s) = block-diag(. . . , P−1 (s), P0 (s), P1 (s), P2 (s), . . .).
Now the unimodular matrix UQ (s) defined in (26) can be written as
UQ (s) = Dp−1 (s) block-diag(. . . , U−1 , U0 , U1 , U2 , . . .)Dp (s)
= Dp−1 (s) block-diag(. . . , U−1 P−1 (s), U0 P0 (s), U1 P1 (s), U2 P2 (s), . . .). (38)
UQ (s)Q(s)
Then we update A(s) into Ā(s) = T (s)
as written in (27).
Q(s) UQ (s)Q(s)
Lemma 5.2. Let A(s) = T (s) be an n × n DCLM-polynomial matrix. Then Ā(s) = T (s)
is also dimensionally consistent.
Proof. Let λ1 , . . . , λmQ and µ1 , . . . , µn defined in (34) for A(s), where mQ = |Row(Q)|. For
k ∈ Z, let Rk and Ck defined in (36), and let Λk (s) denote a diagonal polynomial matrix
with Row(Λk ) = Col(Λk ) = Rk whose (i, i) entry is sλi for each i ∈ Rk , and Dµ (s) =
diag(sµ1 , . . . , sµn ). Then the condition (34) for dimensional consistency is written as
Q(s) = block-diag(. . . , Λ−1 −1 −1 −1
−1 (s), Λ0 (s), Λ1 (s), Λ2 (s), . . .)Q(1)Dµ (s). (39)
Combining (38) and (39), we obtain
UQ (s)Q(s) = P −1 (s) block-diag(. . . , U−1 P−1 (s)Λ−1 −1 −1
−1 (s), U0 P0 (s)Λ0 (s), U1 P1 (s)Λ1 (s), . . .)Q(1)Dµ (s)
= P −1 (s) block-diag(. . . , s−1 U−1 , U0 , sU1 , s2 U2 , . . .)Q(1)Dµ (s)
−1
= block-diag(. . . , s−1 P−1 (s), P0−1 (s), sP1−1 (s), s2 P2−1 (s), . . .)U Q(1)Dµ (s), (40)
where we used Pk (s)Λ−1 k
k (s) = s I for k ∈ Z. From (40), Ā(s) is also dimensionally consistent.

5.3 Complexity Analysis


For a DCLM-polynomial matrix A(s), we can compute Ā(s) = U (s)A(s) only by one constant
matrix multiplication U Q(1) from (40), whereas a general LM-polynomial matrix needs O(ln)
multiplications. This improves the total running time as follows.
Theorem 5.3. Let A(s) be an n × n nonsingular DCLM-polynomial matrix and 
l the maximum
degree of an entry in A(s). Then Algorithm for Tightness runs in O ln4 log n time.
Proof. For each iteration of Phases 2 and 3, the computation of Ā(s) in Phase 3 can be done in
O(nω ) time, where 2 < ω ≤ 3 is the matrix multiplication exponent. The most expensive part is
the nonsingularity checking for a tight coefficient matrix in Phase 2, which requires O n3 log n
time [3, 23]. Since the number of iterations of Phases

2 and 3 is at most δ̂n (A) − δn (A) ≤ ln,
the running time of Phases 2 and 3 is O ln4 log n . We can check that other processes run in
O ln4 log n time as in the proof of Theorem 4.14.
Theorem 5.4. For a DAE (13) with n × n nonsingular DCM-polynomial coefficient 
matrix
A(s), our algorithm returns an equivalent DAE of index zero or one in O ln4 log n time, where
l is the maximum degree of entries in A(s).
Proof. We can easily check that the coefficient LM-polynomial matrix of the augmented DAE
described in

Section 4.1 is also dimensionally consistent. Algorithm for Tightness runs in
O ln log n time from Theorem 5.3. In addition, the MS-algorithm runs in O n4 log n + ln2
4

time as discussed in the proof of Theorem 4.15. Thus the total running time is O ln4 log n .

22
6 Examples
We give two examples below. The first example is a simple index-4 DAE and the second
example is the DAE (10) representing the electrical network shown in Figure 1. Throughout
the execution of our algorithm, it is emphasized that: (i) we only use combinatorial operations
and numerical calculations over rational numbers (over integers in the following examples), and
(ii) we do not reference values of physical quantities.

6.1 Example of High-index DAE


The first example is the following index-4 DAE

 ẍ1 − ẋ1 + ẍ2 − ẋ2 + x4 = f1 (t),



 ẍ1 + ẍ2 + x3 = f2 (t),
(41)

 α1 x2 + α2 ẍ3 + α3 ẋ4 = f3 (t),



α4 x3 + α5 ẋ4 = f4 (t),
with independent parameters α1 , . . . , α5 and smooth functions f1 , . . . , f4 . The coefficient matrix
Q(s)
A(s) = T (s) corresponding to (41) is an LM-polynomial matrix given by
 
s2 − s s2 − s 1
 s2 s 2 1 
A(s) = 

. (42)
α1 α2 s α3 s
2
α4 α5 s
The row sets RQ of Q(s) and RT of T (s) correspond to the first and last two rows in A(s),
respectively. This polynomial matrix (42) is not DCLM. Since δn (A) = deg −α1 α5 s3 −α1 α4 s2 +

α1 α5 s2 = 3 and δ̂n (A) = 7, the MS-algorithm is not applicable to the DAE, which is shown in
our algorithm.
Let us apply our algorithm to (42). First, we find a dual optimal solution p = (0, 0, 0, 0)
#
and q = (2, 2, 2, 1). The corresponding tight coefficient matrix A# = QT # is
 
1 1
1 1 
A# =  α2 α3  .
α5

A minimizer J ∗ of (12) for A# is the set of the first and the second columns. Then we can
check that rank A# = Q# [RQ , J ∗ ] + T # [RT , J ∗ ] + |C \ J ∗| = 1+ 0 + 2 = 3 < 4, which implies
1 1
that A(s) is not upper-tight. We convert Q# [RQ , J ∗ ] = 1 1 by a row transformation into
   
# ∗ # ∗ 1 −1
Q̄ [RQ , J ] = U Q [RQ , J ] = 1 1 , where U = 1 . Using UQ (s) = U , the LM-
polynomial matrix A(s) is modified to
  −s −s −1 1 
1 −1
 1   s2 s2 1 
A′ (s) =   A(s) =  .
1 α1 α2 s2 α3 s
1 α4 α5 s
The dual solution is updated to p′ = (1, 0, 0, 1) and q ′ = (2, 2, 2, 2), and the corresponding tight
′# 
coefficient matrix A′# = Q
T ′#
of A′ (s) is
 
−1 −1
 1 1 
A′# =  α2 .
α5

23
The minimizer J ∗ that we used above also minimizes the right-hand side of the rank identity (12)
for A′# . Since A′# is still singular,we continue
 the modification
  process. Noting the order of
′# ∗ −1 −1 ′ 1
rows, we transform Q [RQ , J ] = 1 1 by U = 1 1 into
 
′# ∗ ′ ′# ∗ −1 −1
Q̄ [RQ , J ] = U Q [RQ , J ] = .
 
′ (s) 1
We have UQ = diag(s−1 , 1)U ′ diag(s, 1) = s 1 , and modify A′ (s) to

   
1 −s −s −1 1
s 1  ′  −s + 1 s 
A′′ (s) =   A (s) =  .
1 α1 α2 s2 α3 s
1 α4 α5 s

The dual solution is updated to p′′ = (1, 3, 2, 3) and q ′′ = (2, 2, 4, 4). Our algorithm halts at this
point since A′′ (s) is upper-tight, which can be checked through the nonsingularity of the tight
coefficient matrix A′′# again. Now δn (A) is computed as δn (A) = δn (A′′ ) = δ̂n (A′′ ) = 3. The
resulting DAE is


 −ẋ1 − ẋ2 − x3 + x4 = f1 (t) − f2 (t),


 −ẋ3 + x3 + ẋ4 = f˙1 (t) − f˙2 (t) + f2 (t),
(43)

 α1 x2 + α2 ẍ3 + α3 ẋ4 = f3 (t),



α4 x3 + α5 ẋ4 = f4 (t),

which is index two.


An index-1 DAE is obtained by applying the MS-algorithm to the DAE (43). Instead of
(p , q ′′ ), we now use an optimal solution p̃ = (0, 2, 1, 2) and q̃ = (1, 1, 3, 3) of D(A′′ ) to decrease
′′

the number of dummy variables as described in the proof of Theorem 4.15. Then the MS-
algorithm outputs the index-1 DAE
 [1]



−ẋ1 − z2 − x3 + x4 = f1 (t) − f2 (t),




 −ẋ3 + x3 + ẋ4 = f˙1 (t) − f˙2 (t) + f2 (t),



 [2] [2]


 −z3 + x3 + z4 = f¨1 (t) − f¨2 (t) + f˙2 (t),

 ... ...

 [3] [3]


 −z3 + x3 + z4 = f 1 (t) − f 2 (t) + f¨2 (t),
α x + α x + α ẋ = f (t),
1 2 2 3 3 4 3



 [1] [2] ˙

 α1 z2 + α2 ẋ3 + α3 z4 = f3 (t),





 α4 x3 + α5 ẋ4 = f4 (t),



 [2]


 α4 ẋ3 + α5 z4 = f˙4 (t),


 [2] [3] ¨
α4 z3 + α5 z4 = f4 (t),
[1] [2] [3] [2] [3] ... ...
where z2 , z3 , z3 , z4 and z4 are dummy variables corresponding to ẋ2 , ẍ3 , x 3 , ẍ4 and x 4 ,
respectively.

6.2 Example of Electrical Network


The next example is the DAE (10) representing the electrical network in Figure 1. Since
the coefficient matrix A(s) is not LM-polynomial, it seems that we cannot directly apply our
algorithm to A(s). However, since each of the last five rows in A(s) do not contain two or
more accurate constants, we can convert A(s) into an LM-polynomial matrix by multiplying an

24
independent parameter to each of the rows. In addition, by the same logic to Lemma 4.2, our
algorithm works without actually multiplying the independent parameters by regarding nonzero
entries in the last five rows as independent parameters. Thus we see A(s) as an LM-polynomial

matrix A(s) = Q(s)T (s) , where Q(s) and T (s) correspond to the first and last five rows in A(s),
respectively. The matrix A(s) meets the condition (MP-DC) for DCLM-polynomial matrices
with λ = (0, 0, 0, 0, 0) and µ = (0, 0, 0, 0, 0, 0, 0, 0, 0, 0).
We are now ready for applying our algorithm to A(s). In Phase 1, a dual optimal solution
is obtained as p = (0, 0, 0, 0, 0, 0, 0, 0, 0, 0) and q = (0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0), which implies that
#
δ̂n (A) = 2. The corresponding tight coefficient matrix A# = Q T # is given by
 
−1 −1 1 

 1 1 −1 
 1 1 
−1  RQ

 
 −1 −1 
 1 −1 
A# =
 R1 −1
 .

 
 R2 −1 
 
 L −1  RT
 −1 C 


1

A minimizer J ∗ of the rank identity (12) for A# is the set of nine columns other than the
rightmost column corresponding to the variable η̃5 . Thus we can check

rank A# = Q# [RQ , J ∗ ] + T # [RT , J ∗ ] + |C \ J ∗ | = 4 + 4 + 1 = 9 < 10,

which implies that A(s) is not upper-tight. We proceed to the matrix modification process for
DCLM-polynomial matrices that we described in Section 5.2.
The row set Rk and the column set Ck for k ∈ Z defined in (36) is the following:
J∗
z }| {
C C C0 C C
z }|0 { z}|{
1
z }| 1
{ z}|{ 0
z}|{
−1 −1 1 


 1 1 −1 
Q# =
 1 1 
−1  R0 .
−1 −1 


1 −1

Now Q# can be seen as a block diagonal matrix consisting of one diagonal block Q#
0 =
# #
Q [R0 , C0 ] by Q [R0 , C1 ] = O. We transform
 
−1 −1 1
 1 1 −1 

Q# ∗
0 [R0 , C0 ∩ J ] =  1 1 

 −1 −1 
1 −1
   
−1 −1 1 1
 1 1 −1   1 
  
into U Q# ∗
0 [R0 , C0 ∩J ] =  , where U =  1 1 1 
.
 −1 −1   1 
1 −1 1

25
Using UQ (s) = U , we modify A(s) to
 
−1 −1 1
 1 1 1 −1 
 1 −1 
 
 −1 −1 1 
 
 1 −1 
A′ (s) = 
 R1 −1
,

 


R2 −1 

 Ls −1 
 −1 Cs 
1

where the third row is different between A(s) and A′ (s). The dual solution is updated to
p′ = (0, 0, 1, 0, 0, 0, 0, 0, 0, 1) and q ′ = (0, 0, 1, 0, 0, 0, 0, 0, 1, 1). Since the corresponding tight
coefficient matrix of A′ (s) is nonsingular, we stop the algorithm. The index of the modified
DAE remains at two.
Finally, by applying the MS-algorithm to the modified DAE, we obtain an index-1 DAE


 −ξ1 − ξ4 + ξ5 = 0,



 ξ2 + ξ3 + ξ4 − ξ5


= 0,



 η4 − η5 = 0,



 [1] [1]

 z4 − z5 = 0,





 −η1 − η2 + η4 = 0,




 η2 − η3 = 0,

 R1 ξ1 − η1 = 0,



 R2 ξ2 − η2 = 0,





 Lξ̇3 − η3 = 0,





 [1]

 −ξ4 + Cz4 = 0,



 η5 = V (t),




 [1]
z5 = V̇ (t),

[1] [1]
where z4 and z5 are dummy variables corresponding to η̇4 and η̇5 , respectively.

7 Numerical Experiments
We conduct numerical experiments comparing our algorithm with the LC-method by Tan et
al. [30]. Recall that the LC-method works for linear DAEs whose associated polynomial ma-
trix A(s) has only constants, whereas our algorithm can treat a DAE containing independent
parameters.

7.1 Experiment Description


For an even positive integer K, the Butterworth filter via the K-th Cauer topology is an electrical
circuit shown in Figure 3. This circuit has n = 2K+4 state variables ξ0 , ξ1 , . . . , ξK+1 , η0 , η1 , . . . , ηK+1 ,
where ξ0 , ξ1 , . . . , ξK+1 are currents and η0 , η1 , . . . , ηK+1 are voltages shown in Figure 3.

26
η2 η4 ηK
ξ2 ξ4 ξK
ξ0 L2 L4 LK
η0 = V (t) η1 C1 η3 C3 ηK−1 CK−1R ηK+1
ξ1 ξ3 ξK−1
ξK+1

Figure 3: Butterworth filter via the K-th Cauer topology.

A DAE representing the circuit is given by




 −ξk−1 + ξk + ξk+1 = 0 (k = 1, 3, 5, . . . , K − 1),





 −ξ0 + ξ1 + ξ3 + · · · + ξK+1 = 0,



 η0 + η2 + η4 + · · · + ηK + ηK+1 = 0,




 −ηk−1 + ηk + ηk+1 = 0 (k = 2, 4, 6, . . . , K),
(44)

 η0 = V (t),





 −ξk + Ck η̇k = 0 (k = 1, 3, 5, . . . , K − 1),





 Lk ξ̇k − ηk = 0 (k = 2, 4, 6, . . . , K),


 RξK+1 − ηK+1 = 0.
The index of the DAE (44) is two, and the associated polynomial matrix A(s) is a sparse
matrix which has 6K + 7 nonzero coefficients. Though it suffices to use simpler equations
−ξK + ξK+1 = 0 and η0 + η1 = 0 instead of the second and the third equations in (44),
respectively, we use them to make the MS-algorithm not applicable for the DAE.
We apply our algorithm and the LC-method to the DAE (44) using the following two ways
of implementations:
Dense Matrix Implementation, which stores a matrix in the memory as a two-dimensional
array. While this implementation always requires O(nm) space for a matrix of size m × n,
it has less overhead than the sparse matrix implementation if the matrix is dense.
Sparse Matrix Implementation, which stores only nonzero entries of a matrix. A typ-
ical implementation of this type is in formats called a compressed sparse column (CSC)
or a compressed sparse row (CSR). We adopt the CSR in our experiments. The sparse
matrix implementation has an advantage that it consumes only the space proportional to
the number of nonzero entries, and thus algorithms using this implementation are expected
to run efficiently for sparse matrices.
In our algorithm, we treat the coefficients R, Ck , Lk and ‘±1’s in the last four equa-
tions in (44) as independent parameters similarly to the example in Section 6.2. Then the

associated polynomial matrix A(s) = Q(s)
T (s)
is dimensionally consistent, where |Row(Q(s))| =
|Row(T (s))| = K + 2. In the LC-method, we substitute the following real numbers:
2k − 1
Ck = 2 sin π (k = 1, 3, 5, . . . , K − 1),
2K
2k − 1
Lk = 2 sin π (k = 2, 4, 6, . . . , K),
2K
R = π.
Under this setting, we compare the running time for K = 2, 4, 8, 16, . . . , 216 . We implemented
all algorithms in C++ using the library Eigen3 for matrix computation. It is emphasized again
that we do not rely on symbolic computation. The experiments are conducted on a laptop with
Core i7 1.7 GHz CPU and 8 GB memory.

27
104 s
LC-method (dense)
proposed (dense)
103 s LC-method (sparse)
proposed (sparse)
102 s

10 s
running time
1s

100 ms

10 ms

1 ms

100 µs
22 24 26 28 210 212 214 216
K

Figure 4: Log-log plot of the experimental result: K versus the running time.

Table 1: Running time (sec) of dense implementations for K = 211 .

LC-method proposed
Phase 1 1.80 × 10−2 (0.00%) 1.70 × 10−2 (0.00%)
Phase 2 6.69 × 102 (29.61%) 9.69 × 101 (19.54%)
Phase 3 1.59 × 103 (70.26%) 3.97 × 102 (79.98%)
MS-algorithm 1.02 × 100 (0.04%) 7.28 × 10−1 (0.15%)
total 2.26 × 103 (100.00%) 4.96 × 102 (100.00%)

7.2 Experimental Results


Running time. Tables 1 and 2 and Figure 4 show the running time of the algorithms. On
the dense matrix implementations, both algorithms did not run for K ≥ 212 due to the lack of
memory capacity. The reasons are as follows. Our implementations express a polynomial as an
array of coefficients using std::vector<int> or std::vector<float> in C++, and it consumes
32 bytes even for the zero polynomial. Since the number of entries in the input polynomial
matrix A(s) for K = 212 is n2 = (2K + 4)2 ≥ 226 , we need at least 226 × 32 bytes = 2 GB to hold
A(s). Besides the input matrix, our implementations construct several constant and polynomial
matrices of similar or larger size, such as a tight coefficient matrix A# , a unimodular matrix
U (s) for modification in Phase 3 and an output matrix. Thus 212 is near the borderline of the
maximum K for which our implementations run on our laptop with 8 GB memory.
It can be seen from Figure 4 that our algorithm is faster than the LC-method on their
dense matrix implementations, and it is converse for their sparse ones. This is attributed to the
fact that in the process of multiplying polynomial matrices in (27) at Phase 3, the LC-method
multiplies the entire of the given polynomial matrix A(s) whereas our algorithm multiplies only
submatrices of A(s) as illustrated in Figure 5. Since this process is dominant on the dense

Table 2: Running time (sec) of sparse implementations for K = 211 .

LC-method proposed
Phase 1 1.55 × 10−2 (4.88%) 1.58 × 10−2 (3.32%)
Phase 2 1.33 × 10−1 (41.87%) 3.82 × 10−1 (80.07%)
Phase 3 1.25 × 10−1 (39.40%) 39.2 × 10−2 (8.21%)
MS-algorithm 2.54 × 10−2 (7.98%) 2.47 × 10−2 (5.17%)
total 3.18 × 10−1 (100.00%) 4.78 × 10−1 (100.00%)

28
··· C0 C1 C2 · · ·
..
.
R0
R1
R2 O
..
.

T (s)

(a) LC-method (b) Our algorithm for DCLM-polynomial matrices

Figure 5: Hatched regions indicate submatrices in a polynomial matrix A(s) to be modified by


algorithms. In (b), we use notations given in Section 5.2.

matrix implementations as Table 1 indicates, the difference between the sizes of matrices to be
multiplied directly affects the difference of the running times. This process, however, does not
cost much in the sparse matrix implementations, and thus Phase 2 becomes relatively expensive.
As a result, the difference between the running times on sparse matrix implementations reflect
the difference between that of the independent matching algorithm and the Gaussian elimination
used by our algorithm and the LC-method in Phase 2, respectively.
Recalling that the size of the DAE is n =
O(K), Figure 4 shows that the running time of our
algorithm grows proportionally to O n2.84 in the dense matrix implementation and O n1.97 
in the sparse one for K ≥ 28 . Both are much faster than the theoretical guarantee O n4 log n
given in Theorem 5.4.

8 Application to Nonlinear DAEs


In this section, we discuss the application of our algorithm to nonlinear DAEs. The σν-
method [2], which is implemented in Mathematica [32], adopts a strategy of treating nonlinear
or time-varying terms as independent parameters in the Jacobian matrices of DAEs. We first
describe the σν-method briefly.
Consider the index-2 nonlinear DAE (5) with a smooth nonlinear function g : R → R. Their
method constructs two kinds of Jacobian matrices JD and JV as follows:
! ! ! !
∂Fi 1 0 0 ∂Fi 0 ∂g/∂x2 0
JD = = 1 0 0 , JV = = 1 0 1 .
∂ ẋj i,j 1 0 0 ∂xj i,j 0 0 1

If JD is nonsingular, the DAE is index zero from the implicit function theorem. Otherwise,
the method performs Gaussian elimination on JD (and JV simultaneously) to make the bottom
row of JD zero. Then the method differentiates the equation corresponding to the bottom row,
and checks the nonsingularity of JD again. The main feature of the σν-method is to treat
nonlinear or time-varying terms as “independent parameters” to avoid complicated symbolic
manipulations. The method works according to the rule that arithmetic operations and the
differentiation of independent parameters generate new independent parameters.
The σν-method may fail due to this rule. For example, let α1 be an independent parameter
representing ∂g/∂x2 in JV. By subtracting the first row from the second and third ones, we
obtain
! !
1 0 0 0 α1 0
JD = 0 0 0 , JV = 1 α2 1 ,
0 0 0 0 α3 1

29
where α2 = 0 − α1 and α3 = 0 − α1 are newly generated parameters by the rule of arithmetic
operations. We differentiate the second and third rows. Then JD and JV are
! !
1 0 0 0 α1 0
JD = 1 α2 1 , JV = 0 α4 0 ,
0 α3 1 0 α5 0

where α4 and α5 are parameters corresponding to the derivatives of α2 and α3 , respectively.


Although the Jacobian matrix JD is indeed singular due to α2 = α3 , the σν-method halts at
this point as the method regards α2 and α3 as independent. This failure originates from the
elimination of matrices involving the independent parameter α1 . We have confirmed that the
implementation in Mathematica actually fails on this DAE.
Our algorithm is applied to the same DAE (5) as follows. Let
!
s α
A(s) = s+1 1 ,
s 1

where α is an independent parameter representing ∂g/∂x2 . As described in Section 2.4, the


MS-algorithm is applicable to the nonlinear DAE (5) if A(s) is upper-tight. The tight coefficient
matrix corresponding to a dual optimal solution p = (0, 0, 0) and q = (1, 0, 0) is
!
1 α
# 1 1 ,
A =
1 1

which is singular. Thus we need to modify the matrix. By the same logic as the discussion
T (s) 
in Section 6.2, we can regard A(s) as an LM-polynomial matrix A(s) = Q(s) , where T (s)
corresponds to the first row and Q(s) corresponds to the other two ones in A(s). Then our
algorithm modifies A(s) to
!
s α

A (s) = 1 ,
s 1

which is upper-tight (we omit the detail of this modification). Using an optimal solution p′ =
(0, 1, 0) and q ′ = (1, 0, 0) of D(A′ ), the MS-algorithm obtains a purely algebraic equation

 [1]
 z1 + g(x2 ) = f1 (t),




 x1 = f2 (t) − f3 (t),
[1]


 z1 = f˙2 (t) − f˙3 (t),



 [1]
z1 + x3 = f3 (t),

[1]
where z1 is a dummy variable corresponding to ẋ1 .
This example shows that our algorithm works for a DAE to which the existing index re-
duction algorithm cannot be applied. Our algorithm is expected to rarely cause cancellations
between nonlinear terms as it does not perform the row operations involving independent pa-
rameters. In particular, our algorithm can be applied to nonlinear DAEs in which cancellations
occur only between linear terms like the transistor amplifier DAE in [14]; such DAEs often
appear in practice. Therefore, although the application to nonlinear DAEs remains at the stage
of a heuristic, it is anticipated that the proposed method can be useful for index reduction of
nonlinear DAEs.

30
9 Conclusion
In this paper, we have proposed an index reduction algorithm for linear DAEs whose coefficient
matrices are mixed matrices. The proposed method detects numerical cancellations between
accurate constants, and transforms a DAE into an equivalent DAE to which the MS-algorithm
is applicable. Our algorithm uses combinatorial algorithms on graphs and matroids, based
on the combinatorial relaxation framework. We have also developed a faster algorithm for
DAEs whose coefficient matrices are dimensionally consistent. In addition, we have confirmed
through numerical experiments that our algorithm runs sufficiently faster than the theoretical
guarantee for large scale DAEs, and modifies DAEs preserving physical meanings of dynamical
systems. Our algorithms can also be applied to nonlinear DAEs by regarding nonlinear terms
as independent parameters. Numerical experiments on nonlinear DAEs are left for further
investigation.

Acknowledgments
We thank anonymous referees for helpful suggestions and comments. This work was supported
in part by JST CREST, Grant Number JPMJCR14D2, Japan. The second author’s research
was supported by Grant-in-Aid for JSPS Research Fellow, Grant Number JP18J22141, Japan.

References
[1] K. E. Brenan, S. L. Campbell, and L. R. Petzold. Numerical Solution of Initial-Value
Problems in Differential-Algebraic Equations. SIAM, Philadelphia, 1996.

[2] S. Chowdhry, H. Krendl, and A. A. Linninger. Symbolic numeric index analysis algo-
rithm for differential algebraic equations. Industrial & Engineering Chemistry Research,
43(14):3886–3894, 2004.

[3] W. H. Cunningham. Improved bounds for matroid partition and intersection algorithms.
SIAM Journal on Computing, 15(4):948–957, 1986.

[4] J. Edmonds. Matroid partition. In G. B. Dantzig and A. F. Veinott, editors, Mathematics of


the Decision Sciences: Part I, volume 11 of Lectures in Applied Mathematics, pp. 335–345.
AMS, Providence, RI, 1968.

[5] C. W. Gear. Differential-algebraic equation index transformations. SIAM Journal on


Scientific and Statistical Computing, 9:39–47, 1988.

[6] S. Iwata. Computing the maximum degree of minors in matrix pencils via combinatorial
relaxation. Algorithmica, 36(4):331–341, 2003.

[7] S. Iwata and K. Murota. Combinatorial relaxation algorithm for mixed polynomial matri-
ces. Mathematical Programming, 90(2):353–371, 2001.

[8] S. Iwata and M. Takamatsu. Computing the maximum degree of minors in mixed polyno-
mial matrices via combinatorial relaxation. Algorithmica, 66(2):346–368, 2013.

[9] S. Iwata and M. Takamatsu. Index reduction via unimodular transformations. SIAM
Journal on Matrix Analysis and Applications, 39(3):1135–1151, 2018.

[10] B. Korte and J. Vygen. Combinatorial Optimization, volume 21 of Algorithms and Combi-
natorics. Springer-Verlag, Berlin Heidelberg, 4th. ed., 2008.

31
[11] H. W. Kuhn. The Hungarian method for the assignment problem. Naval Research Logistics
Quarterly, 2:83–97, 1955.

[12] F. Le Gall. Powers of tensors and fast matrix multiplication. In Proceedings of the 39th
International Symposium on Symbolic and Algebraic Computation (ISSAC ’14), pp. 296–
303, New York, NY, 2014. ACM.

[13] S. E. Mattsson and G. Söderlind. Index reduction in differential-algebraic equations using


dummy derivatives. SIAM Journal on Scientific Computing, 14(3):677–692, 1993.

[14] F. Mazzia and C. Magherini. Test set for initial value problem solvers. Technical report,
Department of Mathematics, University of Bari, Bari, 2008. Retrieved June 1, 2019 from
https://archimede.dm.uniba.it/~testset/.

[15] K. Murota. Use of the concept of physical dimensions in the structural approach to systems
analysis. Japan Journal of Applied Mathematics, 2(2):471–494, 1985.

[16] K. Murota. Computing Puiseux-series solutions to determinantal equations via combina-


torial relaxation. SIAM Journal on Computing, 19(6):1132–1161, 1990.

[17] K. Murota. Mixed matrices: irreducibility and decomposition. In R. A. Brualdi, S. Fried-


land, and V. Klee, editors, Combinatorial and Graph-Theoretical Problems in Linear Al-
gebra, volume 50 of The IMA Volumes in Mathematics and its Applications, pp. 39–71.
Springer, New York, NY, 1993.

[18] K. Murota. Combinatorial relaxation algorithm for the maximum degree of subdetermi-
nants: Computing Smith-McMillan form at infinity and structural indices in Kronecker
form. Applicable Algebra in Engineering, Communication and Computing, 6(4–5):251–273,
1995.

[19] K. Murota. Computing the degree of determinants via combinatorial relaxation. SIAM
Journal on Computing, 24(4):765–796, 1995.

[20] K. Murota. On the degree of mixed polynomial matrices. SIAM Journal on Matrix Analysis
and Applications, 20(1):196–227, 1998.

[21] K. Murota. Matrices and Matroids for Systems Analysis, volume 20 of Algorithms and
Combinatorics. Springer-Verlag, Berlin Heidelberg, 2010.

[22] K. Murota and M. Iri. Structural solvability of systems of equations —a mathematical


formulation for distinguishing accurate and inaccurate numbers in structural analysis of
systems—. Japan Journal of Applied Mathematics, 2:247–271, 1985.

[23] K. Murota, M. Iri, and M. Nakamura. Combinatorial canonical form of layered mixed
matrices and its application to block-triangularization of systems of linear/nonlinear equa-
tions. SIAM Journal on Algebraic and Discrete Methods, 8(1):123–149, 1987.

[24] T. Oki. Improved structural methods for nonlinear differential-algebraic equations via
combinatorial relaxation. In Proceedings of the 44th International Symposium on Symbolic
and Algebraic Computation (ISSAC ’19), New York, NY, 2019. ACM. To appear.

[25] J. G. Oxley. Matroid Theory. Oxford Graduate Texts in Mathematics. Oxford University
Press, New York, NY, 2nd. ed., 2011.

[26] C. C. Pantelides. The consistent initialization of differential-algebraic systems. SIAM


Journal on Scientific and Statistical Computing, 9(2):213–231, 1988.

32
[27] J. D. Pryce. A simple structural analysis method for DAEs. BIT Numerical Mathematics,
41(2):364–394, 2001.

[28] S. Sato. Combinatorial relaxation algorithm for the entire sequence of the maximum degree
of minors in mixed polynomial matrices. JSIAM Letters, 7:49–52, 2015.

[29] C. Shi. Linear Differential-Algebraic Equations of Higher-Order and the Regularity or


Singularity of Matrix Polynomials. PhD thesis, Technische Universität, Berlin, 2004.

[30] G. Tan, N. S. Nedialkov, and J. D. Pryce. Conversion methods for improving structural
analysis of differential-algebraic equation systems. BIT Numerical Mathematics, 57(3):845–
865, 2017.

[31] J. Unger, A. Kröner, and W. Marquardt. Structural analysis of differential-algebraic equa-


tion systems — theory and applications. Computers and Chemical Engineering, 19(8):867–
882, 1995.

[32] Wolfram Research, Inc. Numerical Solution of Differential-Algebraic Equations —


Wolfram Language Documentation, 2017. Retrieved September 27, 2017 from
http://reference.wolfram.com/language/tutorial/NDSolveDAE.html.

[33] X. Wu, Y. Zeng, and J. Cao. The application of the combinatorial relaxation theory on the
structural index reduction of DAE. In Proceedings of the 12th International Symposium on
Distributed Computing and Applications to Business, Engineering & Science, pp. 162–166.
IEEE, 2013.

33

You might also like