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

Run math blazing fast

GitHubX (Twitter)LinkedIn

Company

  • About
  • Pricing
  • Contact
  • License
  • Privacy

Learn

  • Docs
  • Blog
  • Benchmarks
  • RunMat vs MATLAB Online

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.

/
See all docs
Builtin Reference
    • acos
    • acosh
    • asin
    • asinh
    • atan
    • atan2
    • atanh
    • cos
    • cosd
    • cosh
    • cospi
    • deg2rad
    • pol2cart
    • rad2deg
    • sin
    • sind
    • sinh
    • sinpi
    • tan
    • tand
    • tanh

sinh — Compute element-wise hyperbolic sine values across real and complex array inputs.

Y = sinh(X) computes hyperbolic sine element-wise for scalar, vector, matrix, and N-D data. Complex inputs are supported with MATLAB-compatible numeric behavior.

Syntax

Y = sinh(X)

Inputs

NameTypeRequiredDefaultDescription
XAnyYes—Input scalar, array, char array, complex value, or gpuArray.

Returns

NameTypeDescription
YAnyElement-wise hyperbolic sine result.

Errors

IdentifierWhenMessage
RunMat:sinh:InvalidInputInput cannot be interpreted as supported numeric/char/complex data.sinh: invalid input
RunMat:sinh:InternalInternal gather/conversion/allocation/provider flow failed.sinh: internal error

How sinh works

  • Works on scalars, vectors, matrices, and N-D tensors with MATLAB broadcasting semantics.
  • The compatibility target's documented input classes are single and double. Integer, logical, and character inputs are independently gated RunMat extensions and produce double results.
  • Complex inputs follow the analytic definition sinh(a + bi) = sinh(a)cos(b) + i·cosh(a)sin(b), propagating NaN/Inf components independently.
  • Character arrays are converted to their numeric code points prior to evaluation, returning double arrays of the same size.
  • Empty arrays return empty results that respect MATLAB’s shape semantics.

Does RunMat run sinh on the GPU?

When RunMat Accelerate is active, tensors that already reside on the GPU stay there. Providers that implement unary_sinh execute the operation entirely on the device (and fused elementwise kernels can inline sinh as part of a larger expression). If the active provider lacks this hook, RunMat gathers the data back to the host, computes the result, and re-uploads only when later operations require GPU residency.

GPU memory and residency

You usually do not need to call gpuArray explicitly. The fusion planner keeps tensors on the GPU whenever the active provider exposes the necessary kernels (such as unary_sinh). Manual gpuArray / gather calls remain supported for MATLAB compatibility or when you need to pin residency before interacting with external code.

Examples

Compute the hyperbolic sine of a scalar value

y = sinh(1)

Expected output:

y = 1.1752

Apply sinh to each element of a vector

x = linspace(-1, 1, 5);
y = sinh(x)

Expected output:

y = [-1.1752 -0.5211 0 0.5211 1.1752]

Evaluate sinh on a matrix

A = [0 1; 2 3];
B = sinh(A)

Expected output:

B = [0 1.1752; 3.6269 10.0179]

Compute the hyperbolic sine on the GPU

G = gpuArray([0.25 0.5; 0.75 1.0]);
result_gpu = sinh(G);
result = gather(result_gpu)

Expected output:

result = [0.2526 0.5211; 0.8223 1.1752]

Work with complex inputs

z = 1 + 2i;
w = sinh(z)

Expected output:

w = -0.4891 + 1.4031i

Using sinh with coding agents

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

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

FAQ

When should I use sinh?⌄

Use sinh for hyperbolic sine transformations, signal-processing workflows, and analytic continuations where the hyperbolic trigonometric family is required.

Does sinh work with complex numbers?⌄

Yes. The real and imaginary parts are evaluated using the analytic definition sinh(a + bi) = sinh(a)cos(b) + i·cosh(a)sin(b).

What happens if the provider does not implement unary_sinh?⌄

RunMat gathers the GPU tensor to host memory, performs the computation on the CPU, and leaves the result on the host unless later operations require GPU residency.

Can sinh participate in fusion?⌄

