Abstract
Full Text
UDC 512.831 + .25/26 + 519.3:330.115
MATHEMATICS
A. B. GRIBOV
A METHOD OF RECURRENT RECALCULATION OF THE CHARACTERISTIC POLYNOMIAL
(Presented by Academician L. V. Kantorovich on 6 II 1967)
This note sets forth a method for computing the characteristic polynomial for a matrix that differs in one column from a matrix with a known characteristic polynomial. Changes of matrices of this kind are characteristic, for example, of numerical methods of linear programming. Since any matrix can be obtained from the identity matrix by successive replacement of columns, this method is also applicable to finding the characteristic polynomial of an arbitrary matrix.
Let the characteristic polynomial of a matrix \(A\) of order \(m\) be known:
\[ |A - tE| = \alpha_m t^m + \ldots + \alpha_1 t + \alpha_0 \]
and suppose it is required to determine the characteristic polynomial of a matrix \(B\), differing from \(A\) in the \(s\)-th column.
It is easy to verify, using the Cayley—Hamilton relation, that
\[ (A - tE)^{-1} = -\frac{1}{\gamma_0}\bigl(\gamma_m A^{m-1} + \ldots + \gamma_2 A + \gamma_1 E\bigr), \tag{1} \]
where
\[ \gamma_i = \sum_{j=i}^{m} \alpha_j t^{\,j-i}, \qquad i = 0, \ldots, m. \]
For an arbitrary matrix \(C\), denote by \(C_{\cdot k}\) its \(k\)-th column, and by \(C_{k\cdot}\) its \(k\)-th row. For an arbitrary vector \(C\), denote by \(C_k\) its \(k\)-th coordinate.
Consider the system
\[ (A - tE)X = B_{\cdot s} - tE_{\cdot s}. \tag{2} \]
We have \(X = (A - tE)^{-1}(B_{\cdot s} - tE_{\cdot s})\) and, in particular, \(X_s = (A - tE)_{s\cdot}^{-1} \times (B_{\cdot s} - tE_{\cdot s})\). On the other hand (Cramer’s formula),
\[ X_s = \frac{|B - tE|}{|A - tE|}. \]
Thus,
\[ |B - tE| = |A - tE|\,(A - tE)_{s\cdot}^{-1}(B_{\cdot s} - tE_{\cdot s}). \tag{3} \]
Using (1) and the fact that \(\gamma_0 = |A - tE|\), we rewrite (3) in the form
\[ |B - tE| = \bigl(\gamma_m A^{m-1} + \ldots + \gamma_2 A + \gamma_1 E\bigr)_{s\cdot}(tE_{\cdot s} - B_{\cdot s}). \]
Introducing the notation \(G^{(1)} = A_{\cdot s} - B_{\cdot s}\), \(G^{(i)} = AG^{(i-1)}\), \(i = 2, \ldots\), we obtain
\[ |B - tE| = \beta_m t^m + \ldots + \beta_1 t + \beta_0, \]
where
\[ \beta_i = \alpha_i + \sum_{j=i+1}^{m} \alpha_j G_s^{(j-i)}, \qquad i = 0, \ldots, m. \tag{4} \]
The computational scheme (implementation of formulas (4)) may have the following form:
1) Set \(\beta_i^{(0)} = \alpha_i,\ i = 0, \ldots, m\).
2) Compute the vector \(G^{(1)} = A_{\cdot s} - B_{\cdot s}\).
3) Compute \(\beta_i^{(1)} = \beta_i^{(0)} + \alpha_{i+1}\times G_s^{(1)},\quad i = 0,\ldots,m-1.\)
4) Compute the vector \(G^2 = AG^{(1)}\).
. . . . . . . . . . . . . . . . . . . . . . . . .
\(2j+1)\) Compute \(\beta_i^{(j)} = \beta_i^{(j-1)} + \alpha_{i+j}\times G_s^{(j)},\quad i = 0,\ldots,m-j.\)
\(2j)\) Compute the vector \(G^{(j+1)} = AG^{(j)}\).
. . . . . . . . . . . . . . . . . . . . . . . . .
\(2m+1)\) Compute \(\beta_0^{(m)} = \beta_0^{(m-1)} + \alpha_m\times G_s^{(m)}.\)
The desired coefficients \(\beta_i\) should be taken to be \(\beta_i^{(m-i)}\).
Computation of the characteristic polynomial of the matrix
\[ \left[ \begin{array}{rrrr} -5.509882 & 1.870086 & 0.422908 & 0.008814\\ 0.287865 & -11.811654 & 5.711900 & 0.058717\\ 0.049099 & 4.308033 & -12.970687 & 0.229326\\ 0.006235 & 0.269851 & 1.397369 & -17.596207 \end{array} \right] \]
by the scheme presented gave the following result:
\[ t^4 + 47.8884300t^3 + 797.278765t^2 + 5349.45552t + 12296.5505. \]
An example and results obtained by other methods can be found in \((^1)\).
In general, construction of the characteristic polynomial requires \(m\)-fold application of the described scheme, for which it is necessary to carry out \(^{1}\!/\!_{2}m^4 - m^3 + {}^{3}\!/\!_{2}m^2 - m\) multiplications.
The method described can be used in numerical methods of linear programming. In solving large-scale linear programming problems, one usually applies the modified simplex method or its variants \((^2)\). In this case difficulties arise in storing in the computer memory the matrix \(A^{-1}\) (the matrix \(A\) is formed by the basic vectors), or arrays from which \(A^{-1}\) can be reconstructed. Knowledge of the coefficients of the characteristic polynomial of the matrix \(A\) makes it possible to represent \(A^{-1}\) as a polynomial in \(A\)
\[ A^{-1}=-\frac{1}{\alpha_0}\left(\alpha_m A^{m-1}+\ldots+\alpha_2 A+\alpha_1 E\right) \tag{5} \]
(see (1) for \(t=0\)) and to reduce to a minimum the information required for reconstructing \(A^{-1}\). In this case the transition to the next iteration of the simplex method is associated with a single computation according to the indicated scheme.
It should be noted that reconstruction of \(A^{-1}\) is not in fact required, since what is needed is not \(A^{-1}\) itself, but the solution of some system of the form \(AX=Y\). To obtain this solution it is sufficient to use Horner’s scheme in the expression
\[ X=-\frac{1}{\alpha_0}\left(\alpha_m A^{m-1}+\ldots+\alpha_2 A+\alpha_1 E\right)Y. \tag{6} \]
It should also be taken into account that large linear programming problems are characterized by sparse occupancy and special structure. In such problems, computations by formula (6) make it possible to achieve a considerable reduction in computing time.
Received19 I 1967
REFERENCES
\(^1\) D. K. Faddeev, V. N. Faddeeva, Computational Methods of Linear Algebra, 1963. \(^2\) G. Sh. Rubinshtein, in: Optimal Planning, vol. 2, Algorithms, Novosibirsk, 1964.