## MAfTpSolve

#### Routine

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

#### Purpose

Solve a Toeplitz set of equations

#### Description

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.

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

#### Parameters

<- 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

MAfChSolve

Main Index libtsp