Scientific Computing in Rust Monthly #17

Welcome to this month's issue of Scientific Computing in Rust Monthly.

We're very excited to announce that this year's Scientific Computing in Rust virtual workshop will take place on 8-10 July. See the Events section below for more details.

Scientific Computing in Rust Monthly can be viewed online at scientificcomputing.rs/monthly, you can sign up to receive an email copy at mailinglist.scientificcomputing.rs, or you can subscribe using the RSS feed at scientificcomputing.rs/monthly/rss.xml.

Items can be added to the next issue of the newsletter by opening a pull request to the Scientific Computing in Rust Monthly repository on GitHub. You can find more information about adding items here.

Crate of the month: pastey

crates.io ~ docs.rs ~ source

The paste crate is a great tool for creating small macros. It very useful when (for example) wanting to write lots of tests with small differences between each test.

pastey is a well maintained fork of paste that allows you to do everything that paste did without relying on an unmaintained dependency.

New releases

kuva 0.1.6

kuva is a scientific plotting library for Rust that renders to SVG. It supports 30 plot types including specialised bioinformatics visualisations such as Manhattan plots, UpSet plots, and phylogenetic trees. A CLI is included for terminal-based rendering, with PNG and PDF output available via feature flags.

la-stack 0.4.1

la-stack is a library providing fast, stack-allocated linear algebra for fixed dimensions in Rust. Key recent changes:

Example: D=5 det_exact has sped up from 164µs to 4.2µs (~39×)

ndelement, ndmesh and ndfunctionspace 0.4.0

ndelement, ndmesh and ndfunctionspace are three crates that handle fundamental parts of the finite element method: ndelement can be used to define and evaluate basis functions on a reference cell, ndmesh can handle meshes of polygonal and polyhedral cells, and ndfunctionspace can create function spaces by assigning global degrees-of-freedom (DOFs) to every cell in a mesh.

Note: in previous releases, ndmesh was named ndgrid.

unirand 0.2.0

The Marsaglia's Universal Random Number Generator was used in Fortran and C and this port to Rust started out so the author could port a C Simulation which used a Marsaglia RNG. New for version 0.2.0:

unirand is based on "Toward a universal random number generator" by George Marsaglia, Arif Zaman, Wai Wan Tsang.

Events

Scientific Computing in Rust, 8-10 July 2026, virtual

This year's Scientific Computing in Rust virtual workshop will take place on 8-10 July. The three days of this workshop will feature a mixture of talks, tutorials and demos, and discussion sessions about a wide range of scientific topics. The workshop takes place between 13:00 BST and 17:00 BST each day, with the talks recorded and released on the Scientific Computing in Rust YouTube channel.

Talks and tutorials can be submitted at scientificcomputing.rs/2026/submit-talk. The deadline for submissions is Friday 5 June.

More information, free registration, and talk and tutorial submission forms can be found on the workshop's website at scientificcomputing.rs/2026.

RustMeet, 12-14 June 2026, Kraków, Poland

Second edition of RustMeet, the first Rust-dedicated programming conference in Poland. The three-day event features talks, workshops, and lightning talks, with online streaming available alongside the in-person programme.

Publications

Kyle M. Douglass, Ray-Surface Intersections with the Newton-Raphson Algorithm

A deep dive on ray-surface intersection calculations with the Newton-Raphson algorithm from a mathematical point of view. The article also discusses how the tracing crate helped find the issue and improve the Cherry Ray Tracer.