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

NameTypeRequiredDefaultDescription
rAnyYesFirst row for the symmetric or Hermitian Toeplitz matrix.
cAnyYesFirst column.
rAnyYesFirst row.

Returns

NameTypeDescription
TAnyToeplitz matrix with constant diagonals.

Errors

IdentifierWhenMessage
RunMat:toeplitz:InvalidInputInputs are not vector-valued real or complex numeric arrays.toeplitz: invalid input
RunMat:toeplitz:InternalOutput 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) and r(1) differ.
  • Matching dense real tensor classes single, double, uint8, uint16, and uint32 are 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.

Shape

blkdiag · cat · circshift · diag · flip · fliplr · flipud · horzcat · ipermute · kron · permute · repelem · repmat · reshape · rot90 · squeeze · tril · triu · vertcat

Creation

colon · eye · false · fill · full · inf · linspace · logspace · magic · meshgrid · nan · nchoosek · ndgrid · nonzeros · ones · peaks · perms · rand · randi · randn · randperm · range · sparse · spdiags · speye · spones · sprand · true · zeros

Indexing

find · ind2sub · sub2ind

Introspection

iscolumn · isempty · ismatrix · isrow · isscalar · isvector · length · ndims · numel · size

Open-source implementation

Unlike proprietary runtimes, every RunMat function is open-source. Read exactly how toeplitz is executed, line by line, in Rust.

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.

Getting started · Benchmarks · Pricing

Download RunMat

Download RunMat for full performance, or use RunMat in your browser for zero setup.