ICore Blocks / Features / ICoreMath

The maths in one place

One module holds the numerics: the types, the control-systems tooling, and the evaluator the console runs on.

The types

  • Matrix — the workhorse: arithmetic, decompositions, reductions over all entries and along an axis, and the linear-algebra solvers.
  • Polynomial, Spline — roots and fitting, with the spline degree reduced automatically when there are too few points to support it.
  • Time series — a signal with its own time base, which is what a run hands back.
  • Complex variable — for the places where the answer is not real.

The control-systems tooling

  • Discretization of a continuous state-space model;
  • State-space to transfer function conversion;
  • Time response — step, impulse and the rest;
  • Root locus;
  • Block merging — series, parallel and feedback, which is what block reduction is built on.

And the rest

Calculus, geometry, optimisation and signal processing sit alongside them, together with the expression evaluator — the same one the command window uses, so an expression you can type into the console is an expression the SDK can evaluate.

Bode · G = 1/(s+1)²
A Bode magnitude and phase plot of a double-pole transfer function A Bode magnitude and phase plot of a double-pole transfer function
G = tf([1],[1 2 1]) declared in the console, then read straight out of the variables space by the analysis tool — magnitude falling at 40 dB per decade and phase settling at −π, as a double pole at s = −1 should.

One place, deliberately

These are not scattered helpers collected under a heading. Everything in the product that needs numerics asks this module, which is why the console, the solver, the block library and the code generators agree about what a matrix is and what an operation means.

See also: Eigen, wrapped  ·  Python and MATLAB, both

Get started

See it run on your own model.

Download the application from the customer portal, or read the documentation first — the manual, every block with its measured response, and the full command reference are public.