American Journal of Computational Mathematics
Vol.04 No.05(2014), Article ID:51290,8 pages

Fast and Numerically Stable Approximate Solution of Trummer’s Problem

Mohammad M. Tabanjeh

Department of Mathematics and Computer Science, Virginia State University, Petersburg, USA


Copyright © 2014 by author and Scientific Research Publishing Inc.

This work is licensed under the Creative Commons Attribution International License (CC BY).

Received 9 September 2014; revised 10 October 2014; accepted 20 October 2014


Trummer’s problem is the problem of multiplication of an n × n Cauchy matrix C by a vector. It serves as the basis for the solution of several problems in scientific computing and engineering [1] . The straightforward algorithm solves Trummer’s problem in O(n2) flops. The fast algorithm solves the problem in O(nlog2n) flops [2] but has poor numerical stability. The algorithm we discuss here in this paper is the celebrated multipoint algorithm [3] which has been studied by Pan et al. The algorithm approximates the solution in O(nlogn) flops in terms of n but its cost estimate depends on the bound of the approximation error and also depends on the correlation between the entries of the pair of n-dimensional vectors defining the input matrix C.


Cauchy Matrix, Mulipoint Algorithm, Structure Matrices, Displacement Operators

1. Introduction

Computations with dense structured matrices have many applications in sciences, communications and engineering. The structure enables dramatic acceleration of the computations and major decrease in memory space but sometimes leads to numerical stability problems. The best well-known classes of structured matrices are Toeplitz, Hankel, Cauchy and Vandermonde matrices.

The computations with such matrices are widely applied in the areas of algebraic coding, control, signal processing, solution of partial differential equations and algebraic computing. For example, Toeplitz matrices arise in some major signal processing computations and the problem of multiplying Vandermonde matrix by a vector is equivalent to polynomial evaluation, whereas solving a Vandermonde system is equivalent to polynomial interpolation. Moreover, Cauchy matrices appear in the study of integral equations and conformal mappings. The complexity of computations with n × n dense structured matrices dramatically decreases in comparison with the general n × n matrices, that is, from the order of n2 words of storage space and arithmetic operations (ops) with in the best algorithms, to words of storage space and ops (see Table 1 below for more details).

2. Some Basic Definitions

Throughout this paper, we use the following notations; denotes the set of nonnegative integers, is the set of positive real numbers, Z+ denotes the set of positive integers, and R denotes the set of real numbers.

Definition 2.1. A matrix is a Toeplitz matrix if for every pair of its entries and. A matrix is a Hankel matrix if for every pair of its entries and.

Definition 2.2. For a given vector, the matrix of the form is called a Vandermonde matrix.

Definition 2.3. Given two vectors s and t such that for all i and j, the n × n matrix is a Cauchy (generalized Hilbert) where

For more details regarding the four classes of structured matrices, see Table 2 below.

Table 1. Parameter and flops count.

Table 2. General definition of the four classes of structured matrices.

Remark 2.1. It is quite easy to verify that TJ and JT are Hankel matrices if T is a Toeplitz matrix, and HJ and JH are Toeplitz matrices if H is a Hankel matrix where J is the following reflection matrix,


3. The Displacement Operators of Dense Structured Matrices

The concept of displacement operators and displacement rank which was introduced by T. Kailath, S. Y. Kung, and M. Morf in 1979 and studied by Pan, Bini, and other authors is one of the powerful tools for studying and dealing with matrices that have structure. The displacement rank approach, when it was initially introduced, was intended for more restricted use [4] , namely, to measure how “close” to Toeplitz a given matrix is. Then the idea turned out to be even more powerful, thus it was developed, generalized and extended to other structured matrices. In this section, we consider the most general and modern interpretation of the displacement of a matrix.

The main idea is, for a given structured matrix A, we need to find an operator L that transforms the matrix into a low rank matrix such that one can easily recover A from its image and operate with low rank matrices instead. Such operators that shift and scale the entries of the structured matrices turn out to be appropriate tools for introducing and defining the matrices of Toeplitz-like, Hankel-like, Vandermonde-like, and Cauchy-like types [5] .

Definition 3.1. For any fixed field such as the complex field and a fixed pair of operator matrices, we define the linear displacement operators of Sylvester type,

and Stein type,


The image of the operator L is called the displacement of the matrix A. The operators of Sylvester and Stein types can be transformed easily into one another if at least one of the two associated operator matrices is non-singular. The following theorem explains this fact.

Theorem 3.1. if the operator matrix M is non-singular, and if the op-

erator matrix N is non-singular.


The operator matrices that we will be using are the matrices Zf, , and where Zf, is the unit f-circulant matrix,

f is any scalar, is the transpose of Zf, and is a diagonal matrix with diagonal entries,

