#### Previous topic

scipy.linalg.solve_triangular

#### Next topic

scipy.linalg.det

# scipy.linalg.solve_toeplitz

`scipy.linalg.``solve_toeplitz`(c_or_cr, b, check_finite=True)

  Solve a Toeplitz system using Levinson Recursion

  The Toeplitz matrix has constant diagonals, with c as its first column and r as its first row. If r is not given, `r == conjugate(c)` is assumed.

  Parameters:

  c_or_cr : array_like or tuple of (array_like, array_like)

  > The vector `c`, or a tuple of arrays (`c`, `r`). Whatever the actual shape of `c`, it will be converted to a 1-D array. If not supplied, `r = conjugate(c)` is assumed; in this case, if c[0] is real, the Toeplitz matrix is Hermitian. r[0] is ignored; the first row of the Toeplitz matrix is `[c[0], r[1:]]`. Whatever the actual shape of `r`, it will be converted to a 1-D array.

  b : (M,) or (M, K) array_like

  > Right-hand side in `T x = b`.

  check_finite : bool, optional

  > Whether to check that the input matrices contain only finite numbers. Disabling may give a performance gain, but may result in problems (result entirely NaNs) if the inputs do contain infinities or NaNs.

  Returns:

  x : (M,) or (M, K) ndarray

  > The solution to the system `T x = b`. Shape of return matches shape of b.

  Notes

  The solution is computed using Levinson-Durbin recursion, which is faster than generic least-squares methods, but can be less numerically stable.