int MAfTpSolve (const float R[], const float g[], float c[], int N)


Solve a Toeplitz set of equations


This routine solves the set of matrix equations

  R c = g

where R is an N by N symmetric Toeplitz matrix and c and g are N element column vectors. The Toeplitz matrix R has elements which are equal along the diagonals, i.e. R(i,j)=r(abs(i-j)).

This routine uses Levinson's method to calculate the solution. In the case that either numerical instability or an inappropriate set of matrix coefficients results in a matrix which is not positive definite or singular, an error code is returned.

This routine uses

    2N-1    divides, and
  2N^2-3N   multiplies and adds.

E. A. Robinson, "Multichannel time series analysis with digital computer programs", Holden-Day, 1967, p. 44.


<- int MAfTpSolve
Error flag, zero for no error. The return value is set to 1 if the matrix not positive definite.
-> const float R[]
Vector specifying the first column of the Toeplitz matrix
-> const float g[]
Righthand side vector
<- float c[]
Solution vector
-> int N
Number of equations

Author / revision

P. Kabal / Revision 1.6 2003/05/09

See Also


Main Index libtsp