We may use the operator matrices Z1 and Z0 in the case of Toeplitz matrices, Z1 and in the case of Hankel matrices, Z0 and in the case of Vandermonde matrices, and and in the case of Cauchy matrices. However, there are other choices of operator matrices that can transform these matrices to low rank.

4. The Correlation of Structured Matrices to Polynomials

The product


represents the vector of the values of the polynomial on a node set

If is the vector of the nth roots of unity,


then the matrix and multipoint evaluation turns into discrete Fourier transform which takes only

ops and allows numerically stable implementation according to [6] . If we express in Equation (1) via Cauchy matrices we will get


Here, for denotes n × n diagonal matrix with diagonal entries.

Note that the numerical stability is very important in approximation algorithm for multipoint polynomial evaluation. It relies on expressing in terms of Cauchy matrices as in Equation (2). Clearly in Equation (2), the product by a vector has been reduced to ones with Cauchy, which brings us to Trummer’s problem, that is, the problem of multiplication of Cauchy matrix by a vector. Its solution by multipoint algorithm ([6] , pp. 261-262) leads to multipoint polynomial evaluation based on Equation (2) which is fast in terms of ops and numerically stable as it was proved by Pan.

We may vary the vector x by linearly mapping it to the vector where we can take and and b are any scalars.

5. New Transformation of Cauchy Matrices

As we mentioned earlier, Trummer’s problem is the problem of multiplication of an n × n Cauchy matrix C by a vector which is the basis for the solution of many important problems of scientific computing and engineering. The straightforward algorithm solves Trummer’s problem in flops. The fast algorithm solves the problem in flops but has poor numerical stability.

The algorithm we presenting in this paper approximates the solution in flops in terms of n. However, its cost estimate depends on the bound of the approximation error and on the correlation between the entries of the pair of n-dimensional vectors defining the input matrix C. This algorithm is numerically stable as we will see throughout this section and the next section.

The main goal in this paper is to enrich the power of the multipoint algorithm by introducing and proving some new expressions for Cauchy matrix via other Cauchy matrices [7] , which we may vary by changing one of their basis vectors. Under a certain choice of such a vector, the solution of Trummer’s problem will be simplified; thus, the power of the multipoint algorithm can be developed as we will see in the next section.

Therefore, we will achieve our goal by using a simple transformation of the useful basic formula of [8] , and the resulting expressions for C will give us further algorithmic opportunities.

Definition 5.1. For a pair of n-dimensional vectors, let,

, , for, for, denote the asso-

ciated n × n Cauchy, Vandermonde, and triangular Hankel matrices, respectively. For a vector with

for a Cauchy degenerate matrix has the diagonal entries zeros and the entry

for. Furthermore, denote the polynomial and its derivative

. Lastly,


denote a pair of n × n diagonal matrices, defined by the vectors a and b.

Theorem 5.1. (See [8] ) Let,. Then



The main idea of the transformation of the basic vectors defining the problem is taken from [9] , where this idea was used for multipoint polynomial evaluation and interpolation.

Definition 5.2. Trummer’s problem is the problem of computing the vector for three given vectors

, and where for all pairs i, j. Trummer’s degenerate problem is

the problem of computing the vector for two given vectors and where for.

Definition 5.3., where, is a primitive root of 1, , for.

Lemma 5.1. for.

Approximate solution of Trummer’s degenerate problem can be reduced to Trummer’s problem due to the next simple result.

Lemma 5.2. as, where is the vector filled with the values one and is a scalar parameter.

Proof: due to Lem-

ma 5.1.

6. Transformations of Cauchy Matrices and Trummer’s Problem

Theorem 6.1. For a triple of n-dimensional vector, , where, , for we have the following matrix equations:





Proof Theorem 6.1:

1) Proof of Equation (5):

From Equation (3), we obtain This is done by taking the inverse of Equation (3) and replacing the vectors c, d by b, d. Then substitute the equation

and Equation (3) for into the following matrix identity


This gives:

Clearly, the last one is just Equation (5).

2) Proof of Equation (6):

From Equation (4); replace the vector d by b, then we will get:


Then solve for;


Now substitute the last expression into Equation (5) and obtain the following:

which is obviously Equation (6).

3) Proof of Equation (7):

From Equation (4); first solve for to get:


replace to get:


Now, replace the vector d by b and obtain

. (9)

Since we have also.

Start with Equation (4) which is and replace the vector to

obtain, then use the equation to get:

Now replace in the last equation by (that is, use the identity)


This implies that which is Equation (7).

4) Proof of Equation (8):

From Equation (4): solve for and obtain

Expand Equation (4), and change and to get the equation: and take the transpose of both side of the last equation to get:

. (10)

Substitute Equation (10) and the matrix equation into Equation (7):

(this is from Equation (10))

which is Equation (8).

