An effective algorithm of computing symbolic determinants with multivariate polynomial entries

https://doi.org/10.1016/j.amc.2007.03.015Get rights and content

Abstract

An algorithm for computing the determinant of a matrix whose entries are multivariate polynomials is presented. It converts a multivariate matrix to an univariate matrix such that one only computes the determinant of univariate matrix. Experimental results show that this algorithm can efficiently reduce the intermediate expression expansion appearing in the computation of determinants of multivariate matrices.

Introduction

The computation of determinants of matrices whose entries are multivariate polynomials is very common in different problems of computer algebra such as solving systems of polynomial equations [22], computing multipolynomial resultants [12], [17], [18], [4], [14], implicitizing curves and surfaces [1], [19], computing the pseudo-remainder of multivariate polynomials [13] and so on. Other applications are connected with the computation of generating functions for flow graphs [16], symbolic analysis of large analog circuits [21], analysis and design of control systems via polynomial approach [8]. There are several methods for calculating the determinant of an matrix with numerical entries, such as expansion by minors, Gaussian elimination. Most of these methods can be applied to matrices with symbolic entries, however, they often require significantly more time than their numerical counterparts. Therefore, in symbolic computation, the calculation of a determinant is not that straightforward problem as it seems. Even with the powerful computers, it is still a troublesome task with many constraints and obstacles. This is because that unlike numerical determinant, symbolic determinant is not a numerical value but a symbolic expression, which makes a huge difference. In fact, symbolic determinant is “fabricated”, while numerical determinant is not a sequential calculation process of values but elaborately organized manipulations on symbols. Thus, the selection of an efficient algorithm becomes very important. In 1990, Zippel [23] presented a probabilistic algorithm for interpolation, which does not expect any information about the non-zero terms of the polynomial being interpolated. It expects only a bound on the degree of each variable in any monomial. Such a bound is easy to compute for a symbolic determinant. Though it is not a complete algorithm, it is very efficient to evaluate the determinant of symbolic matrix. So, many people devote themselves to improve this algorithm. Based on Wiedemann’s approach, a new algorithm, which can removes divisions from the determinant problem even when the entries are field elements, is proposed by Kaltofen (1992) in [10]. And it just needs O(n3nlognloglogn) ring operations. An improved version that combines the blocked determinant algorithm with the elimination of divisions technique of Kaltofen (1992) has also been presented in [11]. In addition, A permutation algorithm of computing determinants is described in [3], which is based on the definition of determinant. However, this method is still quite restricted by the memory of computer. Besides these methods mentioned above, a special numerical algorithm based on FFT has been given by Hromcik and Sebek in [8], which appears much faster than the general-purpose symbolic procedure built in some algebraic systems. However, it is well known that numerical computation is different from symbolic computation. Since we are just interested in exact computation, in this paper we just consider symbolic method for computing the determinants of symbolic matrices. In [5], [7], an analysis of computational complexity are given. According to those analytic results, compared with the computation of determinant of a multivariate matrix, the computation of determinant of an univariate matrix is much easier to be computed by existing algorithm such as fraction-free Gaussian elimination [9], [2]. we think the reason is that in contrast with multivariate setting, the intermediate expression expansion in the computation of determinant of univariate matrix is not very serious and the Gaussian elimination can be efficiently performed, as it is the case for numeric matrices. In this paper, we will show how a given multivariate matrix can be converted to an univariate matrix. Thus, we only need to compute the determinant of an univariate matrix. Finally, we will also show how we can recover all the variables that appear in multivariate matrix from the determinant of univariate matrix. The new algorithm effectively reduces intermediate expression expansion, so it can efficiently compute the determinants of polynomial matrices.

The rest of the paper is organized as follows: In Section 2, we give some basic notations first, and main results are also presented. In Section 3, experimental platform of our algorithm is described, leaving to Section 4 some comparisons of our algorithm with the Maple command det. Finally Section 5 summarizes some important properties of our approach.

Section snippets

Some notations and main results

Consider polynomials in n variables x1,,xn with coefficients in an arbitrary field K. We simplify the notation for monomials in K[x] as follows: let α=(α1,,αn) be an n-tuple of non-negative integers. Then we setxα=x1α1x2α2xnαn.When α=(0,,0), note that xα=1. We also let α=i=1nαi denote the total degree of monomial xα. For any polynomial fK[x], the total degree of f is denoted by deg(f,x), the degree of f in xi is denoted by deg(f,xi) for i=1,,n.

Given fK[x], let ci=deg(f,yi) such that c1

Implementation

The described algorithm has been implemented in the Maple programming program named fdet. Special features of the Maple language, including useful operations for polynomials, enabled the code brief and clear.

Experimental testing

Many tests have been carried out to compare performance of our algorithm with the function det in Maple. Here, in order to compute the determinant of an univariate matrix, we directly use this function det in Maple. Our algorithm has been implemented as a Maple mws-file and all the computations were performed in Maple 10 on a PC (Pentium 566 MHz CPU, 256Mb of main memory).

For any a 6 × 6 symbolic matrix with polynomial entries of 3 variables and 4 degrees produced by the Maple,

  • A  array(1..6,1..6):

Conclusion

In this paper, we have presented a new approach to compute the determinant of a multivariate matrix. The key step of our algorithm is to convert a multivariate matrix to an univariate matrix. Then, we just deal with an univariate matrix. The algorithm is completely deterministic in nature, i.e. it does not contain any probabilistic step. In addition, our method can also be speeded by using modular techniques [18] and parallel algorithm [20].

References (23)

  • W.M. Gentleman et al.

    Analysis of algorithms, a case study: determinants of matrices with polynomial entries

    ACM Trans. Math. Software

    (1976)
  • Cited by (5)

    This work is partially supported by NKBRPC-2004CB318003.

    View full text