Skip to content

User Guide

This guide covers everyday work with SMath Studio once it's installed and licensed — see Getting Started if you haven't installed it yet.

Worksheet basics

SMath Studio worksheets are "paper"-like: you place math regions, text regions, and plots anywhere on the sheet, and the program recalculates results live as you edit. Expressions are typed using natural math notation, with support for Greek characters, subscripts/superscripts, and matrices directly from the keyboard. Both text and math regions can be formatted — font size, colour, background — which is what keeps a long sheet readable. Results can be visualised with 2D and 3D plots, and a plot driven from a parameter becomes a simple animation.

As you type, Dynamic Assistance shows a context-aware pop-up of matching variables, functions, and units. You can also attach descriptions to variables, functions, or plots, which then show up in those same Dynamic Assistance hints. SMath Studio also has full multilanguage support, so worksheet content and the interface itself can be shown in different languages.

Calculations

The computing engine supports:

  • Numeric and symbolic evaluation of expressions, with eval() forcing a numeric result where you want one.
  • Units of measurement, with automatic conversion, a large built-in library, and custom units you define or override yourself.
  • Matrices and vectors, including standard linear-algebra operations.
  • Numerical methods for finding the roots of equations, evaluating integrals, and solving other applied problems.

How wide a range of problems the program can handle depends on its function library. Ours holds both basic arithmetic — such as mod(), which returns the remainder of a division — and pieces of calculus and interpolation: differentiation to any order, symbolic or numeric; spline interpolation over tabulated data.

Work with matrices and vectors is covered in the same depth: sorting by row or column, picking out rows that satisfy a condition, assembling arrays with augment() and stack(), and taking minors and cofactors.

Alongside these sit all manner of narrower tools, such as numden(), which splits an expression into its numerator and denominator, or time(), which returns a timestamp: difference two of them to measure how long a block of the worksheet took to evaluate.

The functions named above are only a small part of the library available. There are two ways to see the rest: Dynamic Assistance offers matching functions as you type, and the Insert Function dialog — Insert > Function..., or Ctrl+E — lists everything available, grouped by category. Both lists grow by themselves as you install plugins: a plugin that adds symbolic or numeric capabilities registers its functions alongside the built-in ones.

Keyboard shortcuts

Most operations have keyboard shortcuts, which can significantly speed up worksheet editing once you're familiar with the interface.

Extending the program

Additional functionality can be added through plugins, installed via the built-in Extensions Manager — for example, Modeller Region adds interactive, drag-and-drop shapes to your worksheet. Plugins are written both by the SMath team and by a number of independent developers. See the Developer Guide if you want to build your own.

Programming

For more advanced worksheets, SMath Studio supports basic programming constructs — if conditions, for and while loops, and user-defined functions — so you can build reusable calculation blocks directly on the worksheet. The Output window helps you debug scripts by showing the trace of evaluations made with trace(). You can also read from and write to plain data files directly from a worksheet using wfile(), rfile(), and dfile().

Other SMath tools

  • SMath Viewer — turns a worksheet into a standalone, read-only executable, so you can share results with people who don't need (or shouldn't have) access to the underlying calculation logic.
  • SMath Writer — an experimental, more office-like interface built on the same engine. Still for testing only — not yet recommended for production use.