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
    • isvarname
    • mustBeA
    • mustBeColumn
    • mustBeFile
    • mustBeFinite
    • mustBeFloat
    • mustBeFolder
    • mustBeGreaterThan
    • mustBeGreaterThanOrEqual
    • mustBeInRange
    • mustBeInteger
    • mustBeLessThan
    • mustBeLessThanOrEqual
    • mustBeMember
    • mustBeNegative
    • mustBeNonempty
    • mustBeNonmissing
    • mustBeNonNan
    • mustBeNonnegative
    • mustBeNonpositive
    • mustBeNonsparse
    • mustBeNonzero
    • mustBeNonzeroLengthText
    • mustBeNumeric
    • mustBeNumericOrLogical
    • mustBePositive
    • mustBeReal
    • mustBeScalarOrEmpty
    • mustBeSparse
    • mustBeText
    • mustBeTextScalar
    • mustBeUnderlyingType
    • mustBeValidVariableName
    • mustBeVector
    • namedargs2cell
    • validateFunctionSignaturesJSON

mustBeVector — Validate that a value is vector-shaped.

mustBeVector is available as a callable MATLAB argument validator. It returns no user-facing value when validation passes and throws a structured RunMat error when validation fails. Validators with literal/static payloads are also encoded in MATLAB arguments blocks; dynamic validator payload expressions should call the validator directly until runtime-evaluated arguments-block payloads are implemented.

Syntax

mustBe*(A, ...)

Inputs

NameTypeRequiredDefaultDescription
AAnyYes—Value to validate.
BAnyVariadic—Additional validator-specific argument.

Errors

IdentifierWhenMessage
RunMat:validators:ValidationFailedA value does not satisfy the requested validator.argument validation failed
RunMat:validators:InvalidArgumentA validator receives an unsupported argument count or argument type.invalid argument validation input
RunMat:validators:ProviderOwnershipMismatchA resident value has no exact owning provider.argument validation: no acceleration provider owns the input
RunMat:validators:ProviderPayloadMismatchA resident value carries contradictory physical class metadata.argument validation: resident input has contradictory physical class metadata

How mustBeVector works

  • Callable validator forms enforce exact supported arity, throw on validation failure, and suppress automatic output on success.
  • The ordinary form accepts 1-by-N or N-by-1 arrays, including 0-by-1 and 1-by-0 integer vectors, and rejects multidimensional or other empty shapes from metadata without payload access.
  • The documented 'allow-all-empties' form additionally accepts every empty shape and is supported consistently by callable validation and MATLAB arguments blocks.
  • Arguments-block validation uses the same shared runtime predicates for validators that RunMat can encode statically.
  • Numeric validators check every element without materializing a cloned numeric array, including sparse stored values and implicit sparse zeros where relevant.
  • Text validators accept string scalars/arrays, character row vectors, and compatible cell arrays of text where MATLAB commonly permits them.

Examples

Using the validator as a normal callable guard

mustBeVector(A)

Expected output:

No output when validation passes; an error is thrown when validation fails.

Allow every empty shape

mustBeVector(A, "allow-all-empties")

Expected output:

No output when A is vector-shaped or empty; an error is thrown otherwise.

Using mustBeVector with coding agents

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

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

FAQ

Does this validator work in an arguments block?⌄

Yes for literal/static validator payloads that RunMat can encode at compile time. Dynamic validator payload expressions should use the callable form for now.

Related Argument Validation functions

isvarname · mustBeA · mustBeColumn · mustBeFile · mustBeFinite · mustBeFloat · mustBeFolder · mustBeGreaterThan · mustBeGreaterThanOrEqual · mustBeInRange · mustBeInteger · mustBeLessThan · mustBeLessThanOrEqual · mustBeMember · mustBeNegative · mustBeNonempty · mustBeNonmissing · mustBeNonNan · mustBeNonnegative · mustBeNonpositive · mustBeNonsparse · mustBeNonzero · mustBeNonzeroLengthText · mustBeNumeric · mustBeNumericOrLogical · mustBePositive · mustBeReal · mustBeScalarOrEmpty · mustBeSparse · mustBeText · mustBeTextScalar · mustBeUnderlyingType · mustBeValidVariableName · namedargs2cell · validateFunctionSignaturesJSON

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
  • Errors
  • How mustBeVector works
  • Examples
  • Using the validator as a normal callable guard
  • Allow every empty shape
  • Using mustBeVector with coding agents
  • FAQ
  • Related Argument Validation functions
  • About RunMat