Tutorials

Interactive tutorials to help you learn Equana's features. Each tutorial includes runnable code examples that you can modify and experiment with.

Types & Multiple Dispatch

Define types with structs and type aliases, write typed functions, and let the dispatch engine choose the right implementation based on argument types.

Structs & typesTyped functionsOperator overloadingWhy not OOP

Symbolic Mathematics

Create symbolic variables, solve equations, differentiate, expand, and simplify expressions with the symbolic math engine.

Symbolic variablesEquation solvingDifferentiationSimplification

Working with Matrices

Learn how to create, index, slice, and manipulate matrices using M-Code syntax and operators.

Matrix creationIndexing & slicingOperatorsAggregation

Sparse Matrices

Create, inspect, and solve large sparse systems efficiently using iterative solvers and decompositions.

Sparse creationIterative solversEigenvalues & SVDStructural analysis

Linear Solvers

Solve Ax = b using dense direct methods, sparse iterative solvers with convergence diagnostics, and MFEM preconditioned solver objects.

Dense solversSparse iterativePreconditionersMFEM solvers

Creating Charts and Plots

Learn how to create line plots, bar charts, scatter plots, histograms, and pie charts with customizable labels and layouts.

Line & bar chartsScatter & histogramsLabels & legendsSubplots

3D Surface Plots

Visualize mathematical functions and data in 3D with interactive mesh and surf plots using meshgrid for coordinate generation.

mesh & surfmeshgridMathematical surfacesInteractive 3D

Working with Strings

Learn how to create, manipulate, and format strings using string literals, template expressions, and built-in string functions.

String literalsTemplate literalsEscape sequencesString functions

Dynamic Code Evaluation

Learn how to evaluate M-Code from strings at runtime using eval, including dynamic expressions and workspace manipulation.

eval functionDynamic expressionsWorkspace effectsReturn values

VTK.js 3D Visualization

Create advanced 3D visualizations with VTK.js including volume rendering, isosurface extraction, and FEM mesh visualization.

Volume renderingIsosurfacesFEM meshesPolyData

Finite Element Method

Learn the fundamentals of FEM including mesh generation, basis functions, weak formulation, assembly, and solving PDEs numerically.

Mesh basicsBasis functionsAssemblyBoundary conditions

Linear Elasticity

Solve structural mechanics problems with vector finite elements, stress-strain relations, and multi-material analysis based on MFEM Example 2.

Stress & strainVector elementsMaterial propertiesCantilever beam

Time-Dependent Heat Conduction

Solve transient heat transfer problems using the method of lines, ODE time integrators, and nonlinear operators based on MFEM Example 16.

Method of linesODE solversTime steppingNonlinear diffusion

Custom WASM Modules

Extend Equana with your own WebAssembly modules for high-performance custom functions written in C, C++, or Rust.

Manifest formatType marshallingArray handlingC/Rust examples

More tutorials coming soon. Check out the roadmap to see what's planned.