Yes. The fusion planner can inline sinh inside elementwise groups, generating WGSL kernels that execute directly on the GPU.

Does sinh respect MATLAB broadcasting rules?⌄

It operates elementwise and therefore respects the same scalar-expansion (broadcasting) semantics as other MATLAB math functions in RunMat.

Are integers preserved?⌄

Integer input is available only in runmat compatibility mode and produces double output. Values that cannot cross the binary64 computation boundary exactly reject instead of being silently rounded.

How does sinh handle NaN or Inf values?⌄

Hyperbolic functions propagate NaN and Inf components consistently with MATLAB. For complex inputs, each component is treated independently.

Can I combine sinh with other hyperbolic functions?⌄

Yes. sinh, cosh, and tanh will share the same residency rules. Fused expressions can include any combination of elementwise builtins.

Is there a GPU warmup penalty?⌄

Providers may warm up pipelines during initialization. If unary_sinh is unavailable, the CPU fallback ensures correctness without warmup.

Related Math functions

Trigonometry

acos · acosh · asin · asinh · atan · atan2 · atanh · cos · cosd · cosh · cospi · deg2rad · pol2cart · rad2deg · sin · sind · sinpi · tan · tand · tanh

Elementwise

abs · angle · bsxfun · complex · conj · double · erf · erfcinv · exp · expm1 · factorial · flintmax · gamma · gammaln · heaviside · hypot · idivide · imag · intmax · intmin · ldivide · log · log10 · log1p · log2 · minus · nextpow2 · plus · pow2 · power · rdivide · real · realmax · realmin · realsqrt · rescale · sign · single · sqrt · swapbytes · times · typecast · uint16 · uint32 · uint8

Reduction

all · any · bounds · cummax · cummin · cumprod · cumsum · cumtrapz · diff · gradient · max · maxk · mean · median · min · mink · movmax · movmean · movmedian · movmin · movprod · movstd · movsum · movvar · nnz · prod · rms · std · sum · trapz · var

Structure

bandwidth · isdiag · ishermitian · issymmetric · istril · istriu · symrcm

Signal

blackman · butter · buttord · cheb2ord · conv · conv2 · deconv · downsample · envelope · filter · filtfilt · fir1 · freqz · gauspuls · hamming · hann · hilbert · periodogram · pulstran · pwelch · rectpuls · resample · sawtooth · sinc · spectrogram · square · tripuls · unwrap · upsample · zplane

Rounding

ceil · fix · floor · mod · rem · round

Factor

chol · decomposition · eig · eigs · lu · qr · svd

Solve

cond · det · inv · linsolve · norm · null · pinv · rank · rcond · rref · vecnorm

Optim

coneprog · fminbnd · fminunc · fsolve · fzero · integral · linprog · lsqcurvefit · lsqnonlin · optimoptions · optimset · quad · secondordercone

Ops

cross · ctranspose · dot · mldivide · mpower · mrdivide · mtimes · pagemtimes · pagetranspose · trace · transpose

Symbolic

digits · int · limit · piecewise · sym · syms · vpa

Fft

fft · fft2 · fftn · fftshift · ifft · ifft2 · ifftn · ifftshift

Interpolation

griddedInterpolant · interp1 · interp1q · interp2 · pchip · ppval · spline

Discrete

lcm · primes

Ode

ode15s · ode23 · ode45

Poly

polyder · polyfit · polyint · polyval · roots

Open-source implementation

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

  • View the source for sinh 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 sinh works
  • Does RunMat run sinh on the GPU?
  • GPU memory and residency
  • Examples
  • Compute the hyperbolic sine of a scalar value
  • Apply sinh to each element of a vector
  • Evaluate sinh on a matrix
  • Compute the hyperbolic sine on the GPU
  • Work with complex inputs
  • Using sinh with coding agents
  • FAQ
  • Related Math functions
  • Trigonometry
  • Elementwise
  • Reduction
  • Structure
  • Signal
  • Rounding
  • Factor
  • Solve
  • Optim
  • Ops
  • Symbolic
  • Fft
  • Interpolation
  • Discrete
  • Ode
  • Poly
  • Open-source implementation
  • About RunMat