# Creating a special Toeplitz matrix in R

I'd like to know if there is a standard way of creating a matrix like the one shown below using the R programming language.

$$\begin{bmatrix} 1 & \rho & \rho^2 & \cdots & \rho^{T-1}\\ \rho & 1 & \rho & \cdots & \rho^{T-2}\\ \rho^2 & \rho & 1 & \cdots & \rho^{T-3}\\ \vdots &\vdots &\vdots & \ddots & \vdots\\ \rho^{T-1} & \rho^{T-2} & \rho^{T-3} & \cdots & 1 \end{bmatrix}$$

The code I've been using to create matrices like this one is shown below.

For illustrative purposes, let rho = 0.8 and T = 20.

rho <- 0.8
t   <- 20
toeplitz(c(1, poly(rho, t-1, raw=TRUE)))


Although the output of this code does, indeed, produce the matrix of interest, I get the feeling that there's probably a better way of doing it.

Can this code snippet be improved - in the sense that there is a more elegant, more standard, more correct, or more efficient way of creating the matrix?

In this case, poly is probably too much trouble. You can just calculate the polynomial yourself with rho^seq.int(0, t-1). Altogether that gives
toeplitz(rho^seq.int(0, t-1))