An effective algorithm of computing symbolic determinants with multivariate polynomial entries☆
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 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 with coefficients in an arbitrary field K. We simplify the notation for monomials in as follows: let be an n-tuple of non-negative integers. Then we setWhen , note that . We also let denote the total degree of monomial xα. For any polynomial , the total degree of f is denoted by , the degree of f in xi is denoted by for .
Given , let such that
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():
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)
- et al.
An implicitization algorithm for rational surfaces with no base points
J. Symbolic Comput.
(2001) - et al.
Efficient incremental algorithms for the sparse resultant and the mixed volume
J. Symbolic Comput.
(1995) An alternative algorithm for computing the pseudo-remainder of multivariate polynomials
Appl. Math. Comput.
(2006)A new approach for constructing subresultants
Appl. Math. Comput.
(2006)- et al.
Multipolynomial resultant algorithms
J. Symbolic Comput.
(1993) - et al.
Using polynomial interpolation for implicitizing algebraic curves
Comput. Aided Geom. Des.
(2001) - et al.
Parallel computation of determinants of matrices with polynomial entries
J. Symbolic Comput.
(2004) Interpolation polynomials from their values
J. Symbolic Comput.
(1990)Sylvester’s identity and multistep integer-preserving Gaussian elimination
Math. Comput.
(1968)- W.S. Dong, The permutation algorithm for non-sparse matrix determinant in symbolic computation, in: Proceedings on the...
Analysis of algorithms, a case study: determinants of matrices with polynomial entries
ACM Trans. Math. Software
Cited by (5)
An effective hybrid algorithm for computing symbolic determinants
2009, Applied Mathematics and ComputationBezout matrices, Subresultant polynomials and parameters
2009, Applied Mathematics and ComputationParallel computation of determinants of matrices with multivariate polynomial entries
2013, Science China Information SciencesSum of non-concave utilities maximization for MIMO interference systems
2013, IEEE Transactions on Wireless CommunicationsA cutting-plane method for mixed-logical semidefinite programs with an application to multi-vehicle robust path planning
2010, Proceedings of the IEEE Conference on Decision and Control
- ☆
This work is partially supported by NKBRPC-2004CB318003.