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
    • damp
    • db
    • dcgain
    • feedback
    • impulse
    • isstable
    • lqr
    • nyquist
    • pole
    • pzmap
    • rlocus
    • ss
    • step
    • stepinfo
    • tf
    • zero

pole — Return poles of transfer-function and state-space control models.

pole(sys) returns the roots of the denominator polynomial for a supported SISO tf model, or the eigenvalues of the state matrix for an ss model.

Syntax

p = pole(sys)

Inputs

NameTypeRequiredDefaultDescription
sysAnyYes—SISO tf model or ss state-space model.

Returns

NameTypeDescription
pAnyPoles of the SISO tf or ss model as a column vector.

Errors

IdentifierWhenMessage
RunMat:pole:InvalidModelInput system is not a valid SISO tf or ss object.pole: invalid model
RunMat:pole:UnsupportedModelModel form is unsupported.pole: unsupported model
RunMat:pole:InvalidArgumentModel metadata or arguments are malformed.pole: invalid argument
RunMat:pole:InternalRoot calculation or output construction failed.pole: internal error

How pole works

  • Documented positive-integer model-array subscripts are structural; RunMat currently supports singular tf and ss objects, so broader model-array calls reject before selector conversion.
  • Supports SISO tf objects.
  • Supports ss state-space objects by computing eigenvalues of A.
  • Returns an N x 1 real vector when all poles are real.
  • Returns an N x 1 complex vector when any pole has a nonzero imaginary part.
  • Static-gain models return an empty pole vector.

GPU memory and residency

pole returns host-resident vectors.

Example

Second-order poles

H = tf(1, [1 3 2]);
pole(H)

Expected output:

ans = [-1; -2]

How RunMat validates pole

pole validates the input model and computes denominator roots or state-matrix eigenvalues through shared control model helpers. Tests cover real, repeated, complex-conjugate, and state-space poles plus VM integration.

  • Implementation: `crates/runmat-runtime/src/builtins/control/pole.rs`

See Correctness & Trust for the full methodology and coverage table.

Using pole with coding agents

Open a RunMat example with live inputs, then ask the agent to explain how pole changes the result.

Run a small pole example, explain the result, then change one input and compare the output.

FAQ

Does pole cancel pole-zero pairs?⌄

No. It returns roots of the stored denominator polynomial for the supplied model.

Related Control functions

damp · db · dcgain · feedback · impulse · isstable · lqr · nyquist · pzmap · rlocus · ss · step · stepinfo · tf · zero

Open-source implementation

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

  • View the source for pole 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 pole works
  • GPU memory and residency
  • Example
  • Second-order poles
  • How RunMat validates pole
  • Using pole with coding agents
  • FAQ
  • Related Control functions
  • Open-source implementation
  • About RunMat