RunMat
  • Pricing
RunMat
GitHub
GitHub
DownloadSign InTry in Browser
DesktopRuntimeServer
RunMat

Run math blazing fast

GitHubX (Twitter)LinkedIn

Company

  • About
  • Pricing
  • Contact

Explore

  • RunMat for academia
  • RunMat vs MATLAB Online
  • Benchmarks

Get product updates and release notes from the RunMat team.

© 2026 Dystr · Made withfor the scientific community.

RunMat™ is a registered trademark of Dystr, Inc. MATLAB® is a registered trademark of The MathWorks, Inc. RunMat is not affiliated with, endorsed by, or sponsored by The MathWorks, Inc.

LicensePrivacy
/
See all docs
Builtin Reference
    • blkdiag
    • cat
    • circshift
    • diag
    • flip
    • fliplr
    • flipud
    • horzcat
    • ipermute
    • kron
    • permute
    • repelem
    • repmat
    • reshape
    • rot90
    • squeeze
    • toeplitz
    • tril
    • triu
    • vertcat

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
rAnyYes—First row for the symmetric or Hermitian Toeplitz matrix.
cAnyYes—First column.
rAnyYes—First 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 single, double, and all eight native integer classes are preserved exactly. Two integer inputs must use the same class; mixed integer classes and integer/floating mixtures are rejected instead of being silently converted.
  • Complex single and complex double inputs preserve their floating precision. With RunMat extensions enabled, native complex-integer storage is copied exactly when both components use one integer class.
  • Resident inputs gather only when the provider lacks a direct construction path, and the result is restored through the provider that owns the input.
  • 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

Creation

colon · createArray · empty · eye · false · 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.

  • 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.

Getting started · Benchmarks · Pricing

Download RunMat

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

Download RunMatOpen Sandbox
On this page
  • Syntax
  • Inputs
  • Returns
  • Errors
  • How toeplitz works
  • Examples
  • Symmetric Toeplitz matrix
  • Separate first column and first row
  • Using toeplitz with coding agents
  • Related Array functions
  • Shape
  • Grouping
  • Sorting Sets
  • Creation
  • Indexing
  • Introspection
  • Open-source implementation
  • About RunMat