toeplitz — Construct a Toeplitz matrix from first-column and first-row vectors.
toeplitz(r) constructs a square Toeplitz matrix from first row r. toeplitz(c,r) uses c as the first column and r as the first row.
Syntax
T = toeplitz(c)
T = toeplitz(c, r)Inputs
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
r | Any | Yes | — | First row for the symmetric or Hermitian Toeplitz matrix. |
c | Any | Yes | — | First column. |
r | Any | Yes | — | First row. |
Returns
| Name | Type | Description |
|---|---|---|
T | Any | Toeplitz matrix with constant diagonals. |
Errors
| Identifier | When | Message |
|---|---|---|
RunMat:toeplitz:InvalidInput | Inputs are not vector-valued real or complex numeric arrays. | toeplitz: invalid input |
RunMat:toeplitz:Internal | Output allocation or gpuArray gather fails. | toeplitz: internal error |
How toeplitz works
- Accepts real or complex scalar and vector inputs.
- One-input real calls produce a symmetric Toeplitz matrix from the supplied first row.
- One-input complex calls use the supplied vector as the first row, conjugate the off-diagonal first column, and keep the main diagonal at
r(1). - Two-input calls use the first column value for the main diagonal when
c(1)andr(1)differ. - Matching dense real tensor classes
single,double,uint8,uint16, anduint32are preserved. - Matrix and nonnumeric inputs raise errors.
Examples
Symmetric Toeplitz matrix
T = toeplitz([1 2 3])Expected output:
T = [1 2 3; 2 1 2; 3 2 1]Separate first column and first row
T = toeplitz([1 2 3], [9 4])Expected output:
T = [1 4; 2 1; 3 2]Using toeplitz with coding agents
Open a RunMat example with live inputs, then ask the agent to explain how toeplitz changes the result.
Run a small toeplitz example, explain the result, then change one input and compare the output.
Related Array functions
Shape
blkdiag · cat · circshift · diag · flip · fliplr · flipud · horzcat · ipermute · kron · permute · repelem · repmat · reshape · rot90 · squeeze · tril · triu · vertcat
Grouping
accumarray · combinations · discretize · findgroups · groupcounts · grp2idx · splitapply
Sorting Sets
argsort · intersect · ismember · ismembertol · issorted · issortedrows · setdiff · setxor · sort · sortrows · union · unique
Open-source implementation
Unlike proprietary runtimes, every RunMat function is open-source. Read exactly how toeplitz is executed, line by line, in Rust.
- View the source for toeplitz in Rust on GitHub
- Learn how the RunMat runtime works
- Found a bug? Open an issue with a minimal reproduction.
About RunMat
RunMat is an open-source runtime that executes MATLAB-syntax code blazing on any GPU. It is licensed under the Apache 2.0 license.
- RunMat automatically optimizes your math for GPU execution on Apple, Nvidia, and AMD hardware. No code changes needed. Simulations that took hours now take minutes.
- Start running code in seconds. RunMat runs in the browser, on the desktop, or from the CLI. No license server, no IT ticket.