7. Approximate Stable Solutions of Trummer’s Problems

The algorithm we are studying and presenting in this section depends on the multipoint algorithm which approximates the solution of Trummer’s problem in ops in terms of n, and works efficiently for a large classes of input vectors but sometimes has problems with some of the input vectors, especially if the ratio of the input vectors is close to 1.

Recall, the power series expansion: this series converges whenever and has a sum.

The basis for the algorithm is the following expressions:


where and. Clearly this series converges whenever. Now for large M the expression approximates On the other hand can be also written as


Once again for large M the expression approximate.

The product of Cauchy matrix by a vector is. This is just Trummer’s problem. If we simplify this expression, we get the following approximations:


For any n × n Cauchy matrix, the approximation requires ops for all i and it is numerically stable.

If either of the ratios or is small, then the approximate error will be small for large M. However, there will be a problem whenever one of the ratios is close to 1, in this case, the error will be large.

8. Discussions and Conclusions

Recall the following two formulas from Section 5:

, (13)

. (14)

Equations (13) and (14) are Vandermonde-free and Hankel-free, but they enable us to transform the basis vectors s and t for into the two pairs of basis vectors s, q and q, t for any choice of the vector, , ,. Then Trummer’s problem is reduced to the evaluation of the diagonal matrices, and/or for, , , , and/or and also reduced to recursive multiplication of the above matrices and and by vectors.

To compute the matrices, and for given in general, we first compute the coefficients of the polynomial and then

And,. We compute the coefficients by simply pairwise multiply the linear factors first and then, recursively, the computed products. The computation is numerically stable and uses ops. Multipoint polynomial evaluation can be computed in arithmetic operations (ops), but it is not numerically stable; therefore the fast and numerically stable approximation techniques of [10] can be used instead. If we choose any vector, we will simplify the evaluation of the matrices

For example, if


is the scaled nth roots of unity for a scalar a and, where Then

and the matrices and can be immediately evaluated in flops. In addition, any polynomial of degree n can be evaluated at the scaled nth roots of 1 in ops by means of Fast Fourier Transform (FFT). Trummer’s problem is the multiplication of by a vector or by a vector. Its solution can be simplified under appropriate choice of the vector q. One way to do it is to restrict q to the above choice in Equation (15). Even with this particular choice, yet the scalar a allows faster convergence of the power series of the Multipole Algorithm presented in Section 7. This can be extended to the Equations (5) and (7). On the other hand, one can linearly map the vector q into, where, and and b are any scalars. In addition, the computations of the diagonal matrices will be simplified if our choice of the vector q is the scaled nth root of unity.

Remark 8.1. Trummer’s problem frequently arises for Cauchy degenerate matrices that are defined as fol-

lows:, , for all pairs of distinct i and j.

We have

where, , is a scalar parameter. Hence,

because for.


We thank the Editor and referees for their valuable comments.


  1. Rokhlin, V. (1985) Rapid Solution of Integral Equations of Classical Potential Theory. Journal of Computational Physics, 60, 187-207.
  2. Gerasoulis, A. (1987) A Fast Algorithm for the Multiplication of Generalized Hilbert Matrices with Vectors. Mathematics of Computation, 50, 179-188.
  3. Greengard, L. and Rokhlin, V. (1987) A Fast Algorithm for Practice Simulation. Journal of Computational Physics, 73, 325-348.
  4. Pan, V.Y., Zheng, A., Huany, X. and Yu, Y. (1995) Fast Multipoint Polynomial Evaluation and Interpolation via Computation with Structured Matrices. Annals of Numerical Mathematics, 4, 483-510.
  5. Pan, V.Y. (2001) Structured Matrices and Polynomials, Unified Superfast Algorithms. Birkhäuser, Boston.
  6. Bini, D. and Pan, V.Y. (1994) Polynomial and Matrix Computations, Volume 1: Fundamental Algorithms. Birkhäuser, Boston.
  7. Pan, V.Y., Tabanjeh, M., Chen, Z., Landowne, E. and Sadikou, A. (1998) New Transformations of Cauchy Matrices and Trummer’s Problem. Computers & Mathematics with Applications, 35, 1-5.
  8. Fink, T., Heinig, G. and Rost, K. (1993) An Inversion Formula and Fast Algorithms for Cauchy-Vandermonde Matrices. Linear Algebra & Its Applications, 183, 179-191.
  9. Pan, V.Y., Landowne, E., Sadikou, A. and Tiga, O. (1993) A New Approach to Fast Polynomial Interpolation and Multipoint Evaluation. Computers & Mathematics with Applications, 25, 25-30.
  10. Pan, V.Y. (1995) An Algebraic Approach to Approximate Evaluation of a Polynomial on a Set of Real Points. Advances in Computational Mathematics, 3, 41-58.