Skip to content

Releases: leoom-labs/matrust

MatRust 0.1.1 (alpha)

MatRust 0.1.1 (alpha) Pre-release
Pre-release

Choose a tag to compare

@leonaffi-byte leonaffi-byte released this 27 Oct 05:19

Second alpha of MatRust. Mostly fixes to numerical warnings, plots and the workspace panel, plus easier installs.

This is an alpha, so expect gaps. The README lists what works and what does not yet. Calls outside a function's stated limits are rejected with an error, not approximated.

What's new

  • Singular matrices no longer stop with an error. A\b, A/b, mldivide, mrdivide, inv(A) and negative integer powers A^-k on a square real matrix that is singular or close to singular now warn and continue: "Matrix is singular to working precision." or "Matrix is close to singular or badly scaled. Results may be inaccurate. RCOND = ...". The result may contain Inf or NaN. The warnings have ids, so warning('off', id) silences them and lastwarn reads them. The RCOND value is an estimate. Single and integer types keep the old behaviour.
  • Plot grid lines are now visible in the modern style (they were almost invisible before): dark grey at low opacity in the light theme, white at low opacity in the dark theme. The legacy style is unchanged.
  • Workspace panel: short column vectors show as [1;2;3]. Row vectors still show as [1 2 3].
  • Help > Report a problem opens a GitHub issue form already filled in with your version and system. There is also a new issue template for scripts that do not run.
  • matrust bench measures MatRust only, on its built-in cases or your own scripts. Options and saved results for other programs are gone; old options are rejected with an error. --share still shows you the exact text, which you paste into a GitHub issue yourself. Nothing is uploaded automatically.
  • Try it online: the console on matrust.dev runs the engine in your browser (WebAssembly). It cannot read or write files, and stopping a run clears its workspace. Its "Report a problem with this script" link opens an issue with the script and output filled in.

Install

  • Homebrew: brew install leoom-labs/tap/matrust
  • Scoop: scoop bucket add matrust https://github.com/leoom-labs/scoop-bucket, then scoop install matrust
  • Or download an archive below.

Downloads

File System
MatRust-0.1.1-windows-x64.zip Windows, 64-bit (x64)
MatRust-0.1.1-linux-x64.tar.gz Linux, x86-64 (glibc 2.35 or newer: Ubuntu 22.04, Debian 12, Fedora 36 and later)
MatRust-0.1.1-linux-x64.AppImage Linux, x86-64, single file: chmod +x it and run (same glibc minimum)
MatRust-0.1.1-macos-arm64.tar.gz macOS on Apple silicon, unsigned
  • Each download has a .sha256 file next to it, so you can check that the file is complete and unchanged.
  • macOS: the programs are not signed. After unpacking, run once in Terminal: xattr -dr com.apple.quarantine <unpacked folder>, then start ./matrust-desktop from that folder.
  • Each archive holds three programs: matrust-desktop (the desktop app), matrust (the command line) and matrust-pdf-worker (a helper; keep it in the same folder).

License

GNU General Public License, version 3 or later. Third-party notices ship in each archive.

MATLAB is a registered trademark of The MathWorks, Inc. MatRust is not affiliated with, endorsed by, or sponsored by MathWorks.

MatRust 0.1.0 (alpha)

MatRust 0.1.0 (alpha) Pre-release
Pre-release

Choose a tag to compare

@leonaffi-byte leonaffi-byte released this 26 Oct 19:09

First public alpha of MatRust. It is a MATLAB-compatible numerical engine written in Rust, with an optional desktop workspace: Command Window, Editor, Workspace and Figures.

This is an alpha, so expect gaps. The README lists what works and what does not yet. Calls outside a function's stated limits are rejected with an error, not approximated. Some functions are checked against MATLAB R2016a; that is not a claim of identical output everywhere.

Downloads

File System
MatRust-0.1.0-windows-x64.zip Windows, 64-bit (x64)
MatRust-0.1.0-linux-x64.tar.gz Linux, x86-64
MatRust-0.1.0-macos-arm64.tar.gz macOS on Apple silicon, unsigned
  • Each download has a .sha256 file next to it, so you can check that the file is complete and unchanged.
  • macOS: the programs are not signed. After unpacking, run once in Terminal: xattr -dr com.apple.quarantine <unpacked folder>, then start ./matrust-desktop from that folder.
  • Each archive holds three programs: matrust-desktop (the desktop app), matrust (the command line) and matrust-pdf-worker (a helper; keep it in the same folder).

Benchmark against your own MATLAB

matrust bench times MatRust on its built-in cases, or on your own scripts and functions. With --matlab auto it also runs your local MATLAB and shows both results side by side. The MATLAB launcher is new in this alpha and not yet tried on every MATLAB release. If it fails on yours, open an issue with the MATLAB version and the message.

  • MATLAB's numbers stay on your computer. MATLAB's licence may restrict benchmarking; check yours before using --matlab.
  • matrust bench --share prepares only the MatRust results and shows you the exact text. You paste it into a public GitHub issue yourself.
  • MatRust has no network code and sends nothing by itself.

See BENCHMARKS.md and docs/privacy.md.

License

GNU General Public License, version 3 or later. Third-party notices ship in each archive.

MATLAB is a trademark of The MathWorks, Inc. MatRust is not affiliated with MathWorks.