PDF version (NAG web site
, 64-bit version, 64-bit version)
NAG Toolbox: nag_linsys_real_toeplitz_solve (f04ff)
Purpose
nag_linsys_real_toeplitz_solve (f04ff) solves the equations , where is a real symmetric positive definite Toeplitz matrix.
Syntax
Description
nag_linsys_real_toeplitz_solve (f04ff) solves the equations
where
is the
by
symmetric positive definite Toeplitz matrix
and
is an
-element vector.
The function uses the method of Levinson (see
Levinson (1947) and
Golub and Van Loan (1996)). Optionally, the reflection coefficients for each step may also be returned.
References
Bunch J R (1985) Stability of methods for solving Toeplitz systems of equations SIAM J. Sci. Statist. Comput. 6 349–364
Bunch J R (1987) The weak and strong stability of algorithms in numerical linear algebra Linear Algebra Appl. 88/89 49–66
Cybenko G (1980) The numerical stability of the Levinson–Durbin algorithm for Toeplitz systems of equations SIAM J. Sci. Statist. Comput. 1 303–319
Golub G H and Van Loan C F (1996) Matrix Computations (3rd Edition) Johns Hopkins University Press, Baltimore
Levinson N (1947) The Weiner RMS error criterion in filter design and prediction J. Math. Phys. 25 261–278
Parameters
Compulsory Input Parameters
- 1:
– double array
-
The dimension of the array
t
must be at least
must contain the value , for .
Constraint:
. Note that if this is not true, then the Toeplitz matrix cannot be positive definite.
- 2:
– double array
-
The dimension of the array
b
must be at least
The right-hand side vector .
- 3:
– logical scalar
-
Must be set to true if the reflection coefficients are required, and must be set to false otherwise.
Optional Input Parameters
- 1:
– int64int32nag_int scalar
-
Default:
the dimension of the arrays
t,
b.
The order of the Toeplitz matrix .
Constraint:
. When , then an immediate return is effected.
Output Parameters
- 1:
– double array
-
The solution vector .
- 2:
– double array
-
The dimension of the array
p will be
if
and
otherwise
With
wantp as
true, the
th element of
p contains the reflection coefficient,
, for the
th step, for
. (See
Further Comments.) If
wantp is
false, then
p is not referenced.
- 3:
– int64int32nag_int scalar
unless the function detects an error (see
Error Indicators and Warnings).
Error Indicators and Warnings
Note: nag_linsys_real_toeplitz_solve (f04ff) may return useful information for one or more of the following detected errors or warnings.
Errors or warnings detected by the function:
Cases prefixed with W are classified as warnings and
do not generate an error of type NAG:error_n. See nag_issue_warnings.
-
-
- W
-
The principal minor of order
ifail of the Toeplitz matrix is not positive definite to working accuracy. The first (
) elements of
x return the solution of the equations
where
is the
th principal minor of
.
-
An unexpected error has been triggered by this routine. Please
contact
NAG.
-
Your licence key may have expired or may not have been installed correctly.
-
Dynamic memory allocation failed.
Accuracy
The computed solution of the equations certainly satisfies
where
is approximately bounded by
being a modest function of
,
being the
machine precision and
being the condition number of
with respect to inversion. This bound is almost certainly pessimistic, but it seems unlikely that the method of Levinson is backward stable, so caution should be exercised when
is ill-conditioned. The following bound on
holds:
(See
Golub and Van Loan (1996).) The norm of
may also be estimated using function
nag_linsys_real_gen_norm_rcomm (f04yd). For further information on stability issues see
Bunch (1985),
Bunch (1987),
Cybenko (1980) and
Golub and Van Loan (1996).
Further Comments
The number of floating-point operations used by nag_linsys_real_toeplitz_solve (f04ff) is approximately .
If
is the solution of the equations
then the partial correlation coefficient
is defined as the
th element of
.
Example
This example finds the solution of the equations
, where
Open in the MATLAB editor:
f04ff_example
function f04ff_example
fprintf('f04ff example results\n\n');
t = [4 3 2 1];
b = [1 1 1 1];
wantp = true;
[x, p, ifail] = f04ff(t, b, wantp);
disp('Solution vector');
disp(x');
disp('Reflection coefficients');
disp(p');
f04ff example results
Solution vector
0.2000 0.0000 -0.0000 0.2000
Reflection coefficients
-0.7500 0.1429 0.1667
PDF version (NAG web site
, 64-bit version, 64-bit version)
© The Numerical Algorithms Group Ltd, Oxford, UK. 2009–2015