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