<?xml version='1.0'?>
<?xml-stylesheet href='/monthly/sty.xsl' type='text/xsl'?>
<rss version='2.0' xmlns:atom='http://www.w3.org/2005/Atom'>
<channel>
<atom:link href='https://www.scientificcomputing.rs/monthly/rss.xml' rel='self' type='application/rss+xml' />
<title>Scientific Compting in Rust Monthly</title>
<description>A monthly newsletter containing the latest information about scientific computing in the Rust programming language.</description>
<link>https://www.scientificcomputing.rs/monthly/</link>
<item>
<title>Scientific Computing in Rust Monthly #22</title>
<description><![CDATA[<p>Welcome to this month's issue of Scientific Computing in Rust Monthly.</p>
<p>Scientific Computing in Rust Monthly can be viewed online at <a href="https://scientificcomputing.rs/monthly">scientificcomputing.rs/monthly</a>,
you can sign up to receive an email copy at <a href="https://mailinglist.scientificcomputing.rs">mailinglist.scientificcomputing.rs</a>,
or you can subscribe using the RSS feed at <a href="https://scientificcomputing.rs/monthly/rss.xml">scientificcomputing.rs/monthly/rss.xml</a>.</p>
<p>Items can be added to the next issue of the newsletter by opening a pull request to the
<a href="https://github.com/rust-scicomp/scientific-computing-in-rust-monthly">Scientific Computing in Rust Monthly repository on GitHub</a>.
You can find more information about adding items
<a href="https://github.com/rust-scicomp/scientific-computing-in-rust-monthly#contributing-an-item">here</a>.</p>
<h2>Crate of the month: proptest</h2>
<p><a href="https://crates.io/crates/proptest">crates.io</a> ~ <a href="https://docs.rs/proptest/latest/proptest/">docs.rs</a> ~ <a href="https://github.com/proptest-rs/proptest">source</a></p>
<p>Proptest is a hypothesis-like property-based testing and shrinking crate.
It allows you define various strategies and combined strategies
to bring your crate testing to the next level.</p>
<p>We recommend checking out the <a href="https://proptest-rs.github.io/proptest/proptest/index.html">proptest book</a>
to get started.</p>
<h2>New releases</h2>
<h3><a href="https://crates.io/crates/cauchy-ode">cauchy-ode v0.1.0</a></h3>
<p>This package numerically solves Cauchy's initial value problems
for ordinary differential equations and systems.
Its solver integrates expressions with the adaptive
England, Lawson, and Rosenbrock methods.</p>
<h3><a href="https://crates.io/crates/fearless_simd">fearless_simd v1.0.0</a></h3>
<p>After eight years of prototyping, fearless_simd has gone v1.0.0.
This package enables high-performance SIMD
without forcing you to abandon safety or readability.</p>
<h2>Publications</h2>
<h3><a href="https://doi.org/10.21105/joss.10366">Kim Tae-Geun et al., Peroxide: A Batteries-Included Numerical Computing Library for Rust, JOSS, 11(124)</a></h3>
<p>Peroxide is a Rust numerical computing library
that integrates eight domains in one crate: linear
algebra, ordinary differential equation (ODE) solving,
adaptive quadrature, spline interpolation with exact polynomial calculus,
root-finding, forward-mode automatic differentiation (AD),
statistics, and multi-format DataFrame I/O.</p>
<h3><a href="https://developer.nvidia.com/blog/introducing-cuda-rust-two-tracks-for-writing-gpu-kernels/">Koundinyan Sri, Elibol Melih, and Bentz Jonathan, Introducing CUDA Rust: Two Tracks for Writing GPU Kernels</a></h3>
<p>A brief introduction on writing GPU kernels
with hands-on examples on using
<a href="https://github.com/NVlabs/cutile-rs">cutile-rs</a>
and
<a href="https://github.com/NVlabs/cuda-oxide">cuda-oxide</a>.</p>
<h3><a href="https://doi.org/10.21105/joss.10580#">Otálvaro Julián D. et al., pharmsol: A high-performance Rust library for pharmacokinetic and pharmacodynamic modeling and simulation, JOSS, 11(124)</a></h3>
<p>Pharmsol is a library for pharmacokinetic/pharmacodynamic (PK/PD) simulation.
It provides the necessary tools and frameworks for defining, solving, and analyzing
compartmental models,
with support for differential equations, their analytical solutions,
and experimental support for stochastic differential equations.</p>
<h3><a href="https://linebender.org/blog/fearless-simd-1-0/">Shnatsel, Fearless SIMD v1.0 is here</a></h3>
<p>A blog post that goes along with the fearless_simd v1.0.0 release, see above.</p>
<h3><a href="https://blog.galactic-forensics.space/blog/11-smc-hrr/">Trappitsch Reto, Controlling an SMC HRR chiller via MODBUS</a></h3>
<p>This is the fifth blog post in the <a href="https://blog.galactic-forensics.space/tags/instrumentrs/">instrumentRs series</a>
on designing a toolkit to write drivers for (scientific) instruments in Rust.
This post discusses writing a driver for SMC HRR chillers,
which communicate via MODBUS RTU.</p>]]></description>
<description-html><p>Welcome to this month's issue of Scientific Computing in Rust Monthly.</p>
<p>Scientific Computing in Rust Monthly can be viewed online at <a href="https://scientificcomputing.rs/monthly">scientificcomputing.rs/monthly</a>,
you can sign up to receive an email copy at <a href="https://mailinglist.scientificcomputing.rs">mailinglist.scientificcomputing.rs</a>,
or you can subscribe using the RSS feed at <a href="https://scientificcomputing.rs/monthly/rss.xml">scientificcomputing.rs/monthly/rss.xml</a>.</p>
<p>Items can be added to the next issue of the newsletter by opening a pull request to the
<a href="https://github.com/rust-scicomp/scientific-computing-in-rust-monthly">Scientific Computing in Rust Monthly repository on GitHub</a>.
You can find more information about adding items
<a href="https://github.com/rust-scicomp/scientific-computing-in-rust-monthly#contributing-an-item">here</a>.</p>
<h2>Crate of the month: proptest</h2>
<p><a href="https://crates.io/crates/proptest">crates.io</a> ~ <a href="https://docs.rs/proptest/latest/proptest/">docs.rs</a> ~ <a href="https://github.com/proptest-rs/proptest">source</a></p>
<p>Proptest is a hypothesis-like property-based testing and shrinking crate.
It allows you define various strategies and combined strategies
to bring your crate testing to the next level.</p>
<p>We recommend checking out the <a href="https://proptest-rs.github.io/proptest/proptest/index.html">proptest book</a>
to get started.</p>
<h2>New releases</h2>
<h3><a href="https://crates.io/crates/cauchy-ode">cauchy-ode v0.1.0</a></h3>
<p>This package numerically solves Cauchy's initial value problems
for ordinary differential equations and systems.
Its solver integrates expressions with the adaptive
England, Lawson, and Rosenbrock methods.</p>
<h3><a href="https://crates.io/crates/fearless_simd">fearless_simd v1.0.0</a></h3>
<p>After eight years of prototyping, fearless_simd has gone v1.0.0.
This package enables high-performance SIMD
without forcing you to abandon safety or readability.</p>
<h2>Publications</h2>
<h3><a href="https://doi.org/10.21105/joss.10366">Kim Tae-Geun et al., Peroxide: A Batteries-Included Numerical Computing Library for Rust, JOSS, 11(124)</a></h3>
<p>Peroxide is a Rust numerical computing library
that integrates eight domains in one crate: linear
algebra, ordinary differential equation (ODE) solving,
adaptive quadrature, spline interpolation with exact polynomial calculus,
root-finding, forward-mode automatic differentiation (AD),
statistics, and multi-format DataFrame I/O.</p>
<h3><a href="https://developer.nvidia.com/blog/introducing-cuda-rust-two-tracks-for-writing-gpu-kernels/">Koundinyan Sri, Elibol Melih, and Bentz Jonathan, Introducing CUDA Rust: Two Tracks for Writing GPU Kernels</a></h3>
<p>A brief introduction on writing GPU kernels
with hands-on examples on using
<a href="https://github.com/NVlabs/cutile-rs">cutile-rs</a>
and
<a href="https://github.com/NVlabs/cuda-oxide">cuda-oxide</a>.</p>
<h3><a href="https://doi.org/10.21105/joss.10580#">Otálvaro Julián D. et al., pharmsol: A high-performance Rust library for pharmacokinetic and pharmacodynamic modeling and simulation, JOSS, 11(124)</a></h3>
<p>Pharmsol is a library for pharmacokinetic/pharmacodynamic (PK/PD) simulation.
It provides the necessary tools and frameworks for defining, solving, and analyzing
compartmental models,
with support for differential equations, their analytical solutions,
and experimental support for stochastic differential equations.</p>
<h3><a href="https://linebender.org/blog/fearless-simd-1-0/">Shnatsel, Fearless SIMD v1.0 is here</a></h3>
<p>A blog post that goes along with the fearless_simd v1.0.0 release, see above.</p>
<h3><a href="https://blog.galactic-forensics.space/blog/11-smc-hrr/">Trappitsch Reto, Controlling an SMC HRR chiller via MODBUS</a></h3>
<p>This is the fifth blog post in the <a href="https://blog.galactic-forensics.space/tags/instrumentrs/">instrumentRs series</a>
on designing a toolkit to write drivers for (scientific) instruments in Rust.
This post discusses writing a driver for SMC HRR chillers,
which communicate via MODBUS RTU.</p></description-html>
<link>https://www.scientificcomputing.rs/monthly/2026-09</link>
<guid>https://www.scientificcomputing.rs/monthly/2026-09</guid>
<pubDate>24 Sep 2026 12:00:00 GMT</pubDate>
</item>
<item>
<title>Scientific Computing in Rust Monthly #21</title>
<description><![CDATA[<p>Welcome to this month's issue of Scientific Computing in Rust Monthly.</p>
<p>Scientific Computing in Rust Monthly can be viewed online at <a href="https://scientificcomputing.rs/monthly">scientificcomputing.rs/monthly</a>,
you can sign up to receive an email copy at <a href="https://mailinglist.scientificcomputing.rs">mailinglist.scientificcomputing.rs</a>,
or you can subscribe using the RSS feed at <a href="https://scientificcomputing.rs/monthly/rss.xml">scientificcomputing.rs/monthly/rss.xml</a>.</p>
<p>Items can be added to the next issue of the newsletter by opening a pull request to the
<a href="https://github.com/rust-scicomp/scientific-computing-in-rust-monthly">Scientific Computing in Rust Monthly repository on GitHub</a>.
You can find more information about adding items
<a href="https://github.com/rust-scicomp/scientific-computing-in-rust-monthly#contributing-an-item">here</a>.</p>
<h2>Crate of the month: CubeCL</h2>
<p><a href="https://crates.io/crates/cubecl">crates.io</a> ~ <a href="https://docs.rs/crate/cubecl/latest">docs.rs</a> ~ <a href="https://github.com/tracel-ai/cubecl">source</a></p>
<p>CubeCL is a Rust language extension, a Just-in-Time compiler, and a set of runtimes for writing high-performance compute kernels.
Functions defined using <code>#[cube]</code> can be compiled on demand to CUDA, HIP, Metal, SPIR-V, WGSL, or CPU SIMD.</p>
<p>We recommend starting by looking at <a href="https://github.com/tracel-ai/cubecl/tree/main/examples">the examples in the CubeCL GitHub repository</a>.</p>
<h2>New releases</h2>
<h3><a href="https://github.com/axneo27/AXbit">AXbit v0.1.0</a></h3>
<p>AXbit is an experimental visual astrodynamics lab for SPICE/SBDB-based Solar System exploration, small-body trajectory propagation, and close-approach analysis and visualization. It is built with <a href="https://wgpu.rs/">wgpu</a>.</p>
<p>It combines NASA/JPL SPICE ephemerides and SBDB small-body data with numerical propagation and interactive 3D visualization. The first <a href="https://github.com/axneo27/AXbit/releases/tag/v0.1.0">packaged release</a> currently targets Apple Silicon Macs.</p>
<p>The project is still at an early stage: the feature set is limited, the visuals are not so stunning, and substantial work remains on numerical validation and accuracy.</p>
<p>AXbit is looking for contributors interested in numerical validation, astrodynamics and reference frames, low-level graphics and visualization, and the development of useful analysis tools.</p>
<h3><a href="https://crates.io/crates/delaunay/0.8.1">delaunay v0.8.1</a></h3>
<p>delaunay provides D-dimensional Delaunay triangulations and convex hulls with exact predicates, deterministic degeneracy handling, and explicit topology validation. Highlights of v0.8.1 include:</p>
<ul>
<li>Verified scientific checkpoints with SHA-256 digests, exact coordinate bits, topology and proof metadata, complete f-vectors, and Euler characteristics. Restoration rejects malformed or tampered evidence and revalidates the result through all five validation levels.</li>
<li>A clearer proof-oriented API: Triangulation owns Levels 1–4, through valid geometric realization, while DelaunayTriangulation adds Level 5 Delaunay certification. Failure-atomic builders govern transitions between these layers.</li>
<li>Faster validation: certified Euclidean point sets gain a linear-in-simplices Level 5 reporting path with exhaustive fallback diagnostics. Optimized Level 4 realization checks are independently cross-validated in 2D–5D.</li>
<li>Improved diagnostics through named public error fields and more specific typed failures.</li>
</ul>
<p>This release includes breaking API changes and raises the MSRV to Rust 1.98. See the <a href="https://github.com/acgetchell/delaunay/releases/tag/v0.8.1">full release notes</a>.</p>
<h3>et-rs et-k-rs et-abi v0.2.0</h3>
<p>Pure-Rust tooling for the Esperanto <strong>ET-SoC-1</strong> RISC-V accelerator: a host driver, a device-side kernel library, and the ABI they share.</p>
<p>| Crate | Library | Side | Role |
|-------|---------|------|------|
| <a href="https://crates.io/crates/et-abi"><code>et-abi/</code></a> | <code>et_abi</code> | shared (<code>no_std</code>) | Launch-argument structs plus shared constants (cache line, geometry), defined once so host and device cannot drift. |
| <a href="https://crates.io/crates/et-rs"><code>et-rs/</code></a> | <code>et_soc1</code> | host (<code>std</code>) | Loads kernels, launches them on shires, moves results over DMA, decodes trace buffers. Pure Rust, no vendor C++ runtime. |
| <a href="https://crates.io/crates/et-k-rs"><code>et-k-rs/</code></a> | <code>et_kernel</code> | device (<code>no_std</code>) | Library for writing ET-SoC-1 compute kernels in Rust, plus demo kernels. |</p>
<p><code>et-rs</code> and <code>et-abi</code> are host crates and form the workspace; <code>default-members</code>
makes bare <code>cargo</code> commands operate on <code>et-rs</code>. <code>et-k-rs</code> cross-compiles to
<code>riscv64imac</code> with its own target configuration, so it is excluded from the host
workspace and built from its own directory. Both <code>et-rs</code> and <code>et-k-rs</code> depend on
<code>et-abi</code>; neither depends on the other.</p>
<p>There is also an example/tutorial on GitHub to get you started: <a href="https://github.com/mathsDOTearth/test-et-rs">github.com/mathsDOTearth/test-et-rs</a></p>
<h3><a href="https://crates.io/crates/la-stack">la-stack 0.4.5</a></h3>
<p>la-stack provides fast, stack-allocated linear algebra for fixed dimensions in Rust, with no runtime dependencies by default and optional exact arithmetic. v0.4.5 focuses on numerical correctness and reproducible performance evidence:</p>
<ul>
<li>Determinant overflow is now surfaced even when the corresponding error-bound terms underflow.</li>
<li>Checked determinant queries for D≥5 aggregate range proofs before a single scaled replay, reducing overhead while preserving existing error behavior.</li>
<li>Performance reports are now retained as deterministic CSV with schema-versioned provenance, allowing published benchmarks to be validated and re-rendered from the measured artifacts.</li>
<li>The MSRV is now Rust 1.98.0. The new algebraic floating-point operations are intentionally forbidden in repository-owned numerical code to preserve documented evaluation order, error bounds, exact fallbacks, and reproducibility.</li>
</ul>
<p>The full changes are available in the <a href="https://github.com/acgetchell/la-stack/releases/tag/v0.4.5">v0.4.5 release notes</a>.</p>
<h3><a href="https://crates.io/crates/oximo">oximo v0.6.0</a></h3>
<p>oximo is an algebraic modeling library for solving optimization problems in Rust. This release expands its model interchange, solver result reporting, and solving stack with readers for LP, MPS, and NL files, automatic convex solver routing in POUNCE, more cross-backend result metadata, and Enzyme automatic differentiation support for WebAssembly.</p>
<h3><a href="https://crates.io/crates/phastft">PhastFT v0.4</a></h3>
<p>PhastFT is a performant Fast Fourier Transform implementation in pure Rust with no unsafe code.</p>
<p>Full details of the latest release can be found <a href="https://www.reddit.com/r/rust/comments/1vxz2fx/phastft_v04_a_fast_fourier_transform_in_safe_rust/">in this Reddit post</a>.</p>
<h2>Events</h2>
<h3><a href="https://rustconf.com/">RustConf, 8-11 September 2026, Montreal, Canada &amp; Online</a></h3>
<p><a href="https://rustconf.com/">RustConf</a> is turning 10! The original Rust programming language conference is taking place September 8–11 in Montréal, Canada, with both in-person and virtual attendance options.</p>
<p>The <a href="https://rustconf.com/schedule/">schedule</a> is packed with technical talks, hands-on workshops, project updates, a Career Crawl, an UnConference, and lots of community discussions covering the latest developments across the Rust ecosystem.</p>
<p><a href="https://rustconf.com/register/">Join us</a> to see what the Rust community is building, dig into the topics defining the next decade of computing, and discover ideas you can bring back to your own projects.</p>
<h2>Publications</h2>
<h3><a href="https://shnatsel.github.io/safe-simd-in-rust-even-on-the-inside/">Sergey "Shnatsel" Davidoff, Safe SIMD in Rust, even on the inside</a></h3>
<h3><a href="https://arxiv.org/abs/2608.13759">M. S. Drehwald, M. Dominguez, K. Sala, A. Aspuru-Guzik, J. Doefert, GPU Offload in Rust: Portable, Safe, and Fast</a></h3>
<h3><a href="https://blog.galactic-forensics.space/blog/10-derive-macro/">R. Trappitsch, InstrumentRs: #[derive(Parameter)]</a></h3>
<p>This is the fourth blog post in the <a href="https://blog.galactic-forensics.space/tags/instrumentrs/">instrumentRs series</a> on designing a toolkit
to write drivers for (scientific) instruments in Rust.
This post discusses the implementation ans usage of a derive macro
that makes makes instrument control with new types simple.</p>
<h2>Help wanted</h2>
<h3><a href="https://github.com/oximo-rs/oximo">oximo</a></h3>
<p>The project is looking for contributors interested in mathematical programming. There are <a href="https://github.com/oximo-rs/oximo/issues?q=sort%3Aupdated-desc%20is%3Aissue%20state%3Aopen%20label%3A%22good%20first%20issue%22">good first issues</a> available for contributors who would like to get started.</p>]]></description>
<description-html><p>Welcome to this month's issue of Scientific Computing in Rust Monthly.</p>
<p>Scientific Computing in Rust Monthly can be viewed online at <a href="https://scientificcomputing.rs/monthly">scientificcomputing.rs/monthly</a>,
you can sign up to receive an email copy at <a href="https://mailinglist.scientificcomputing.rs">mailinglist.scientificcomputing.rs</a>,
or you can subscribe using the RSS feed at <a href="https://scientificcomputing.rs/monthly/rss.xml">scientificcomputing.rs/monthly/rss.xml</a>.</p>
<p>Items can be added to the next issue of the newsletter by opening a pull request to the
<a href="https://github.com/rust-scicomp/scientific-computing-in-rust-monthly">Scientific Computing in Rust Monthly repository on GitHub</a>.
You can find more information about adding items
<a href="https://github.com/rust-scicomp/scientific-computing-in-rust-monthly#contributing-an-item">here</a>.</p>
<h2>Crate of the month: CubeCL</h2>
<p><a href="https://crates.io/crates/cubecl">crates.io</a> ~ <a href="https://docs.rs/crate/cubecl/latest">docs.rs</a> ~ <a href="https://github.com/tracel-ai/cubecl">source</a></p>
<p>CubeCL is a Rust language extension, a Just-in-Time compiler, and a set of runtimes for writing high-performance compute kernels.
Functions defined using <code>#[cube]</code> can be compiled on demand to CUDA, HIP, Metal, SPIR-V, WGSL, or CPU SIMD.</p>
<p>We recommend starting by looking at <a href="https://github.com/tracel-ai/cubecl/tree/main/examples">the examples in the CubeCL GitHub repository</a>.</p>
<h2>New releases</h2>
<h3><a href="https://github.com/axneo27/AXbit">AXbit v0.1.0</a></h3>
<p>AXbit is an experimental visual astrodynamics lab for SPICE/SBDB-based Solar System exploration, small-body trajectory propagation, and close-approach analysis and visualization. It is built with <a href="https://wgpu.rs/">wgpu</a>.</p>
<p>It combines NASA/JPL SPICE ephemerides and SBDB small-body data with numerical propagation and interactive 3D visualization. The first <a href="https://github.com/axneo27/AXbit/releases/tag/v0.1.0">packaged release</a> currently targets Apple Silicon Macs.</p>
<p>The project is still at an early stage: the feature set is limited, the visuals are not so stunning, and substantial work remains on numerical validation and accuracy.</p>
<p>AXbit is looking for contributors interested in numerical validation, astrodynamics and reference frames, low-level graphics and visualization, and the development of useful analysis tools.</p>
<h3><a href="https://crates.io/crates/delaunay/0.8.1">delaunay v0.8.1</a></h3>
<p>delaunay provides D-dimensional Delaunay triangulations and convex hulls with exact predicates, deterministic degeneracy handling, and explicit topology validation. Highlights of v0.8.1 include:</p>
<ul>
<li>Verified scientific checkpoints with SHA-256 digests, exact coordinate bits, topology and proof metadata, complete f-vectors, and Euler characteristics. Restoration rejects malformed or tampered evidence and revalidates the result through all five validation levels.</li>
<li>A clearer proof-oriented API: Triangulation owns Levels 1–4, through valid geometric realization, while DelaunayTriangulation adds Level 5 Delaunay certification. Failure-atomic builders govern transitions between these layers.</li>
<li>Faster validation: certified Euclidean point sets gain a linear-in-simplices Level 5 reporting path with exhaustive fallback diagnostics. Optimized Level 4 realization checks are independently cross-validated in 2D–5D.</li>
<li>Improved diagnostics through named public error fields and more specific typed failures.</li>
</ul>
<p>This release includes breaking API changes and raises the MSRV to Rust 1.98. See the <a href="https://github.com/acgetchell/delaunay/releases/tag/v0.8.1">full release notes</a>.</p>
<h3>et-rs et-k-rs et-abi v0.2.0</h3>
<p>Pure-Rust tooling for the Esperanto <strong>ET-SoC-1</strong> RISC-V accelerator: a host driver, a device-side kernel library, and the ABI they share.</p>
<p>| Crate | Library | Side | Role |
|-------|---------|------|------|
| <a href="https://crates.io/crates/et-abi"><code>et-abi/</code></a> | <code>et_abi</code> | shared (<code>no_std</code>) | Launch-argument structs plus shared constants (cache line, geometry), defined once so host and device cannot drift. |
| <a href="https://crates.io/crates/et-rs"><code>et-rs/</code></a> | <code>et_soc1</code> | host (<code>std</code>) | Loads kernels, launches them on shires, moves results over DMA, decodes trace buffers. Pure Rust, no vendor C++ runtime. |
| <a href="https://crates.io/crates/et-k-rs"><code>et-k-rs/</code></a> | <code>et_kernel</code> | device (<code>no_std</code>) | Library for writing ET-SoC-1 compute kernels in Rust, plus demo kernels. |</p>
<p><code>et-rs</code> and <code>et-abi</code> are host crates and form the workspace; <code>default-members</code>
makes bare <code>cargo</code> commands operate on <code>et-rs</code>. <code>et-k-rs</code> cross-compiles to
<code>riscv64imac</code> with its own target configuration, so it is excluded from the host
workspace and built from its own directory. Both <code>et-rs</code> and <code>et-k-rs</code> depend on
<code>et-abi</code>; neither depends on the other.</p>
<p>There is also an example/tutorial on GitHub to get you started: <a href="https://github.com/mathsDOTearth/test-et-rs">github.com/mathsDOTearth/test-et-rs</a></p>
<h3><a href="https://crates.io/crates/la-stack">la-stack 0.4.5</a></h3>
<p>la-stack provides fast, stack-allocated linear algebra for fixed dimensions in Rust, with no runtime dependencies by default and optional exact arithmetic. v0.4.5 focuses on numerical correctness and reproducible performance evidence:</p>
<ul>
<li>Determinant overflow is now surfaced even when the corresponding error-bound terms underflow.</li>
<li>Checked determinant queries for D≥5 aggregate range proofs before a single scaled replay, reducing overhead while preserving existing error behavior.</li>
<li>Performance reports are now retained as deterministic CSV with schema-versioned provenance, allowing published benchmarks to be validated and re-rendered from the measured artifacts.</li>
<li>The MSRV is now Rust 1.98.0. The new algebraic floating-point operations are intentionally forbidden in repository-owned numerical code to preserve documented evaluation order, error bounds, exact fallbacks, and reproducibility.</li>
</ul>
<p>The full changes are available in the <a href="https://github.com/acgetchell/la-stack/releases/tag/v0.4.5">v0.4.5 release notes</a>.</p>
<h3><a href="https://crates.io/crates/oximo">oximo v0.6.0</a></h3>
<p>oximo is an algebraic modeling library for solving optimization problems in Rust. This release expands its model interchange, solver result reporting, and solving stack with readers for LP, MPS, and NL files, automatic convex solver routing in POUNCE, more cross-backend result metadata, and Enzyme automatic differentiation support for WebAssembly.</p>
<h3><a href="https://crates.io/crates/phastft">PhastFT v0.4</a></h3>
<p>PhastFT is a performant Fast Fourier Transform implementation in pure Rust with no unsafe code.</p>
<p>Full details of the latest release can be found <a href="https://www.reddit.com/r/rust/comments/1vxz2fx/phastft_v04_a_fast_fourier_transform_in_safe_rust/">in this Reddit post</a>.</p>
<h2>Events</h2>
<h3><a href="https://rustconf.com/">RustConf, 8-11 September 2026, Montreal, Canada &amp; Online</a></h3>
<p><a href="https://rustconf.com/">RustConf</a> is turning 10! The original Rust programming language conference is taking place September 8–11 in Montréal, Canada, with both in-person and virtual attendance options.</p>
<p>The <a href="https://rustconf.com/schedule/">schedule</a> is packed with technical talks, hands-on workshops, project updates, a Career Crawl, an UnConference, and lots of community discussions covering the latest developments across the Rust ecosystem.</p>
<p><a href="https://rustconf.com/register/">Join us</a> to see what the Rust community is building, dig into the topics defining the next decade of computing, and discover ideas you can bring back to your own projects.</p>
<h2>Publications</h2>
<h3><a href="https://shnatsel.github.io/safe-simd-in-rust-even-on-the-inside/">Sergey "Shnatsel" Davidoff, Safe SIMD in Rust, even on the inside</a></h3>
<h3><a href="https://arxiv.org/abs/2608.13759">M. S. Drehwald, M. Dominguez, K. Sala, A. Aspuru-Guzik, J. Doefert, GPU Offload in Rust: Portable, Safe, and Fast</a></h3>
<h3><a href="https://blog.galactic-forensics.space/blog/10-derive-macro/">R. Trappitsch, InstrumentRs: #[derive(Parameter)]</a></h3>
<p>This is the fourth blog post in the <a href="https://blog.galactic-forensics.space/tags/instrumentrs/">instrumentRs series</a> on designing a toolkit
to write drivers for (scientific) instruments in Rust.
This post discusses the implementation ans usage of a derive macro
that makes makes instrument control with new types simple.</p>
<h2>Help wanted</h2>
<h3><a href="https://github.com/oximo-rs/oximo">oximo</a></h3>
<p>The project is looking for contributors interested in mathematical programming. There are <a href="https://github.com/oximo-rs/oximo/issues?q=sort%3Aupdated-desc%20is%3Aissue%20state%3Aopen%20label%3A%22good%20first%20issue%22">good first issues</a> available for contributors who would like to get started.</p></description-html>
<link>https://www.scientificcomputing.rs/monthly/2026-08</link>
<guid>https://www.scientificcomputing.rs/monthly/2026-08</guid>
<pubDate>31 Aug 2026 12:00:00 GMT</pubDate>
</item>
<item>
<title>Scientific Computing in Rust Monthly #20</title>
<description><![CDATA[<p>Welcome to this month's issue of Scientific Computing in Rust Monthly.</p>
<p>Scientific Computing in Rust Monthly can be viewed online at <a href="https://scientificcomputing.rs/monthly">scientificcomputing.rs/monthly</a>,
you can sign up to receive an email copy at <a href="https://mailinglist.scientificcomputing.rs">mailinglist.scientificcomputing.rs</a>,
or you can subscribe using the RSS feed at <a href="https://scientificcomputing.rs/monthly/rss.xml">scientificcomputing.rs/monthly/rss.xml</a>.</p>
<p>Items can be added to the next issue of the newsletter by opening a pull request to the
<a href="https://github.com/rust-scicomp/scientific-computing-in-rust-monthly">Scientific Computing in Rust Monthly repository on GitHub</a>.
You can find more information about adding items
<a href="https://github.com/rust-scicomp/scientific-computing-in-rust-monthly#contributing-an-item">here</a>.</p>
<h2>Crate of the month: derive_more</h2>
<p><a href="https://crates.io/crates/derive_more">crates.io</a> ~ <a href="https://docs.rs/derive_more/latest/derive_more/">docs.rs</a> ~ <a href="https://github.com/JelteF/derive_more">source</a></p>
<p>Rust has a lot of nice traits that are implemented for basic types,
however, require usually some boilerplate to implement for your own types.
The <code>derive_more</code> crate can help you with many of these implementations
as it allows you to derive various traits for your types!
Attributes allow you to specify the details of the derive
and thus you can focus on your code instead on implementing traits.</p>
<h2>New releases</h2>
<h3><a href="https://crates.io/crates/interpn">interpn v0.11.2</a></h3>
<p>InterpN is a crate allowing N-dimensional interpolation/extrapolation methods.
Recent changes include
the addition of B-spline methods for regular and rectilinear grids,
implement analytic gradients for multidimensional methods,
and speedups in other routines.
See also the recent
<a href="https://youtu.be/7F2YwH0FYbI">talk by James Logan</a> for details on InterpN.</p>
<h3><a href="https://crates.io/crates/nsga_rs">NSGA-RS v1.3.0</a></h3>
<p>NSGA RS is a Rust framework for solving multi-objective optimisation problems using the NSGA family of multi-objective evolutionary algorithms (MOEAs). The crate includes:</p>
<ul>
<li>Three built-in algorithms: NSGA2, NSGA3 (Deb &amp; Jain, 2014) and AdaptiveNSGA3.</li>
<li>Flexible problem definition: minimise or maximise any number of objectives; constrained or unconstrained</li>
<li>Parallel evaluation: multi-threaded evaluation via Rayon</li>
<li>Resumable runs: export the full population history as JSON and resume from any checkpoint</li>
<li>Python bindings: exposes a PyO3 interface so you can wrap the library in your own Python package</li>
<li>Hypervolume metric: calculate hypervolume directly from individuals, values, or serialised JSON files</li>
<li>Flexible stopping conditions: stop by generation count, function evaluations, elapsed time, or combinations using Any / All</li>
</ul>
<h3><a href="https://crates.io/crates/oximo">oximo v0.5.0</a></h3>
<p>oximo is an algebraic modeling library for solving optimization problems in Rust.
This release adds an automatic differentiation engine using <code>std::autodiff</code> (Enzyme, nightly only),
a Pounce backend, IIS support, pretty-printing, and many other improvements including bug fixes, and quality-of-life changes.</p>
<h3><a href="https://crates.io/crates/syn">syn v3.0.3</a></h3>
<p>One of the most downloaded crates got a major update.
Syn is a parsing library for parsing streams of Rust tokens
into a syntax tree of Rust source code.
The version 3 release contains adjustments to the syntax tree
in order to account for ongoing language changes.
A full changelog can be found <a href="https://github.com/dtolnay/syn/releases/tag/3.0.0">here</a>.</p>
<h2>Publications</h2>
<h3><a href="https://smallcultfollowing.com/babysteps/blog/2026/07/15/battery-packs/">Matsakis N., Battery packs: Let's talk about crates, baby</a></h3>
<p>Battery packs are an idea Niko has been kicking around
on how to curate "starter packs" of crates for specific topics.
This could surely be very interesting for scientific computing in Rust.</p>
<h3><a href="https://blog.galactic-forensics.space/blog/08-instrumentrs2-mock-interface/">Trappitsch R., Testing drivers in instrumentRs v0.2.0</a></h3>
<p>This is the second blog post in the <a href="https://blog.galactic-forensics.space/tags/instrumentrs/">instrumentRs series</a> on designing a toolkit
to write drivers for (scientific) instruments in Rust.
This post discusses how to test drivers by mocking the communication interface
and asserting that all expected bytes have been read and written.</p>
<h3><a href="https://blog.galactic-forensics.space/blog/09-instrumentrs2-lakeshore336/">Trappitsch R., Lakeshore 336 Temperature Controller Driver with instrumentRs v0.2.0</a></h3>
<p>This is the third blog post in the <a href="https://blog.galactic-forensics.space/tags/instrumentrs/">instrumentRs series</a> on designing a toolkit
to write drivers for (scientific) instruments in Rust.
This post discusses takeaways from implementing an instrument driver
for a Lakeshore 336 temperature controller and presents required improvements
to the instrumentRs design.</p>
<h2>Jobs</h2>
<h3><a href="https://www.dwi.rwth-aachen.de/en/job-offer/student-research-assistants-phd-students-postdoctoral-researchers-and-software-developers">PhD, Postdoc and Software Engineering positions, Aachen, Germany</a></h3>
<p>We are looking for candidates with experience in the Rust programming language 🦀 for several positions at different levels!</p>
<p>Wanted expertise (you do not need to meet all criteria):</p>
<ul>
<li>Programming language Rust 🦀 (most important)</li>
<li>Software development</li>
<li>Computer simulations</li>
<li>GPU/CUDA programming</li>
<li>Computational fluid dynamics (CFD)</li>
</ul>
<p>Some of our current research topics:</p>
<ul>
<li>Computational fluid dynamics</li>
<li>Acoustofluidics / Microfluidics</li>
<li>Sound-propelled microrobots</li>
<li>Ultrasound-controlled 3D-bioprinting</li>
<li>Acoustic levitation</li>
<li>Artificial neural networks</li>
</ul>
<p>Where we work (Aachen, Germany):</p>
<ul>
<li><a href="https://www.rwth-aachen.de">RWTH Aachen University</a></li>
<li><a href="https://www.dwi.rwth-aachen.de/en">DWI - Leibniz Institute for Interactive Materials</a></li>
</ul>
<p>Type of positions:</p>
<ul>
<li>Software Developer / Research Software Engineer</li>
<li>Doctoral Researcher (PhD position)</li>
<li>Postdoctoral Researcher</li>
<li>Student Research Assistant (Bachelor/Master student)</li>
<li>Planned startup/spin-off 🚀</li>
<li>...</li>
</ul>
<p>Availability of positions:
Some positions now, more positions in the upcoming years.</p>
<p>You can find out more about our <a href="https://www.dwi.rwth-aachen.de/en/working-group/rg-wittkowski">research topics here</a>.
If you're interested in a position as a scientist you can find more information
<a href="https://www.dwi.rwth-aachen.de/en/job-offer/student-research-assistants-phd-students-postdoctoral-researchers-and-software-developers">here</a>
and if you're interesting in working as a software engineer take a look at our open positions
<a href="https://www.dwi.rwth-aachen.de/en/job-offer/software-developer-mfd">here</a>.</p>
<h2>Miscellaneous</h2>
<h3><a href="https://www.youtube.com/@ScientificComputinginRust">Scientific Computing in Rust 2026: Recordings</a></h3>
<p>Recordings of talks given at the Scientific Computing in Rust 2026 workshop
are now available on the <a href="https://www.youtube.com/@ScientificComputinginRust">YouTube channel</a>.
If you prefer a different view,
the <a href="https://scientificcomputing.rs/2026/timetable">timetable</a> of the workshop
has also been updated to provide links to the recordings.</p>]]></description>
<description-html><p>Welcome to this month's issue of Scientific Computing in Rust Monthly.</p>
<p>Scientific Computing in Rust Monthly can be viewed online at <a href="https://scientificcomputing.rs/monthly">scientificcomputing.rs/monthly</a>,
you can sign up to receive an email copy at <a href="https://mailinglist.scientificcomputing.rs">mailinglist.scientificcomputing.rs</a>,
or you can subscribe using the RSS feed at <a href="https://scientificcomputing.rs/monthly/rss.xml">scientificcomputing.rs/monthly/rss.xml</a>.</p>
<p>Items can be added to the next issue of the newsletter by opening a pull request to the
<a href="https://github.com/rust-scicomp/scientific-computing-in-rust-monthly">Scientific Computing in Rust Monthly repository on GitHub</a>.
You can find more information about adding items
<a href="https://github.com/rust-scicomp/scientific-computing-in-rust-monthly#contributing-an-item">here</a>.</p>
<h2>Crate of the month: derive_more</h2>
<p><a href="https://crates.io/crates/derive_more">crates.io</a> ~ <a href="https://docs.rs/derive_more/latest/derive_more/">docs.rs</a> ~ <a href="https://github.com/JelteF/derive_more">source</a></p>
<p>Rust has a lot of nice traits that are implemented for basic types,
however, require usually some boilerplate to implement for your own types.
The <code>derive_more</code> crate can help you with many of these implementations
as it allows you to derive various traits for your types!
Attributes allow you to specify the details of the derive
and thus you can focus on your code instead on implementing traits.</p>
<h2>New releases</h2>
<h3><a href="https://crates.io/crates/interpn">interpn v0.11.2</a></h3>
<p>InterpN is a crate allowing N-dimensional interpolation/extrapolation methods.
Recent changes include
the addition of B-spline methods for regular and rectilinear grids,
implement analytic gradients for multidimensional methods,
and speedups in other routines.
See also the recent
<a href="https://youtu.be/7F2YwH0FYbI">talk by James Logan</a> for details on InterpN.</p>
<h3><a href="https://crates.io/crates/nsga_rs">NSGA-RS v1.3.0</a></h3>
<p>NSGA RS is a Rust framework for solving multi-objective optimisation problems using the NSGA family of multi-objective evolutionary algorithms (MOEAs). The crate includes:</p>
<ul>
<li>Three built-in algorithms: NSGA2, NSGA3 (Deb &amp; Jain, 2014) and AdaptiveNSGA3.</li>
<li>Flexible problem definition: minimise or maximise any number of objectives; constrained or unconstrained</li>
<li>Parallel evaluation: multi-threaded evaluation via Rayon</li>
<li>Resumable runs: export the full population history as JSON and resume from any checkpoint</li>
<li>Python bindings: exposes a PyO3 interface so you can wrap the library in your own Python package</li>
<li>Hypervolume metric: calculate hypervolume directly from individuals, values, or serialised JSON files</li>
<li>Flexible stopping conditions: stop by generation count, function evaluations, elapsed time, or combinations using Any / All</li>
</ul>
<h3><a href="https://crates.io/crates/oximo">oximo v0.5.0</a></h3>
<p>oximo is an algebraic modeling library for solving optimization problems in Rust.
This release adds an automatic differentiation engine using <code>std::autodiff</code> (Enzyme, nightly only),
a Pounce backend, IIS support, pretty-printing, and many other improvements including bug fixes, and quality-of-life changes.</p>
<h3><a href="https://crates.io/crates/syn">syn v3.0.3</a></h3>
<p>One of the most downloaded crates got a major update.
Syn is a parsing library for parsing streams of Rust tokens
into a syntax tree of Rust source code.
The version 3 release contains adjustments to the syntax tree
in order to account for ongoing language changes.
A full changelog can be found <a href="https://github.com/dtolnay/syn/releases/tag/3.0.0">here</a>.</p>
<h2>Publications</h2>
<h3><a href="https://smallcultfollowing.com/babysteps/blog/2026/07/15/battery-packs/">Matsakis N., Battery packs: Let's talk about crates, baby</a></h3>
<p>Battery packs are an idea Niko has been kicking around
on how to curate "starter packs" of crates for specific topics.
This could surely be very interesting for scientific computing in Rust.</p>
<h3><a href="https://blog.galactic-forensics.space/blog/08-instrumentrs2-mock-interface/">Trappitsch R., Testing drivers in instrumentRs v0.2.0</a></h3>
<p>This is the second blog post in the <a href="https://blog.galactic-forensics.space/tags/instrumentrs/">instrumentRs series</a> on designing a toolkit
to write drivers for (scientific) instruments in Rust.
This post discusses how to test drivers by mocking the communication interface
and asserting that all expected bytes have been read and written.</p>
<h3><a href="https://blog.galactic-forensics.space/blog/09-instrumentrs2-lakeshore336/">Trappitsch R., Lakeshore 336 Temperature Controller Driver with instrumentRs v0.2.0</a></h3>
<p>This is the third blog post in the <a href="https://blog.galactic-forensics.space/tags/instrumentrs/">instrumentRs series</a> on designing a toolkit
to write drivers for (scientific) instruments in Rust.
This post discusses takeaways from implementing an instrument driver
for a Lakeshore 336 temperature controller and presents required improvements
to the instrumentRs design.</p>
<h2>Jobs</h2>
<h3><a href="https://www.dwi.rwth-aachen.de/en/job-offer/student-research-assistants-phd-students-postdoctoral-researchers-and-software-developers">PhD, Postdoc and Software Engineering positions, Aachen, Germany</a></h3>
<p>We are looking for candidates with experience in the Rust programming language 🦀 for several positions at different levels!</p>
<p>Wanted expertise (you do not need to meet all criteria):</p>
<ul>
<li>Programming language Rust 🦀 (most important)</li>
<li>Software development</li>
<li>Computer simulations</li>
<li>GPU/CUDA programming</li>
<li>Computational fluid dynamics (CFD)</li>
</ul>
<p>Some of our current research topics:</p>
<ul>
<li>Computational fluid dynamics</li>
<li>Acoustofluidics / Microfluidics</li>
<li>Sound-propelled microrobots</li>
<li>Ultrasound-controlled 3D-bioprinting</li>
<li>Acoustic levitation</li>
<li>Artificial neural networks</li>
</ul>
<p>Where we work (Aachen, Germany):</p>
<ul>
<li><a href="https://www.rwth-aachen.de">RWTH Aachen University</a></li>
<li><a href="https://www.dwi.rwth-aachen.de/en">DWI - Leibniz Institute for Interactive Materials</a></li>
</ul>
<p>Type of positions:</p>
<ul>
<li>Software Developer / Research Software Engineer</li>
<li>Doctoral Researcher (PhD position)</li>
<li>Postdoctoral Researcher</li>
<li>Student Research Assistant (Bachelor/Master student)</li>
<li>Planned startup/spin-off 🚀</li>
<li>...</li>
</ul>
<p>Availability of positions:
Some positions now, more positions in the upcoming years.</p>
<p>You can find out more about our <a href="https://www.dwi.rwth-aachen.de/en/working-group/rg-wittkowski">research topics here</a>.
If you're interested in a position as a scientist you can find more information
<a href="https://www.dwi.rwth-aachen.de/en/job-offer/student-research-assistants-phd-students-postdoctoral-researchers-and-software-developers">here</a>
and if you're interesting in working as a software engineer take a look at our open positions
<a href="https://www.dwi.rwth-aachen.de/en/job-offer/software-developer-mfd">here</a>.</p>
<h2>Miscellaneous</h2>
<h3><a href="https://www.youtube.com/@ScientificComputinginRust">Scientific Computing in Rust 2026: Recordings</a></h3>
<p>Recordings of talks given at the Scientific Computing in Rust 2026 workshop
are now available on the <a href="https://www.youtube.com/@ScientificComputinginRust">YouTube channel</a>.
If you prefer a different view,
the <a href="https://scientificcomputing.rs/2026/timetable">timetable</a> of the workshop
has also been updated to provide links to the recordings.</p></description-html>
<link>https://www.scientificcomputing.rs/monthly/2026-07</link>
<guid>https://www.scientificcomputing.rs/monthly/2026-07</guid>
<pubDate>24 Jul 2026 12:00:00 GMT</pubDate>
</item>
<item>
<title>Scientific Computing in Rust Monthly #19</title>
<description><![CDATA[<p>Welcome to this month's issue of Scientific Computing in Rust Monthly.</p>
<p>This year's Scientific Computing in Rust annual workshop is just over a week away. The schedule for the workshop is available at
<a href="https://scientificcomputing.rs/2026/timetable">scientificcomputing.rs/2026/timetable</a> and it's not too late to register
at <a href="https://scientificcomputing.rs/2026/register">scientificcomputing.rs/2026/register</a>.</p>
<p>Scientific Computing in Rust Monthly can be viewed online at <a href="https://scientificcomputing.rs/monthly">scientificcomputing.rs/monthly</a>,
you can sign up to receive an email copy at <a href="https://mailinglist.scientificcomputing.rs">mailinglist.scientificcomputing.rs</a>,
or you can subscribe using the RSS feed at <a href="https://scientificcomputing.rs/monthly/rss.xml">scientificcomputing.rs/monthly/rss.xml</a>.</p>
<p>Items can be added to the next issue of the newsletter by opening a pull request to the
<a href="https://github.com/rust-scicomp/scientific-computing-in-rust-monthly">Scientific Computing in Rust Monthly repository on GitHub</a>.
You can find more information about adding items
<a href="https://github.com/rust-scicomp/scientific-computing-in-rust-monthly#contributing-an-item">here</a>.</p>
<h2>Crate of the month: hyperreal</h2>
<p><a href="https://crates.io/crates/hyperreal">crates.io</a> ~ <a href="https://docs.rs/hyperreal/latest/hyperreal/">docs.rs</a> ~ <a href="https://github.com/timschmidt/hyperreal/">source</a>
hyperreal is a crate that provides exact rational arithmetic, symbolic real values, lazy computable real approximation, and conservative structural facts for the hyper ecosystem.
If you'd like to hear more about hyperreal, be sure to attend this year's <a href="https://scientificcomputing.rs/2026">Scientific Computing in Rust annual workshop</a>.</p>
<h2>New releases</h2>
<h3><a href="https://crates.io/crates/cog3pio">cog3pio v0.1.0</a></h3>
<p>The <a href="https://cog3pio.readthedocs.io/en/v0.1.0/changelog/#010-2026-05-25">first minor release of cog3pio</a> -
a Rust/Python library for reading GeoTIFF raster data - is out! Main highlight is the
ability to do GPU-accelerated decoding of TIFF data via bindings to nvTIFF (see
<a href="https://crates.io/crates/nvtiff-sys">nvtiff-sys</a> crate). The tensor data in CUDA memory
can then be zero-copied across the Rust/Python boundary through the DLPack interchange
protocol (using <a href="https://crates.io/crates/dlpark">dlpark</a> crate). Read more about the
technical details and background motivation in this
<a href="https://weiji14.xyz/blog/geotiffs-to-gpus-part-3:-the-last-stage-via-dlpack-into-the-world/">three-part blog series</a>.</p>
<h3><a href="https://crates.io/crates/diffsol">diffsol v0.14</a></h3>
<p>diffsol is a Rust crate for solving ordinary differential equations (ODEs) and differential-algebraic equations (DAEs). The latest version includes:</p>
<ul>
<li><a href="https://martinjrobins.github.io/diffsol/primer/hybrid.html">Hybrid ODE support</a> - the classical example is the bouncing ball, but other examples are dosing schedules for pharmacological models or policy-based switching for epidemic models</li>
<li><a href="https://martinjrobins.github.io/diffsol/use/c.html">diffsol-c crate</a> with dynamic dispatch &amp; C FFI APIs for wrapping diffsol in other languages. <a href="https://github.com/alexallmont/pydiffsol">pydiffsol</a> is a Python wrapper that provides a nice example of how diffsol-c can be used in practice</li>
</ul>
<h3><a href="https://crates.io/crates/ferreus_bbfmm">ferreus_bbfmm v0.2.0</a></h3>
<p>A black-box fast multipole method crate.</p>
<ul>
<li>1D binary trees, 2D quadtrees, and 3D octrees</li>
<li>Adaptive and non-adaptive tree structures</li>
<li>Optimised low-rank M2L interactions using symmetry and compression</li>
<li>Support for multiple right-hand sides</li>
<li>User-defined kernels via traits</li>
<li>Optional simultaneous evaluation of kernel values and gradients, new in this release</li>
</ul>
<h3><a href="https://crates.io/crates/ferreus_rbf">ferreus_rbf v0.2.2</a></h3>
<p>A fast global radial basis function interpolator.</p>
<ul>
<li>Support for 1D, 2D, and 3D input domains</li>
<li>Scales to datasets with more than 1,000,000 source points, subject to hardware</li>
<li>Optional global trend transforms for capturing large-scale structure in the data</li>
<li>Fast 3D isosurface extraction using a surface-following regularised marching tetrahedra method</li>
<li>Optional simultaneous evaluation of RBF values and gradients</li>
<li>Built on faer for linear algebra, avoiding complex external dependencies</li>
</ul>
<h3><a href="https://crates.io/crates/ferreus_rmt">ferreus_rmt v0.1.0</a></h3>
<p>A new regularised marching tetrahedra isosurfacing crate, now used by ferreus_rbf.</p>
<ul>
<li>Regularised marching tetrahedra with vertex clustering</li>
<li>Surface-following extraction to reduce evaluation counts compared with full-volume sampling</li>
<li>Improved triangle quality compared with standard marching tetrahedra</li>
<li>Manifold, self-intersection-free mesh generation</li>
<li>Optional watertight extraction against an axis-aligned bounding box</li>
</ul>
<h3><a href="https://crates.io/crates/oximo">oximo v0.3.0</a></h3>
<p>oximo is a Rust algebraic modeling library for solving optimization problems, similar to Pyomo (Python) and JuMP (Julia).</p>
<p>At the moment, oximo supports building and solving LP/MILP models, with NLP/MINLP support planned for future releases.
From a user perspective, only the main oximo crate is needed. However, the broader ecosystem is structured into multiple crates to simplify development and enable extensibility.</p>
<p>I would really appreciate any feedback, particularly on the API design. Having an ergonomic API with Rust's type system is hard, especially since I'm trying to avoid macros for now.</p>
<h2>Events</h2>
<h3><a href="https://scientificcomputing.rs/2026">Scientific Computing in Rust 2026, 8-10 July, held virtually</a></h3>
<p>This year's Scientific Computing in Rust annual workshop is just over a week away.</p>
<p>The workshop features 10 minute talks on the use of Rust in a wide range of application areas, alongside tutorials, discussions and two longer invited talks.
This year's invited talks will be given by:</p>
<ul>
<li>Tom Meltzer, who will talk about using the <a href="https://github.com/TomMelt/mdb">mdb</a> debugging tool with MPI parallelised Rust codebases.</li>
<li>Timothy Schmidt, who will talk about <a href="https://crates.io/crates/hyperreal">hyperreal</a> and the hyper ecosystem.</li>
</ul>
<p>You can register to attend by visiting <a href="https://scientificcomputing.rs/2026/register">scientificcomputing.rs/2026/register</a>.</p>
<h3><a href="https://scipy.in/sci-py-rs/">SciPy India x Rust Delhi Meetup, 22 August 2026, Noida, India</a></h3>
<p><a href="https://scipy.in/">SciPy India</a> and <a href="https://rustdelhi.in/">Rust Delhi</a> are co-organising a technical meetup on
scientific computing in Rust and Python. The sessions dig into real-world scientific problems and how people are
solving them. The meetup runs from 2:00 PM to 5:00 PM at Essentia.dev in Noida, and the CFP is open to researchers,
scientists, and developers (or anyone working at the intersection of Rust and Python) who want to present their work. You can submit a proposal or register at <a href="https://scipy.in/sci-py-rs/">scipy.in/sci-py-rs</a>.</p>
<h2>Publications</h2>
<h3><a href="https://ideas.reify.ing/en/blog/agentics-for-scientific-computing/">Zhiqiu L., Agentics for Scientific Computing</a></h3>
<p>Agentics is an open-source platform for executable computational-science challenges.
This post discusses how Agentics can support Rust-based scientific-computing tools and research workflows by turning suitable problems into executable challenges where agents and humans can submit attempts, compare results, and preserve useful failures.</p>
<h3><a href="https://blog.galactic-forensics.space/blog/07-instrumentrs2/">Trappitsch R., instrumentRs v0.2.0 design ideas</a></h3>
<p>Blog post discussing design ideas for <code>instrumentRs v0.2.0</code>,
a toolkit to develop drivers to control scientific instrumentation from Rust.</p>
<h2>Help wanted</h2>
<h3><a href="https://github.com/tensor4all/tenferro-rs">tenferro-rs</a></h3>
<p><code>tenferro-rs</code> is a Rust-native differentiable tensor stack for scientific
computing, with dense tensors, eager and traced automatic differentiation
(<code>grad</code>/<code>vjp</code>/<code>jvp</code>), NumPy/JAX-style einsum, linear algebra and FFT operation
crates, and explicit CPU/CUDA/WebGPU backend control. The first crates were
published to crates.io as v0.1 this month (a preview ahead of a stable 1.0), and
the project leans on systematic validation: AD reference oracles,
finite-difference checks, runnable examples, CI, and reproducible benchmarks. It
is already the engine under
<a href="https://github.com/tensor4all/tensor4all-rs"><code>tensor4all-rs</code></a>, a Rust
tensor-network stack.</p>
<p>We are looking for scientific-computing feedback and independent validation on
real workloads: trying the examples and docs, reviewing AD and numerical
behavior, checking backend limitations, and reviewing benchmark methodology in
<a href="https://github.com/tensor4all/tenferro-benchmark"><code>tenferro-benchmark</code></a>. See the
<a href="https://tensor4all.org/blog/introducing-tenferro-rs/">launch post</a> for an
overview.</p>]]></description>
<description-html><p>Welcome to this month's issue of Scientific Computing in Rust Monthly.</p>
<p>This year's Scientific Computing in Rust annual workshop is just over a week away. The schedule for the workshop is available at
<a href="https://scientificcomputing.rs/2026/timetable">scientificcomputing.rs/2026/timetable</a> and it's not too late to register
at <a href="https://scientificcomputing.rs/2026/register">scientificcomputing.rs/2026/register</a>.</p>
<p>Scientific Computing in Rust Monthly can be viewed online at <a href="https://scientificcomputing.rs/monthly">scientificcomputing.rs/monthly</a>,
you can sign up to receive an email copy at <a href="https://mailinglist.scientificcomputing.rs">mailinglist.scientificcomputing.rs</a>,
or you can subscribe using the RSS feed at <a href="https://scientificcomputing.rs/monthly/rss.xml">scientificcomputing.rs/monthly/rss.xml</a>.</p>
<p>Items can be added to the next issue of the newsletter by opening a pull request to the
<a href="https://github.com/rust-scicomp/scientific-computing-in-rust-monthly">Scientific Computing in Rust Monthly repository on GitHub</a>.
You can find more information about adding items
<a href="https://github.com/rust-scicomp/scientific-computing-in-rust-monthly#contributing-an-item">here</a>.</p>
<h2>Crate of the month: hyperreal</h2>
<p><a href="https://crates.io/crates/hyperreal">crates.io</a> ~ <a href="https://docs.rs/hyperreal/latest/hyperreal/">docs.rs</a> ~ <a href="https://github.com/timschmidt/hyperreal/">source</a>
hyperreal is a crate that provides exact rational arithmetic, symbolic real values, lazy computable real approximation, and conservative structural facts for the hyper ecosystem.
If you'd like to hear more about hyperreal, be sure to attend this year's <a href="https://scientificcomputing.rs/2026">Scientific Computing in Rust annual workshop</a>.</p>
<h2>New releases</h2>
<h3><a href="https://crates.io/crates/cog3pio">cog3pio v0.1.0</a></h3>
<p>The <a href="https://cog3pio.readthedocs.io/en/v0.1.0/changelog/#010-2026-05-25">first minor release of cog3pio</a> -
a Rust/Python library for reading GeoTIFF raster data - is out! Main highlight is the
ability to do GPU-accelerated decoding of TIFF data via bindings to nvTIFF (see
<a href="https://crates.io/crates/nvtiff-sys">nvtiff-sys</a> crate). The tensor data in CUDA memory
can then be zero-copied across the Rust/Python boundary through the DLPack interchange
protocol (using <a href="https://crates.io/crates/dlpark">dlpark</a> crate). Read more about the
technical details and background motivation in this
<a href="https://weiji14.xyz/blog/geotiffs-to-gpus-part-3:-the-last-stage-via-dlpack-into-the-world/">three-part blog series</a>.</p>
<h3><a href="https://crates.io/crates/diffsol">diffsol v0.14</a></h3>
<p>diffsol is a Rust crate for solving ordinary differential equations (ODEs) and differential-algebraic equations (DAEs). The latest version includes:</p>
<ul>
<li><a href="https://martinjrobins.github.io/diffsol/primer/hybrid.html">Hybrid ODE support</a> - the classical example is the bouncing ball, but other examples are dosing schedules for pharmacological models or policy-based switching for epidemic models</li>
<li><a href="https://martinjrobins.github.io/diffsol/use/c.html">diffsol-c crate</a> with dynamic dispatch &amp; C FFI APIs for wrapping diffsol in other languages. <a href="https://github.com/alexallmont/pydiffsol">pydiffsol</a> is a Python wrapper that provides a nice example of how diffsol-c can be used in practice</li>
</ul>
<h3><a href="https://crates.io/crates/ferreus_bbfmm">ferreus_bbfmm v0.2.0</a></h3>
<p>A black-box fast multipole method crate.</p>
<ul>
<li>1D binary trees, 2D quadtrees, and 3D octrees</li>
<li>Adaptive and non-adaptive tree structures</li>
<li>Optimised low-rank M2L interactions using symmetry and compression</li>
<li>Support for multiple right-hand sides</li>
<li>User-defined kernels via traits</li>
<li>Optional simultaneous evaluation of kernel values and gradients, new in this release</li>
</ul>
<h3><a href="https://crates.io/crates/ferreus_rbf">ferreus_rbf v0.2.2</a></h3>
<p>A fast global radial basis function interpolator.</p>
<ul>
<li>Support for 1D, 2D, and 3D input domains</li>
<li>Scales to datasets with more than 1,000,000 source points, subject to hardware</li>
<li>Optional global trend transforms for capturing large-scale structure in the data</li>
<li>Fast 3D isosurface extraction using a surface-following regularised marching tetrahedra method</li>
<li>Optional simultaneous evaluation of RBF values and gradients</li>
<li>Built on faer for linear algebra, avoiding complex external dependencies</li>
</ul>
<h3><a href="https://crates.io/crates/ferreus_rmt">ferreus_rmt v0.1.0</a></h3>
<p>A new regularised marching tetrahedra isosurfacing crate, now used by ferreus_rbf.</p>
<ul>
<li>Regularised marching tetrahedra with vertex clustering</li>
<li>Surface-following extraction to reduce evaluation counts compared with full-volume sampling</li>
<li>Improved triangle quality compared with standard marching tetrahedra</li>
<li>Manifold, self-intersection-free mesh generation</li>
<li>Optional watertight extraction against an axis-aligned bounding box</li>
</ul>
<h3><a href="https://crates.io/crates/oximo">oximo v0.3.0</a></h3>
<p>oximo is a Rust algebraic modeling library for solving optimization problems, similar to Pyomo (Python) and JuMP (Julia).</p>
<p>At the moment, oximo supports building and solving LP/MILP models, with NLP/MINLP support planned for future releases.
From a user perspective, only the main oximo crate is needed. However, the broader ecosystem is structured into multiple crates to simplify development and enable extensibility.</p>
<p>I would really appreciate any feedback, particularly on the API design. Having an ergonomic API with Rust's type system is hard, especially since I'm trying to avoid macros for now.</p>
<h2>Events</h2>
<h3><a href="https://scientificcomputing.rs/2026">Scientific Computing in Rust 2026, 8-10 July, held virtually</a></h3>
<p>This year's Scientific Computing in Rust annual workshop is just over a week away.</p>
<p>The workshop features 10 minute talks on the use of Rust in a wide range of application areas, alongside tutorials, discussions and two longer invited talks.
This year's invited talks will be given by:</p>
<ul>
<li>Tom Meltzer, who will talk about using the <a href="https://github.com/TomMelt/mdb">mdb</a> debugging tool with MPI parallelised Rust codebases.</li>
<li>Timothy Schmidt, who will talk about <a href="https://crates.io/crates/hyperreal">hyperreal</a> and the hyper ecosystem.</li>
</ul>
<p>You can register to attend by visiting <a href="https://scientificcomputing.rs/2026/register">scientificcomputing.rs/2026/register</a>.</p>
<h3><a href="https://scipy.in/sci-py-rs/">SciPy India x Rust Delhi Meetup, 22 August 2026, Noida, India</a></h3>
<p><a href="https://scipy.in/">SciPy India</a> and <a href="https://rustdelhi.in/">Rust Delhi</a> are co-organising a technical meetup on
scientific computing in Rust and Python. The sessions dig into real-world scientific problems and how people are
solving them. The meetup runs from 2:00 PM to 5:00 PM at Essentia.dev in Noida, and the CFP is open to researchers,
scientists, and developers (or anyone working at the intersection of Rust and Python) who want to present their work. You can submit a proposal or register at <a href="https://scipy.in/sci-py-rs/">scipy.in/sci-py-rs</a>.</p>
<h2>Publications</h2>
<h3><a href="https://ideas.reify.ing/en/blog/agentics-for-scientific-computing/">Zhiqiu L., Agentics for Scientific Computing</a></h3>
<p>Agentics is an open-source platform for executable computational-science challenges.
This post discusses how Agentics can support Rust-based scientific-computing tools and research workflows by turning suitable problems into executable challenges where agents and humans can submit attempts, compare results, and preserve useful failures.</p>
<h3><a href="https://blog.galactic-forensics.space/blog/07-instrumentrs2/">Trappitsch R., instrumentRs v0.2.0 design ideas</a></h3>
<p>Blog post discussing design ideas for <code>instrumentRs v0.2.0</code>,
a toolkit to develop drivers to control scientific instrumentation from Rust.</p>
<h2>Help wanted</h2>
<h3><a href="https://github.com/tensor4all/tenferro-rs">tenferro-rs</a></h3>
<p><code>tenferro-rs</code> is a Rust-native differentiable tensor stack for scientific
computing, with dense tensors, eager and traced automatic differentiation
(<code>grad</code>/<code>vjp</code>/<code>jvp</code>), NumPy/JAX-style einsum, linear algebra and FFT operation
crates, and explicit CPU/CUDA/WebGPU backend control. The first crates were
published to crates.io as v0.1 this month (a preview ahead of a stable 1.0), and
the project leans on systematic validation: AD reference oracles,
finite-difference checks, runnable examples, CI, and reproducible benchmarks. It
is already the engine under
<a href="https://github.com/tensor4all/tensor4all-rs"><code>tensor4all-rs</code></a>, a Rust
tensor-network stack.</p>
<p>We are looking for scientific-computing feedback and independent validation on
real workloads: trying the examples and docs, reviewing AD and numerical
behavior, checking backend limitations, and reviewing benchmark methodology in
<a href="https://github.com/tensor4all/tenferro-benchmark"><code>tenferro-benchmark</code></a>. See the
<a href="https://tensor4all.org/blog/introducing-tenferro-rs/">launch post</a> for an
overview.</p></description-html>
<link>https://www.scientificcomputing.rs/monthly/2026-06</link>
<guid>https://www.scientificcomputing.rs/monthly/2026-06</guid>
<pubDate>30 Jun 2026 12:00:00 GMT</pubDate>
</item>
<item>
<title>Scientific Computing in Rust Monthly #18</title>
<description><![CDATA[<p>Welcome to this month's issue of Scientific Computing in Rust Monthly.</p>
<p>Scientific Computing in Rust Monthly can be viewed online at <a href="https://scientificcomputing.rs/monthly">scientificcomputing.rs/monthly</a>,
you can sign up to receive an email copy at <a href="https://mailinglist.scientificcomputing.rs">mailinglist.scientificcomputing.rs</a>,
or you can subscribe using the RSS feed at <a href="https://scientificcomputing.rs/monthly/rss.xml">scientificcomputing.rs/monthly/rss.xml</a>.</p>
<p>Items can be added to the next issue of the newsletter by opening a pull request to the
<a href="https://github.com/rust-scicomp/scientific-computing-in-rust-monthly">Scientific Computing in Rust Monthly repository on GitHub</a>.
You can find more information about adding items
<a href="https://github.com/rust-scicomp/scientific-computing-in-rust-monthly#contributing-an-item">here</a>.</p>
<h2>Crate of the month: hotpath</h2>
<p><a href="https://crates.io/crates/hotpath">crates.io</a> ~ <a href="https://docs.rs/hotpath/0.16.1/hotpath/">docs.rs</a> ~ <a href="https://github.com/pawurb/hotpath-rs">source</a> ~ <a href="https://hotpath.rs/">www</a></p>
<p>Hotpath-rs is an easy-to-configure Rust performance profiler.
It shows exactly where your code spends time, burns CPU, and allocates memory.
Hotpath-rs helps you distinguish between functions that are slow
because they wait on I/O and those that are CPU-intensive.
Trying hotpath-rs out in self-profiling mode is as easy as typing
<code>ssh demo.hotpath.rs</code>.</p>
<h2>New releases</h2>
<h3><a href="https://crates.io/crates/burn">burn v0.21.0</a></h3>
<p>After five pre-releases over the last three months, <code>burn</code> v0.21.0
was recently released.
The gains span distributed workflows for training large models
all the way down to small-model inference,
where the reduced framework overhead becomes especially noticeable.
Full release notes can be found
<a href="https://github.com/tracel-ai/burn/releases/tag/v0.21.0">on the GitHub release page</a>.</p>
<h3><a href="https://github.com/NVlabs/cuda-oxide/releases/tag/v0.1.0">cuda-oxide v0.1.0</a></h3>
<p>Cuda-oxide is an experimental rustc backend
for compiling CUDA GPU kernels written in pure Rust to PTX.
It supports single-source Rust GPU programs where host
and device code live together and are built through <code>cargo oxide</code>.</p>
<h3><a href="https://crates.io/crates/delaunay">delaunay v0.7.8</a></h3>
<p>Delaunay v0.7.8 provides D-dimensional
<a href="https://en.wikipedia.org/wiki/Delaunay_triangulation">Delaunay triangulations</a>
and <a href="https://en.wikipedia.org/wiki/Convex_hull">convex hulls</a>
(2D through 5D explicitly tested)
with <a href="https://en.wikipedia.org/wiki/Piecewise_linear_manifold">PL-manifold</a> (default)
or <a href="https://en.wikipedia.org/wiki/Pseudomanifold">pseudomanifold</a> guarantees
on finite point sets with Euclidean and toroidal global topologies.
It uses exact predicates, <a href="https://dl.acm.org/doi/10.1145/77635.77639">Simulation of Simplicity</a>,
and <a href="https://en.wikipedia.org/wiki/Hilbert_curve">Hilbert curves</a>
for robust degeneracy handling,
deterministic insertion ordering, and efficient spatial indexing.
It provides a 4-level validation hierarchy covering elements, data structure validity,
manifold topology, and Delaunay adherence.
It supports <a href="https://en.wikipedia.org/wiki/Pachner_moves">Pachner moves</a>
up to D=5 via bistellar flips, vertex insertion/deletion,
and bounded flip/rebuild conversion of non-Delaunay triangulations.
Auxiliary data may be stored in vertices and simplices,
with external secondary maps for algorithm use,
and the data structure is serializable/deserializable.
Written in safe Rust with no unsafe code,
it is inspired by <a href="https://www.cgal.org">CGAL</a>
and <a href="https://crates.io/crates/spade">Spade</a>
and aims to be a lightweight,
rigorous Rust-native option for workflows needing explicit topology settings,
validation levels, deterministic construction controls, and repair behavior.</p>
<h3><a href="https://crates.io/crates/numra">numra v0.1.4</a></h3>
<p><code>numra</code> is the umbrella crate of the Numra workspace,
which consists of twenty native-Rust crates such as
differential equations, optimization, sensitivity analysis,
uncertainty quantification, linear algebra, and more.
Dense linear algebra builds on <code>faer</code>;
the rest is native Rust with no FFI to C or FORTRAN.</p>
<h3><a href="https://crates.io/crates/pluot">pluot v0.1.0</a></h3>
<p>Pluot is a crate intended to facilitate the development of visualizations
that can be rendered from multiple programming languages.
This currently includes Rust, Python, and JavaScript.
Further, Pluot aims to support both static and interactive use cases.
For some demonstrations, see also the <a href="https://pluot.dev/">pluot website</a>.</p>
<h3><a href="https://crates.io/crates/rayon">rayon v1.12.0</a></h3>
<p>This new version of <code>rayon</code> contains a bug fix in parallel <code>Range&lt;char&gt;</code>
and added a new method <code>ParallelSlice::par_array_windows</code>.
Details can be found
<a href="https://github.com/rayon-rs/rayon/blob/main/RELEASES.html">in the release notes</a>.</p>
<h2>Events</h2>
<h3><a href="https://scientificcomputing.rs/2026/">Scientific Computing in Rust, 8-10 July 2026, held virutally</a></h3>
<p>This year's scientific computing in Rust workshop is taking place on 8-10 July. The deadline for talk submissions
is Friday 5 June: you can submit your talk at <a href="https://scientificcomputing.rs/2026/submit-talk">scientificcomputing.rs/2026/submit-talk</a>.</p>
<h2>Publications</h2>
<h3><a href="https://doi.org/10.48550/arXiv.2605.14118">Keller Mark S. and Gehlenborg Nils, Pluot: Towards 'write once, run everywhere' visualization software, arXiv 2605.14118</a></h3>
<p>This manuscript describes Pluot, a crate to facilitate write-once,
render in many places visualizations.</p>
<h3><a href="https://apas.tel/blog/optimizing-image-rs-blur">Pastel Arthur, 5× faster <code>fast_blur</code> in <code>image-rs</code></a></h3>
<p>An interesting algorithm discussion on a new <code>fast_blur</code> implementation in <code>image-rs</code>.
The article discusses the algorithm itself, profiling of the previous implementation,
as well as the design choices in the new version.
Especially interesting is the analysis and discussion of how fast various CPU instructions
are in comparison with each other.</p>]]></description>
<description-html><p>Welcome to this month's issue of Scientific Computing in Rust Monthly.</p>
<p>Scientific Computing in Rust Monthly can be viewed online at <a href="https://scientificcomputing.rs/monthly">scientificcomputing.rs/monthly</a>,
you can sign up to receive an email copy at <a href="https://mailinglist.scientificcomputing.rs">mailinglist.scientificcomputing.rs</a>,
or you can subscribe using the RSS feed at <a href="https://scientificcomputing.rs/monthly/rss.xml">scientificcomputing.rs/monthly/rss.xml</a>.</p>
<p>Items can be added to the next issue of the newsletter by opening a pull request to the
<a href="https://github.com/rust-scicomp/scientific-computing-in-rust-monthly">Scientific Computing in Rust Monthly repository on GitHub</a>.
You can find more information about adding items
<a href="https://github.com/rust-scicomp/scientific-computing-in-rust-monthly#contributing-an-item">here</a>.</p>
<h2>Crate of the month: hotpath</h2>
<p><a href="https://crates.io/crates/hotpath">crates.io</a> ~ <a href="https://docs.rs/hotpath/0.16.1/hotpath/">docs.rs</a> ~ <a href="https://github.com/pawurb/hotpath-rs">source</a> ~ <a href="https://hotpath.rs/">www</a></p>
<p>Hotpath-rs is an easy-to-configure Rust performance profiler.
It shows exactly where your code spends time, burns CPU, and allocates memory.
Hotpath-rs helps you distinguish between functions that are slow
because they wait on I/O and those that are CPU-intensive.
Trying hotpath-rs out in self-profiling mode is as easy as typing
<code>ssh demo.hotpath.rs</code>.</p>
<h2>New releases</h2>
<h3><a href="https://crates.io/crates/burn">burn v0.21.0</a></h3>
<p>After five pre-releases over the last three months, <code>burn</code> v0.21.0
was recently released.
The gains span distributed workflows for training large models
all the way down to small-model inference,
where the reduced framework overhead becomes especially noticeable.
Full release notes can be found
<a href="https://github.com/tracel-ai/burn/releases/tag/v0.21.0">on the GitHub release page</a>.</p>
<h3><a href="https://github.com/NVlabs/cuda-oxide/releases/tag/v0.1.0">cuda-oxide v0.1.0</a></h3>
<p>Cuda-oxide is an experimental rustc backend
for compiling CUDA GPU kernels written in pure Rust to PTX.
It supports single-source Rust GPU programs where host
and device code live together and are built through <code>cargo oxide</code>.</p>
<h3><a href="https://crates.io/crates/delaunay">delaunay v0.7.8</a></h3>
<p>Delaunay v0.7.8 provides D-dimensional
<a href="https://en.wikipedia.org/wiki/Delaunay_triangulation">Delaunay triangulations</a>
and <a href="https://en.wikipedia.org/wiki/Convex_hull">convex hulls</a>
(2D through 5D explicitly tested)
with <a href="https://en.wikipedia.org/wiki/Piecewise_linear_manifold">PL-manifold</a> (default)
or <a href="https://en.wikipedia.org/wiki/Pseudomanifold">pseudomanifold</a> guarantees
on finite point sets with Euclidean and toroidal global topologies.
It uses exact predicates, <a href="https://dl.acm.org/doi/10.1145/77635.77639">Simulation of Simplicity</a>,
and <a href="https://en.wikipedia.org/wiki/Hilbert_curve">Hilbert curves</a>
for robust degeneracy handling,
deterministic insertion ordering, and efficient spatial indexing.
It provides a 4-level validation hierarchy covering elements, data structure validity,
manifold topology, and Delaunay adherence.
It supports <a href="https://en.wikipedia.org/wiki/Pachner_moves">Pachner moves</a>
up to D=5 via bistellar flips, vertex insertion/deletion,
and bounded flip/rebuild conversion of non-Delaunay triangulations.
Auxiliary data may be stored in vertices and simplices,
with external secondary maps for algorithm use,
and the data structure is serializable/deserializable.
Written in safe Rust with no unsafe code,
it is inspired by <a href="https://www.cgal.org">CGAL</a>
and <a href="https://crates.io/crates/spade">Spade</a>
and aims to be a lightweight,
rigorous Rust-native option for workflows needing explicit topology settings,
validation levels, deterministic construction controls, and repair behavior.</p>
<h3><a href="https://crates.io/crates/numra">numra v0.1.4</a></h3>
<p><code>numra</code> is the umbrella crate of the Numra workspace,
which consists of twenty native-Rust crates such as
differential equations, optimization, sensitivity analysis,
uncertainty quantification, linear algebra, and more.
Dense linear algebra builds on <code>faer</code>;
the rest is native Rust with no FFI to C or FORTRAN.</p>
<h3><a href="https://crates.io/crates/pluot">pluot v0.1.0</a></h3>
<p>Pluot is a crate intended to facilitate the development of visualizations
that can be rendered from multiple programming languages.
This currently includes Rust, Python, and JavaScript.
Further, Pluot aims to support both static and interactive use cases.
For some demonstrations, see also the <a href="https://pluot.dev/">pluot website</a>.</p>
<h3><a href="https://crates.io/crates/rayon">rayon v1.12.0</a></h3>
<p>This new version of <code>rayon</code> contains a bug fix in parallel <code>Range&lt;char&gt;</code>
and added a new method <code>ParallelSlice::par_array_windows</code>.
Details can be found
<a href="https://github.com/rayon-rs/rayon/blob/main/RELEASES.html">in the release notes</a>.</p>
<h2>Events</h2>
<h3><a href="https://scientificcomputing.rs/2026/">Scientific Computing in Rust, 8-10 July 2026, held virutally</a></h3>
<p>This year's scientific computing in Rust workshop is taking place on 8-10 July. The deadline for talk submissions
is Friday 5 June: you can submit your talk at <a href="https://scientificcomputing.rs/2026/submit-talk">scientificcomputing.rs/2026/submit-talk</a>.</p>
<h2>Publications</h2>
<h3><a href="https://doi.org/10.48550/arXiv.2605.14118">Keller Mark S. and Gehlenborg Nils, Pluot: Towards 'write once, run everywhere' visualization software, arXiv 2605.14118</a></h3>
<p>This manuscript describes Pluot, a crate to facilitate write-once,
render in many places visualizations.</p>
<h3><a href="https://apas.tel/blog/optimizing-image-rs-blur">Pastel Arthur, 5× faster <code>fast_blur</code> in <code>image-rs</code></a></h3>
<p>An interesting algorithm discussion on a new <code>fast_blur</code> implementation in <code>image-rs</code>.
The article discusses the algorithm itself, profiling of the previous implementation,
as well as the design choices in the new version.
Especially interesting is the analysis and discussion of how fast various CPU instructions
are in comparison with each other.</p></description-html>
<link>https://www.scientificcomputing.rs/monthly/2026-05</link>
<guid>https://www.scientificcomputing.rs/monthly/2026-05</guid>
<pubDate>22 May 2026 12:00:00 GMT</pubDate>
</item>
<item>
<title>Scientific Computing in Rust Monthly #17</title>
<description><![CDATA[<p>Welcome to this month's issue of Scientific Computing in Rust Monthly.</p>
<p>We're very excited to announce that this year's Scientific Computing in Rust virtual workshop will take place on <strong>8-10 July</strong>.
See the Events section below for more details.</p>
<p>Scientific Computing in Rust Monthly can be viewed online at <a href="https://scientificcomputing.rs/monthly">scientificcomputing.rs/monthly</a>,
you can sign up to receive an email copy at <a href="https://mailinglist.scientificcomputing.rs">mailinglist.scientificcomputing.rs</a>,
or you can subscribe using the RSS feed at <a href="https://scientificcomputing.rs/monthly/rss.xml">scientificcomputing.rs/monthly/rss.xml</a>.</p>
<p>Items can be added to the next issue of the newsletter by opening a pull request to the
<a href="https://github.com/rust-scicomp/scientific-computing-in-rust-monthly">Scientific Computing in Rust Monthly repository on GitHub</a>.
You can find more information about adding items
<a href="https://github.com/rust-scicomp/scientific-computing-in-rust-monthly#contributing-an-item">here</a>.</p>
<h2>Crate of the month: pastey</h2>
<p><a href="https://crates.io/crates/pastey">crates.io</a> ~ <a href="https://docs.rs/pastey/0.2.2/pastey/">docs.rs</a> ~ <a href="https://github.com/AS1100K/pastey">source</a></p>
<p>The <a href="https://crates.io/crates/paste">paste</a> 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.</p>
<p><a href="https://crates.io/crates/pastey">pastey</a> is a well maintained fork of paste that allows you to do everything that paste did without relying on an unmaintained dependency.</p>
<h2>New releases</h2>
<h3><a href="https://crates.io/crates/kuva">kuva 0.1.6</a></h3>
<p><a href="https://psy-fer.github.io/kuva/">kuva</a> 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.</p>
<h3><a href="https://crates.io/crates/la-stack">la-stack 0.4.1</a></h3>
<p>la-stack is a library providing fast, stack-allocated linear algebra for fixed dimensions in Rust.
Key recent changes:</p>
<ul>
<li>Exact determinants are now up to ~40x faster according to benchmarking, and exact linear solves are up to ~3x faster in my measurements.</li>
<li>Stack-based exact arithmetic kernels</li>
<li>IEEE 754 bit decomposition, exact <code>BigRational</code></li>
<li>Integer-only Bareiss determinant kernels</li>
<li>Hybrid Bareiss exact solve: fraction-free forward elimination in <code>BigInt</code> on <code>(A | b)</code>, then back-substitution in BigRational</li>
<li>Direct use of <code>f64_decompose</code> in production exact-arithmetic paths</li>
</ul>
<p>Example: D=5 det_exact has sped up from 164µs to 4.2µs (~39×)</p>
<h3><a href="https://crates.io/crates/ndelement">ndelement</a>, <a href="https://crates.io/crates/ndmesh">ndmesh</a> and <a href="https://crates.io/crates/ndfunctionspace">ndfunctionspace</a> 0.4.0</h3>
<p>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.</p>
<p>Note: in previous releases, ndmesh was named <a href="https://crates.io/crates/ndgrid">ndgrid</a>.</p>
<h3><a href="https://crates.io/crates/unirand">unirand 0.2.0</a></h3>
<p>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:</p>
<ul>
<li>Implemented <code>Iterator&lt;Item = f32&gt;</code> which enables idiomatic use of Rust iterator adaptors</li>
<li>Implemented <code>rand_core::RngCore</code> which integrates with the Rust random number ecosystem</li>
</ul>
<p>unirand is based on <a href="https://doi.org/10.1016/0167-7152(90)90092-L">"Toward a universal random number generator" by George Marsaglia, Arif Zaman, Wai Wan Tsang</a>.</p>
<h2>Events</h2>
<h3><a href="https://scientificcomputing.rs/2026/">Scientific Computing in Rust, 8-10 July 2026, virtual</a></h3>
<p>This year's Scientific Computing in Rust virtual workshop will take place on <strong>8-10 July</strong>.
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 <a href="https://www.youtube.com/@ScientificComputinginRust">Scientific Computing in Rust YouTube channel</a>.</p>
<p>Talks and tutorials can be submitted at <a href="https://scientificcomputing.rs/2026/submit-talk">scientificcomputing.rs/2026/submit-talk</a>. The deadline for submissions is
Friday 5 June.</p>
<p>More information, free registration, and talk and tutorial submission forms can be found on the workshop's website at <a href="https://scientificcomputing.rs/2026/">scientificcomputing.rs/2026</a>.</p>
<h3><a href="https://rustmeet.eu/en/">RustMeet, 12-14 June 2026, Kraków, Poland</a></h3>
<p>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.</p>
<h2>Publications</h2>
<h3><a href="https://kylemdouglass.com/posts/ray-surface-intersections-with-the-newton-raphson-algorithm/">Kyle M. Douglass, Ray-Surface Intersections with the Newton-Raphson Algorithm</a></h3>
<p>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 <code>tracing</code> crate helped find the issue and improve the <a href="https://github.com/kmdouglass/cherry/">Cherry Ray Tracer</a>.</p>]]></description>
<description-html><p>Welcome to this month's issue of Scientific Computing in Rust Monthly.</p>
<p>We're very excited to announce that this year's Scientific Computing in Rust virtual workshop will take place on <strong>8-10 July</strong>.
See the Events section below for more details.</p>
<p>Scientific Computing in Rust Monthly can be viewed online at <a href="https://scientificcomputing.rs/monthly">scientificcomputing.rs/monthly</a>,
you can sign up to receive an email copy at <a href="https://mailinglist.scientificcomputing.rs">mailinglist.scientificcomputing.rs</a>,
or you can subscribe using the RSS feed at <a href="https://scientificcomputing.rs/monthly/rss.xml">scientificcomputing.rs/monthly/rss.xml</a>.</p>
<p>Items can be added to the next issue of the newsletter by opening a pull request to the
<a href="https://github.com/rust-scicomp/scientific-computing-in-rust-monthly">Scientific Computing in Rust Monthly repository on GitHub</a>.
You can find more information about adding items
<a href="https://github.com/rust-scicomp/scientific-computing-in-rust-monthly#contributing-an-item">here</a>.</p>
<h2>Crate of the month: pastey</h2>
<p><a href="https://crates.io/crates/pastey">crates.io</a> ~ <a href="https://docs.rs/pastey/0.2.2/pastey/">docs.rs</a> ~ <a href="https://github.com/AS1100K/pastey">source</a></p>
<p>The <a href="https://crates.io/crates/paste">paste</a> 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.</p>
<p><a href="https://crates.io/crates/pastey">pastey</a> is a well maintained fork of paste that allows you to do everything that paste did without relying on an unmaintained dependency.</p>
<h2>New releases</h2>
<h3><a href="https://crates.io/crates/kuva">kuva 0.1.6</a></h3>
<p><a href="https://psy-fer.github.io/kuva/">kuva</a> 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.</p>
<h3><a href="https://crates.io/crates/la-stack">la-stack 0.4.1</a></h3>
<p>la-stack is a library providing fast, stack-allocated linear algebra for fixed dimensions in Rust.
Key recent changes:</p>
<ul>
<li>Exact determinants are now up to ~40x faster according to benchmarking, and exact linear solves are up to ~3x faster in my measurements.</li>
<li>Stack-based exact arithmetic kernels</li>
<li>IEEE 754 bit decomposition, exact <code>BigRational</code></li>
<li>Integer-only Bareiss determinant kernels</li>
<li>Hybrid Bareiss exact solve: fraction-free forward elimination in <code>BigInt</code> on <code>(A | b)</code>, then back-substitution in BigRational</li>
<li>Direct use of <code>f64_decompose</code> in production exact-arithmetic paths</li>
</ul>
<p>Example: D=5 det_exact has sped up from 164µs to 4.2µs (~39×)</p>
<h3><a href="https://crates.io/crates/ndelement">ndelement</a>, <a href="https://crates.io/crates/ndmesh">ndmesh</a> and <a href="https://crates.io/crates/ndfunctionspace">ndfunctionspace</a> 0.4.0</h3>
<p>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.</p>
<p>Note: in previous releases, ndmesh was named <a href="https://crates.io/crates/ndgrid">ndgrid</a>.</p>
<h3><a href="https://crates.io/crates/unirand">unirand 0.2.0</a></h3>
<p>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:</p>
<ul>
<li>Implemented <code>Iterator&lt;Item = f32&gt;</code> which enables idiomatic use of Rust iterator adaptors</li>
<li>Implemented <code>rand_core::RngCore</code> which integrates with the Rust random number ecosystem</li>
</ul>
<p>unirand is based on <a href="https://doi.org/10.1016/0167-7152(90)90092-L">"Toward a universal random number generator" by George Marsaglia, Arif Zaman, Wai Wan Tsang</a>.</p>
<h2>Events</h2>
<h3><a href="https://scientificcomputing.rs/2026/">Scientific Computing in Rust, 8-10 July 2026, virtual</a></h3>
<p>This year's Scientific Computing in Rust virtual workshop will take place on <strong>8-10 July</strong>.
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 <a href="https://www.youtube.com/@ScientificComputinginRust">Scientific Computing in Rust YouTube channel</a>.</p>
<p>Talks and tutorials can be submitted at <a href="https://scientificcomputing.rs/2026/submit-talk">scientificcomputing.rs/2026/submit-talk</a>. The deadline for submissions is
Friday 5 June.</p>
<p>More information, free registration, and talk and tutorial submission forms can be found on the workshop's website at <a href="https://scientificcomputing.rs/2026/">scientificcomputing.rs/2026</a>.</p>
<h3><a href="https://rustmeet.eu/en/">RustMeet, 12-14 June 2026, Kraków, Poland</a></h3>
<p>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.</p>
<h2>Publications</h2>
<h3><a href="https://kylemdouglass.com/posts/ray-surface-intersections-with-the-newton-raphson-algorithm/">Kyle M. Douglass, Ray-Surface Intersections with the Newton-Raphson Algorithm</a></h3>
<p>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 <code>tracing</code> crate helped find the issue and improve the <a href="https://github.com/kmdouglass/cherry/">Cherry Ray Tracer</a>.</p></description-html>
<link>https://www.scientificcomputing.rs/monthly/2026-04</link>
<guid>https://www.scientificcomputing.rs/monthly/2026-04</guid>
<pubDate>27 Apr 2026 12:00:00 GMT</pubDate>
</item>
<item>
<title>Scientific Computing in Rust Monthly #16</title>
<description><![CDATA[<p>Welcome to this month's issue of Scientific Computing in Rust Monthly.</p>
<p>Scientific Computing in Rust Monthly can be viewed online at <a href="https://scientificcomputing.rs/monthly">scientificcomputing.rs/monthly</a>,
you can sign up to receive an email copy at <a href="https://mailinglist.scientificcomputing.rs">mailinglist.scientificcomputing.rs</a>,
or you can subscribe using the RSS feed at <a href="https://scientificcomputing.rs/monthly/rss.xml">scientificcomputing.rs/monthly/rss.xml</a>.</p>
<p>Items can be added to the next issue of the newsletter by opening a pull request to the
<a href="https://github.com/rust-scicomp/scientific-computing-in-rust-monthly">Scientific Computing in Rust Monthly repository on GitHub</a>.
You can find more information about adding items
<a href="https://github.com/rust-scicomp/scientific-computing-in-rust-monthly#contributing-an-item">here</a>.</p>
<h2>Crate of the month: rstest</h2>
<p><a href="https://crates.io/crates/rstest">crates.io</a> ~ <a href="https://docs.rs/rstest/latest/rstest/">docs.rs</a> ~ <a href="https://github.com/la10736/rstest">source</a>  </p>
<p><code>rstest</code> is a fixture based test framework for Rust. It uses procedural macros to allow writing of fixtures on table-based tests. This can be very useful, when you want to, e.g., test multiple values without rewriting the tests.</p>
<h2>New releases</h2>
<h3><a href="https://kmdouglass.github.io/cherry/">Cherry</a></h3>
<p>Cherry is a sequential ray tracer for optical systems design that runs entirely in the browser and is written in Rust. An updated version of Cherry was recently published in which the original Javascript user interface was replaced with <a href="https://github.com/emilk/egui">egui</a>, an immediate mode GUI for Rust with WASM support.
To try Cherry, click the link above and enjoy designing!</p>
<h3><a href="https://crates.io/crates/complex-bessel">complex-bessel 0.1.0</a></h3>
<p>A pure Rust implementation of the Amos (TOMS 644) algorithm for computing Bessel, Hankel, and Airy functions of complex argument and real order. No Fortran/C FFI dependencies required.</p>
<h3><a href="https://crates.io/crates/la-stack">la-stack 0.3.0</a></h3>
<p><code>la-stack</code> is a fast, stack-allocated linear algebra package for fixed dimensions in Rust.
Recent changes for v0.3.0 can be found <a href="https://github.com/acgetchell/la-stack/releases/tag/v0.3.0">here</a>.</p>
<h3><a href="https://crates.io/crates/polars">polars v0.53.0</a></h3>
<p>Polars is an analytical query engine written for DataFrames. It is designed to be fast, easy to use and expressive.
Highlights of this release include the addition of extension types. A full list of changes can be found <a href="https://github.com/pola-rs/polars/releases/tag/rs-0.53.0">here</a>.</p>
<h3><a href="https://crates.io/crates/vforce">vforce 1.0.0</a></h3>
<p>Vforce provides safe, no_std Rust bindings for the VForce family of hardware-accelerated vectorized math functions in the Accelerate framework on MacOS. It is generic over single and double-precision floats, and automatically chunks over very large arrays. Useful for speeding up transcendental functions on Apple hardware when working with 1-d arrays.</p>
<h3><a href="https://crates.io/crates/zarrs">zarrs v0.23.6</a></h3>
<p><code>zarrs</code> is a Rust library for the Zarr storage format for multidimensional arrays and metadata.
Recent changes since v0.23.0 (Feb 1, 2026), can be found <a href="https://github.com/zarrs/zarrs/releases">here</a>.</p>
<h2>Publications</h2>
<h3><a href="https://nrposner.com/blog/when-vectorized-arrays-arent-enough/">N. R. Posner, When Vectorized Arrays Aren't Enough</a></h3>
<p>An exploration of Rust optimizations made to a Python astrophysics simulation, from bytecode to assembly. Provides examples and builds intuition on how and when to deploy lower-level solutions to avoid NumPy's intermediate allocations.</p>]]></description>
<description-html><p>Welcome to this month's issue of Scientific Computing in Rust Monthly.</p>
<p>Scientific Computing in Rust Monthly can be viewed online at <a href="https://scientificcomputing.rs/monthly">scientificcomputing.rs/monthly</a>,
you can sign up to receive an email copy at <a href="https://mailinglist.scientificcomputing.rs">mailinglist.scientificcomputing.rs</a>,
or you can subscribe using the RSS feed at <a href="https://scientificcomputing.rs/monthly/rss.xml">scientificcomputing.rs/monthly/rss.xml</a>.</p>
<p>Items can be added to the next issue of the newsletter by opening a pull request to the
<a href="https://github.com/rust-scicomp/scientific-computing-in-rust-monthly">Scientific Computing in Rust Monthly repository on GitHub</a>.
You can find more information about adding items
<a href="https://github.com/rust-scicomp/scientific-computing-in-rust-monthly#contributing-an-item">here</a>.</p>
<h2>Crate of the month: rstest</h2>
<p><a href="https://crates.io/crates/rstest">crates.io</a> ~ <a href="https://docs.rs/rstest/latest/rstest/">docs.rs</a> ~ <a href="https://github.com/la10736/rstest">source</a>  </p>
<p><code>rstest</code> is a fixture based test framework for Rust. It uses procedural macros to allow writing of fixtures on table-based tests. This can be very useful, when you want to, e.g., test multiple values without rewriting the tests.</p>
<h2>New releases</h2>
<h3><a href="https://kmdouglass.github.io/cherry/">Cherry</a></h3>
<p>Cherry is a sequential ray tracer for optical systems design that runs entirely in the browser and is written in Rust. An updated version of Cherry was recently published in which the original Javascript user interface was replaced with <a href="https://github.com/emilk/egui">egui</a>, an immediate mode GUI for Rust with WASM support.
To try Cherry, click the link above and enjoy designing!</p>
<h3><a href="https://crates.io/crates/complex-bessel">complex-bessel 0.1.0</a></h3>
<p>A pure Rust implementation of the Amos (TOMS 644) algorithm for computing Bessel, Hankel, and Airy functions of complex argument and real order. No Fortran/C FFI dependencies required.</p>
<h3><a href="https://crates.io/crates/la-stack">la-stack 0.3.0</a></h3>
<p><code>la-stack</code> is a fast, stack-allocated linear algebra package for fixed dimensions in Rust.
Recent changes for v0.3.0 can be found <a href="https://github.com/acgetchell/la-stack/releases/tag/v0.3.0">here</a>.</p>
<h3><a href="https://crates.io/crates/polars">polars v0.53.0</a></h3>
<p>Polars is an analytical query engine written for DataFrames. It is designed to be fast, easy to use and expressive.
Highlights of this release include the addition of extension types. A full list of changes can be found <a href="https://github.com/pola-rs/polars/releases/tag/rs-0.53.0">here</a>.</p>
<h3><a href="https://crates.io/crates/vforce">vforce 1.0.0</a></h3>
<p>Vforce provides safe, no_std Rust bindings for the VForce family of hardware-accelerated vectorized math functions in the Accelerate framework on MacOS. It is generic over single and double-precision floats, and automatically chunks over very large arrays. Useful for speeding up transcendental functions on Apple hardware when working with 1-d arrays.</p>
<h3><a href="https://crates.io/crates/zarrs">zarrs v0.23.6</a></h3>
<p><code>zarrs</code> is a Rust library for the Zarr storage format for multidimensional arrays and metadata.
Recent changes since v0.23.0 (Feb 1, 2026), can be found <a href="https://github.com/zarrs/zarrs/releases">here</a>.</p>
<h2>Publications</h2>
<h3><a href="https://nrposner.com/blog/when-vectorized-arrays-arent-enough/">N. R. Posner, When Vectorized Arrays Aren't Enough</a></h3>
<p>An exploration of Rust optimizations made to a Python astrophysics simulation, from bytecode to assembly. Provides examples and builds intuition on how and when to deploy lower-level solutions to avoid NumPy's intermediate allocations.</p></description-html>
<link>https://www.scientificcomputing.rs/monthly/2026-03</link>
<guid>https://www.scientificcomputing.rs/monthly/2026-03</guid>
<pubDate>19 Mar 2026 12:00:00 GMT</pubDate>
</item>
<item>
<title>Scientific Computing in Rust Monthly #15</title>
<description><![CDATA[<p>Welcome to this month's issue of Scientific Computing in Rust Monthly.</p>
<p>Scientific Computing in Rust Monthly can be viewed online at <a href="https://scientificcomputing.rs/monthly">scientificcomputing.rs/monthly</a>,
you can sign up to receive an email copy at <a href="https://mailinglist.scientificcomputing.rs">mailinglist.scientificcomputing.rs</a>,
or you can subscribe using the RSS feed at <a href="https://scientificcomputing.rs/monthly/rss.xml">scientificcomputing.rs/monthly/rss.xml</a>.</p>
<p>Items can be added to the next issue of the newsletter by opening a pull request to the
<a href="https://github.com/rust-scicomp/scientific-computing-in-rust-monthly">Scientific Computing in Rust Monthly repository on GitHub</a>.
You can find more information about adding items
<a href="https://github.com/rust-scicomp/scientific-computing-in-rust-monthly#contributing-an-item">here</a>.</p>
<h2>Crate of the month: approx</h2>
<p><a href="https://crates.io/crates/approx">crates.io</a> ~ <a href="https://docs.rs/approx/latest/approx/">docs.rs</a> ~ <a href="https://github.com/brendanzab/approx">source</a></p>
<p>approx is a really useful crate for whenever you're writing unit tests for scientific code, as it contains helpful macros like
<code>assert_relative_eq</code> that check if two items are equal within a given tolerance. If you like the approx crate, keep reading, as there's
an opportunity to help with its maintenance in the "help wanted" section below.</p>
<h2>New releases</h2>
<h3><a href="https://crates.io/crates/polyfit">Polyfit 0.10.1</a></h3>
<p>Polyfit is a high-performance, easy-to-use polynomial fitting library for Rust, designed to make curve fitting accessible to software engineers without a background in statistics.
It is generic over data type, as well as 11 choices of basis. It supports symbolic calculus, root-finding, and a spectral energy filter for orthogonal bases. It is high-performance, able to perform a 100-million-row 3rd-degree Chebyshev fit in ~1s on moderate consumer hardware.</p>
<h2>Help wanted</h2>
<h3><a href="https://github.com/brendanzab/approx">approx <code>0.6.0</code></a></h3>
<p>The <a href="https://crates.io/crates/approx">approx</a> crate is planning a new release <code>0.6.0</code> with a large set of new features.
This update contains many improvements such as derive macros and additional implementations for core and external types (i.e. <code>Option&lt;T&gt;</code>, <code>OrderedFloat&lt;F&gt;</code> etc.).
Due to the amount of additions, we are hoping for testers of the release candidates <code>0.6.0-rc2</code> and following before releasing <code>0.6.0</code> into the wild.</p>]]></description>
<description-html><p>Welcome to this month's issue of Scientific Computing in Rust Monthly.</p>
<p>Scientific Computing in Rust Monthly can be viewed online at <a href="https://scientificcomputing.rs/monthly">scientificcomputing.rs/monthly</a>,
you can sign up to receive an email copy at <a href="https://mailinglist.scientificcomputing.rs">mailinglist.scientificcomputing.rs</a>,
or you can subscribe using the RSS feed at <a href="https://scientificcomputing.rs/monthly/rss.xml">scientificcomputing.rs/monthly/rss.xml</a>.</p>
<p>Items can be added to the next issue of the newsletter by opening a pull request to the
<a href="https://github.com/rust-scicomp/scientific-computing-in-rust-monthly">Scientific Computing in Rust Monthly repository on GitHub</a>.
You can find more information about adding items
<a href="https://github.com/rust-scicomp/scientific-computing-in-rust-monthly#contributing-an-item">here</a>.</p>
<h2>Crate of the month: approx</h2>
<p><a href="https://crates.io/crates/approx">crates.io</a> ~ <a href="https://docs.rs/approx/latest/approx/">docs.rs</a> ~ <a href="https://github.com/brendanzab/approx">source</a></p>
<p>approx is a really useful crate for whenever you're writing unit tests for scientific code, as it contains helpful macros like
<code>assert_relative_eq</code> that check if two items are equal within a given tolerance. If you like the approx crate, keep reading, as there's
an opportunity to help with its maintenance in the "help wanted" section below.</p>
<h2>New releases</h2>
<h3><a href="https://crates.io/crates/polyfit">Polyfit 0.10.1</a></h3>
<p>Polyfit is a high-performance, easy-to-use polynomial fitting library for Rust, designed to make curve fitting accessible to software engineers without a background in statistics.
It is generic over data type, as well as 11 choices of basis. It supports symbolic calculus, root-finding, and a spectral energy filter for orthogonal bases. It is high-performance, able to perform a 100-million-row 3rd-degree Chebyshev fit in ~1s on moderate consumer hardware.</p>
<h2>Help wanted</h2>
<h3><a href="https://github.com/brendanzab/approx">approx <code>0.6.0</code></a></h3>
<p>The <a href="https://crates.io/crates/approx">approx</a> crate is planning a new release <code>0.6.0</code> with a large set of new features.
This update contains many improvements such as derive macros and additional implementations for core and external types (i.e. <code>Option&lt;T&gt;</code>, <code>OrderedFloat&lt;F&gt;</code> etc.).
Due to the amount of additions, we are hoping for testers of the release candidates <code>0.6.0-rc2</code> and following before releasing <code>0.6.0</code> into the wild.</p></description-html>
<link>https://www.scientificcomputing.rs/monthly/2026-02</link>
<guid>https://www.scientificcomputing.rs/monthly/2026-02</guid>
<pubDate>13 Feb 2026 12:00:00 GMT</pubDate>
</item>
<item>
<title>Scientific Computing in Rust Monthly #14</title>
<description><![CDATA[<p>Welcome to this month's issue of Scientific Computing in Rust Monthly and happy 2026 to everyone!</p>
<p>Scientific Computing in Rust Monthly can be viewed online at <a href="https://scientificcomputing.rs/monthly">scientificcomputing.rs/monthly</a>,
you can sign up to receive an email copy at <a href="https://mailinglist.scientificcomputing.rs">mailinglist.scientificcomputing.rs</a>,
or you can subscribe using the RSS feed at <a href="https://scientificcomputing.rs/monthly/rss.xml">scientificcomputing.rs/monthly/rss.xml</a>.</p>
<p>Items can be added to the next issue of the newsletter by opening a pull request to the
<a href="https://github.com/rust-scicomp/scientific-computing-in-rust-monthly">Scientific Computing in Rust Monthly repository on GitHub</a>.
You can find more information about adding items
<a href="https://github.com/rust-scicomp/scientific-computing-in-rust-monthly#contributing-an-item">here</a>.</p>
<h2>Crate of the month: measurements</h2>
<p><a href="https://crates.io/crates/measurements">crates.io</a> ~ <a href="https://docs.rs/measurements/0.11.1/measurements/">docs.rs</a> ~ <a href="https://github.com/rust-embedded-community/rust-measurements">source</a></p>
<p>The <code>measurements</code> crate allows you to represent physical quantities. You can get your quantities in different, compatible units and perform arithmetic operations. <code>measurements</code> is <code>no-std</code> compatible. Thus, you can even use proper units in your embedded projects! This crate has a small footprint and is highly useful to avoid common errors of, e.g., forgetting unit conversions, which can be very costly (e.g., <a href="https://en.wikipedia.org/wiki/Mars_Climate_Orbiter">Mars Climate Orbiter</a>).</p>
<h2>New releases</h2>
<h3><a href="https://crates.io/crates/bevy">Bevy 0.18.0</a></h3>
<p>Bevy is a data-driven game engine built in Rust. This release includes numerous new features, bug fixes, and quality-of-life improvements. A detailed blog post can be found <a href="https://bevy.org/news/bevy-0-18/">here</a>.</p>
<h3><a href="https://crates.io/crates/burn">Burn 0.20.0</a></h3>
<p>Burn is a tensor library and deep learning framework optimized for numerical computing,m model interference, and model training. This release features major performance improvements thanks to the introduction of <a href="https://github.com/tracel-ai/cubek/">CubeK</a>. </p>
<h3><a href="https://crates.io/crates/interpn">InterpN 0.11.0</a></h3>
<p>InterpN is an n-dimensional interpolation/extrapolation methods library that is <code>no-std</code> compatible. This release provides some behind-the-scenes improvements. Notably, all methods are now compatible with static analysis of memory usage and early bounds checks were improved.</p>
<h3><a href="https://crates.io/crates/rlst">rlst 0.6.1</a></h3>
<p>The Rust Linear Solver Toolbox <code>rlst</code> provides dense and sparse linear algebra routines in Rust. Since the last newsletter, version 0.5 and 0.6 have been released, adding various methods, functions, and interfaces. Details can be found in the release notes <a href="https://codeberg.org/rlst/rlst/releases">here</a>.</p>
<h2>Publications</h2>
<h3><a href="https://doi.org/10.21105/joss.08691">Irving B., et al., Mantaray: A Rust Package for Ray Tracing Ocean Surface Gravity Waves, Journal of Open Source Software, 10(116)</a></h3>
<p>Mantaray is a open-source Rust package with a Python interface that solves the ray equations for ocean surface gravity waves. It is designed for performance, robustness, and ease of use. Mantaray can currently be applied to idealized and realistic wave propagation problems.</p>
<h3><a href="https://fasterthanli.me/articles/the-science-of-loudness">Wenger, A. (@fasterthanlime), The science of loudness</a></h3>
<p>In this blog post, Amos walks the reader through the physics of the science of sound, loudness, noise, and the associated units. The follow up article <a href="https://fasterthanli.me/articles/making-our-own-spectrogram">Making our own spectrogram</a> builds on this and shows how to make a spectrogram in Rust. This is a very accessible introduction and contains many fun animations and code snippets.</p>
<h2>Help wanted</h2>
<h3><a href="https://github.com/lignum-vitae/goombay-rs">Goombay-rs</a></h3>
<p>Goombay-rs is the Rust implementation of my <a href="https://github.com/lignum-vitae/goombay">Goombay</a> library. Goombay is a sequence alignment library with over 20 algorithms written entirely in python. My initial goal with Goombay-rs is to implement the algorithms that are present in the python version of the library. The secondary goal of the library would be to speed up computation time where possible while still maintaining the core fundamentals of each algorithm. A tertiary goal of the project is to include the ability to <code>pip install</code> the project to be used in Python. <a href="https://github.com/lignum-vitae/spindalis/issues">Spindalis</a> (which also has open issues) is the primary dependency for Goombay-rs used for matrix manipulation.</p>
<h2>Miscellaneous</h2>
<h3><a href="https://github.com/cocoindex-io/cocoindex">CocoIndex</a></h3>
<p>An open-source, data transformation framework with its core engine written in Rust, designed for building and maintaining continuously updated indexes over large datasets. CocoIndex supports incremental processing and provides data lineage tracking, making it well-suited for scientific workflows involving evolving research data. Potential applications include <a href="https://cocoindex.io/blogs/academic-papers-indexing">indexing academic papers with structured metadata extraction</a>, building knowledge graphs from research outputs, and creating semantic search capabilities over scientific literature. The framework uses a dataflow programming model and integrates with various databases including PostgreSQL and vector databases for semantic search applications. <a href="https://discord.com/invite/zpA9S2DR7s">Community discussion and support available on Discord</a>.</p>]]></description>
<description-html><p>Welcome to this month's issue of Scientific Computing in Rust Monthly and happy 2026 to everyone!</p>
<p>Scientific Computing in Rust Monthly can be viewed online at <a href="https://scientificcomputing.rs/monthly">scientificcomputing.rs/monthly</a>,
you can sign up to receive an email copy at <a href="https://mailinglist.scientificcomputing.rs">mailinglist.scientificcomputing.rs</a>,
or you can subscribe using the RSS feed at <a href="https://scientificcomputing.rs/monthly/rss.xml">scientificcomputing.rs/monthly/rss.xml</a>.</p>
<p>Items can be added to the next issue of the newsletter by opening a pull request to the
<a href="https://github.com/rust-scicomp/scientific-computing-in-rust-monthly">Scientific Computing in Rust Monthly repository on GitHub</a>.
You can find more information about adding items
<a href="https://github.com/rust-scicomp/scientific-computing-in-rust-monthly#contributing-an-item">here</a>.</p>
<h2>Crate of the month: measurements</h2>
<p><a href="https://crates.io/crates/measurements">crates.io</a> ~ <a href="https://docs.rs/measurements/0.11.1/measurements/">docs.rs</a> ~ <a href="https://github.com/rust-embedded-community/rust-measurements">source</a></p>
<p>The <code>measurements</code> crate allows you to represent physical quantities. You can get your quantities in different, compatible units and perform arithmetic operations. <code>measurements</code> is <code>no-std</code> compatible. Thus, you can even use proper units in your embedded projects! This crate has a small footprint and is highly useful to avoid common errors of, e.g., forgetting unit conversions, which can be very costly (e.g., <a href="https://en.wikipedia.org/wiki/Mars_Climate_Orbiter">Mars Climate Orbiter</a>).</p>
<h2>New releases</h2>
<h3><a href="https://crates.io/crates/bevy">Bevy 0.18.0</a></h3>
<p>Bevy is a data-driven game engine built in Rust. This release includes numerous new features, bug fixes, and quality-of-life improvements. A detailed blog post can be found <a href="https://bevy.org/news/bevy-0-18/">here</a>.</p>
<h3><a href="https://crates.io/crates/burn">Burn 0.20.0</a></h3>
<p>Burn is a tensor library and deep learning framework optimized for numerical computing,m model interference, and model training. This release features major performance improvements thanks to the introduction of <a href="https://github.com/tracel-ai/cubek/">CubeK</a>. </p>
<h3><a href="https://crates.io/crates/interpn">InterpN 0.11.0</a></h3>
<p>InterpN is an n-dimensional interpolation/extrapolation methods library that is <code>no-std</code> compatible. This release provides some behind-the-scenes improvements. Notably, all methods are now compatible with static analysis of memory usage and early bounds checks were improved.</p>
<h3><a href="https://crates.io/crates/rlst">rlst 0.6.1</a></h3>
<p>The Rust Linear Solver Toolbox <code>rlst</code> provides dense and sparse linear algebra routines in Rust. Since the last newsletter, version 0.5 and 0.6 have been released, adding various methods, functions, and interfaces. Details can be found in the release notes <a href="https://codeberg.org/rlst/rlst/releases">here</a>.</p>
<h2>Publications</h2>
<h3><a href="https://doi.org/10.21105/joss.08691">Irving B., et al., Mantaray: A Rust Package for Ray Tracing Ocean Surface Gravity Waves, Journal of Open Source Software, 10(116)</a></h3>
<p>Mantaray is a open-source Rust package with a Python interface that solves the ray equations for ocean surface gravity waves. It is designed for performance, robustness, and ease of use. Mantaray can currently be applied to idealized and realistic wave propagation problems.</p>
<h3><a href="https://fasterthanli.me/articles/the-science-of-loudness">Wenger, A. (@fasterthanlime), The science of loudness</a></h3>
<p>In this blog post, Amos walks the reader through the physics of the science of sound, loudness, noise, and the associated units. The follow up article <a href="https://fasterthanli.me/articles/making-our-own-spectrogram">Making our own spectrogram</a> builds on this and shows how to make a spectrogram in Rust. This is a very accessible introduction and contains many fun animations and code snippets.</p>
<h2>Help wanted</h2>
<h3><a href="https://github.com/lignum-vitae/goombay-rs">Goombay-rs</a></h3>
<p>Goombay-rs is the Rust implementation of my <a href="https://github.com/lignum-vitae/goombay">Goombay</a> library. Goombay is a sequence alignment library with over 20 algorithms written entirely in python. My initial goal with Goombay-rs is to implement the algorithms that are present in the python version of the library. The secondary goal of the library would be to speed up computation time where possible while still maintaining the core fundamentals of each algorithm. A tertiary goal of the project is to include the ability to <code>pip install</code> the project to be used in Python. <a href="https://github.com/lignum-vitae/spindalis/issues">Spindalis</a> (which also has open issues) is the primary dependency for Goombay-rs used for matrix manipulation.</p>
<h2>Miscellaneous</h2>
<h3><a href="https://github.com/cocoindex-io/cocoindex">CocoIndex</a></h3>
<p>An open-source, data transformation framework with its core engine written in Rust, designed for building and maintaining continuously updated indexes over large datasets. CocoIndex supports incremental processing and provides data lineage tracking, making it well-suited for scientific workflows involving evolving research data. Potential applications include <a href="https://cocoindex.io/blogs/academic-papers-indexing">indexing academic papers with structured metadata extraction</a>, building knowledge graphs from research outputs, and creating semantic search capabilities over scientific literature. The framework uses a dataflow programming model and integrates with various databases including PostgreSQL and vector databases for semantic search applications. <a href="https://discord.com/invite/zpA9S2DR7s">Community discussion and support available on Discord</a>.</p></description-html>
<link>https://www.scientificcomputing.rs/monthly/2026-01</link>
<guid>https://www.scientificcomputing.rs/monthly/2026-01</guid>
<pubDate>21 Jan 2026 12:00:00 GMT</pubDate>
</item>
<item>
<title>Scientific Computing in Rust Monthly #13</title>
<description><![CDATA[<p>Welcome to this month's issue of Scientific Computing in Rust Monthly.</p>
<p>Scientific Computing in Rust Monthly can be viewed online
at <a href="https://scientificcomputing.rs/monthly">scientificcomputing.rs/monthly</a>,
you can sign up to receive an email copy
at <a href="https://mailinglist.scientificcomputing.rs">mailinglist.scientificcomputing.rs</a>,
or you can subscribe using the RSS feed
at <a href="https://scientificcomputing.rs/monthly/rss.xml">scientificcomputing.rs/monthly/rss.xml</a>.</p>
<p>Items can be added to the next issue of the newsletter by opening a pull request to the
<a href="https://github.com/rust-scicomp/scientific-computing-in-rust-monthly">Scientific Computing in Rust Monthly repository on GitHub</a>.
You can find more information about adding items
<a href="https://github.com/rust-scicomp/scientific-computing-in-rust-monthly#contributing-an-item">here</a>.</p>
<h2>Crate of the month: num</h2>
<p><a href="https://crates.io/crates/num">crates.io</a> ~ <a href="https://docs.rs/num/0.4.3/num/">docs.rs</a> ~ <a href="https://github.com/rust-num/num">source</a></p>
<p>A crate that includes a collection of types and traits for different number types including big integers, rational numbers and complex numbers,
as well as general numeric properties like <code>Integer</code>.</p>
<h2>New releases</h2>
<h3><a href="https://crates.io/crates/crate2bib">crate2bib 0.7</a></h3>
<p>Convert a given crate and (optional) version number to a BibLaTeX entry.
It scans for existing CITATION.cff files within the repository and also generates entries from the information available at crates.io.
The tool can be used as a <a href="https://jonaspleyer.github.io/crate2bib/">webapp</a>, <a href="https://pypi.org/project/crate2bib/">python package</a>, <a href="https://github.com/jonaspleyer/crate2bib/tree/main/crate2bib-cli">command-line utility</a> or <a href="https://crates.io/crate2bib">Rust crate</a> (see also <a href="https://doi.org/10.48550/arXiv.2511.07468">preprint</a>).</p>
<h3><a href="https://github.com/deepcausality-rs/deep_causality">DeepCausality 0.12</a></h3>
<p>DeepCausality started out as a project in advanced computational causality for static and dynamic multimodal causal models, but its most recent release contains <a href="https://deepcausality.com/blog/announcement-causal-monad/">a new foundation</a> that comes combined with <a href="https://deepcausality.com/blog/announcement-uniform-math/">multiple unified math libraries</a> for:</p>
<ul>
<li>Geometric Algebra</li>
<li>Differential Topology</li>
<li>Sparse Matrix representation</li>
<li>Tensor Operations including ein_sum</li>
</ul>
<p>Geometry, topology, sparse matrices, and tensor operations seamlessly compose with each other and thus form the foundation of the <a href="https://deepcausality.com/blog/announcement-physics-crate/">new physics crate</a>, a pure Rust implementation of physics formulas across different fields, such as:</p>
<ul>
<li>Astrophysics: Astrophysics kernels (Schwarzschild radius, orbital velocity, luminosity, Hubble's law, etc.).</li>
<li>Dynamics: Classical mechanics (Kinematics, Newton's laws), state estimation (Kalman filters), and Euler integration.</li>
<li>Electromagnetism: Maxwell's equations, Lorentz force, Poynting vectors, and gauge fields using Geometric Algebra.</li>
<li>Fluids: Fluid dynamics (Bernoulli's principle, Reynolds number, viscosity, pressure).</li>
<li>Materials: Material science properties (Stress, Strain, Hooke's Law, Young's modulus, thermal expansion).</li>
<li>Relativity: Einstein tensors, geodesic deviation, spacetime intervals.</li>
<li>Thermodynamics: Heat diffusion, entropy, partition functions.</li>
</ul>
<p>The DeepCausality project provides a <a href="https://github.com/deepcausality-rs/deep_causality/tree/main/examples">rich set of code examples</a> for a variety of use cases:</p>
<ul>
<li>Classical Causal inference, e.g., CATE, DBN, Granger, RCM, SCM</li>
<li>Multi-physics simulations, e.g., Electromagnetism, GRMHD, Particle Physics, etc.</li>
<li>Medicine, e.g., Protein Folding, MRI Tissue Classification, etc.</li>
<li>Material science, e.g., Metamaterials, Topological Insulator, etc.</li>
<li>Avionics: MagNav, Geometric TCAS, etc.</li>
</ul>
<p>The <a href="https://deepcausality.com/community/">DeepCausality project invites</a>, physicists engineers, and scientific computing experts from all fields of science and technology to collaborate with us on advancing Rust for scientific computing. The DeepCausality <a href="https://discord.gg/Bxj9P7JXSj">Discord Server</a> is 
the best place to get started.</p>
<h3><a href="https://crates.io/crates/ferreus_bbfmm">ferreus_bbfmm 0.1.0</a></h3>
<p><code>ferreus_bbfmm</code> is a parallel implementation of the Black Box Fast Multipole Method (BBFMM). BBFMM is a kernel‑independent, 
hierarchical algorithm for rapidly evaluating all pairwise interactions in a collection of particles.</p>
<p>While originally developed as the fast evaluator for <a href="https://docs.rs/ferreus_rbf/latest/ferreus_rbf/">radial basis function (RBF) interpolation</a>, 
this crate has been generalised to support a broad range of FMM use‑cases where the kernel is smooth (i.e. non‑oscillatory).</p>
<p>Features
- 1D (binary tree), 2D (quadtree) and 3D (octree) trees
- Optimised low‑rank M2L interactions that leverage symmetries and compression
- Adaptive and non‑adaptive tree structures
- Support for multiple right‑hand sides
- Designed to work with user‑defined kernels via traits
- Built on <a href="https://docs.rs/faer/latest/faer/">faer</a> for linear algebra, avoiding complex external dependencies
- Python <a href="https://pypi.org/project/ferreus-bbfmm/">bindings</a> and <a href="https://graphic-goose.github.io/ferreus_rbf_rs/ferreus_bbfmm/">docs</a> available</p>
<h3><a href="https://crates.io/crates/ferreus_rbf">ferreus_rbf 0.1.0</a></h3>
<p><code>ferreus_rbf</code> is a fast, memory-efficient, global radial basis function (RBF) interpolation crate written in Rust.</p>
<p>Direct RBF solvers based on dense linear algebra require O(N²) memory and O(N³) work, which quickly becomes impractical
beyond tens of thousands of points. <code>ferreus_rbf</code> provides a scalable alternative suitable for millions of points in up
to three dimensions.</p>
<p>Features
- Supports 1D, 2D and 3D input domains
- Scales to datasets with over 1,000,000 source points (subject to hardware)
- Optional global trend transforms to capture large‑scale structure in the data
- Fast 3D isosurface extraction using a surface‑following, non‑adaptive Surface Nets method
- Built on <a href="https://docs.rs/faer/latest/faer/">faer</a> for linear algebra, avoiding complex external dependencies
- Python <a href="https://pypi.org/project/ferreus-rbf/">bindings</a> and <a href="https://graphic-goose.github.io/ferreus_rbf_rs/ferreus_rbf/">docs</a> available</p>
<h3><a href="https://crates.io/crates/rsl-interpolation">rsl-interpolation v0.1.16</a></h3>
<p>A re-write of <a href="https://www.gnu.org/software/gsl/doc/html/interp.html"><code>GSL's Interpolation</code></a> in Rust, a library for interpolating over 1D and 2D arrays, with 1st, 2nd and mixed 
derivative calculation and 1D numerical integration.</p>
<p>Implemented features:</p>
<ul>
<li>'Linear', 'Cubic', 'Akima', 'Akima Periodic' and 'Steffen' 1D interpolation types</li>
<li>'Bilinear' and 'Bicubic' 2D interpolation types.</li>
<li><a href="https://www.gnu.org/software/gsl/doc/html/interp.html#d-index-look-up-and-acceleration"><code>Index look-up Acceleration</code></a></li>
<li>Low level interface (interpolation functions)</li>
<li>High level interface (splines)</li>
</ul>
<p>All of GSL's tests have been transferred, and new ones have been added with values calculated directly from GSL's routines,
ensuring that the results are in agreement with GSL to machine precision.</p>
<h3><a href="https://crates.io/crates/rlst">rlst v0.4.0</a></h3>
<p>rlst (Rust Linear Solver Toolbox) 0.4 is the first release of the library that we consider suitable for external users.</p>
<p>It is a feature-rich linear algebra library that includes:</p>
<ul>
<li>A multi-dimensional array type, allowing for slicing, subviews, axis permutations, and various componentwise operations</li>
<li>Arrays can be allocated on either the stack or the heap. Stack-allocation well suited for small arrays in performance critical loops where heap-based memory allocation should be avoided.</li>
<li>BLAS interface for matrix products, and interface to a number of Lapack operations for dense matrix decompositions, including, LU, QR, SVD, symmetric, and nonsymmetric eigenvalue decompositions</li>
<li>Componentwise operations on array are using a compile-time expression arithmetic that avoids memory allocation of temporaries and efficiently auto-vectorizes complex componentwise operations on arrays.</li>
<li>A sparse matrix module allowing for the creation of CSR matrices on single nodes or via MPI on distributed nodes</li>
<li>Distributed arrays on distributed sparse matrices support a number of componentwise operations</li>
<li>An initial infrastructure for linear algebra on abstract function spaces, including iterative solvers. However, for now only CG is implemented. More is in the work.</li>
<li>Complex-2-Complex FFT via interface to the FFTW library.</li>
<li>A toolbox of distributed communication routines built on top of rsmpi to make MPI computations simpler, including a parallel bucket sort implementation.</li>
</ul>
<h2>Publications</h2>
<h3><a href="https://medium.com/@carlmkadie/nine-rules-for-scientific-libraries-in-rust-6e5e33a6405b">Carl Kadie, Nine Rules for Scientific Libraries in Rust: How to Build Scientific Libraries that are Correct, Usable, and Fast</a></h3>]]></description>
<description-html><p>Welcome to this month's issue of Scientific Computing in Rust Monthly.</p>
<p>Scientific Computing in Rust Monthly can be viewed online
at <a href="https://scientificcomputing.rs/monthly">scientificcomputing.rs/monthly</a>,
you can sign up to receive an email copy
at <a href="https://mailinglist.scientificcomputing.rs">mailinglist.scientificcomputing.rs</a>,
or you can subscribe using the RSS feed
at <a href="https://scientificcomputing.rs/monthly/rss.xml">scientificcomputing.rs/monthly/rss.xml</a>.</p>
<p>Items can be added to the next issue of the newsletter by opening a pull request to the
<a href="https://github.com/rust-scicomp/scientific-computing-in-rust-monthly">Scientific Computing in Rust Monthly repository on GitHub</a>.
You can find more information about adding items
<a href="https://github.com/rust-scicomp/scientific-computing-in-rust-monthly#contributing-an-item">here</a>.</p>
<h2>Crate of the month: num</h2>
<p><a href="https://crates.io/crates/num">crates.io</a> ~ <a href="https://docs.rs/num/0.4.3/num/">docs.rs</a> ~ <a href="https://github.com/rust-num/num">source</a></p>
<p>A crate that includes a collection of types and traits for different number types including big integers, rational numbers and complex numbers,
as well as general numeric properties like <code>Integer</code>.</p>
<h2>New releases</h2>
<h3><a href="https://crates.io/crates/crate2bib">crate2bib 0.7</a></h3>
<p>Convert a given crate and (optional) version number to a BibLaTeX entry.
It scans for existing CITATION.cff files within the repository and also generates entries from the information available at crates.io.
The tool can be used as a <a href="https://jonaspleyer.github.io/crate2bib/">webapp</a>, <a href="https://pypi.org/project/crate2bib/">python package</a>, <a href="https://github.com/jonaspleyer/crate2bib/tree/main/crate2bib-cli">command-line utility</a> or <a href="https://crates.io/crate2bib">Rust crate</a> (see also <a href="https://doi.org/10.48550/arXiv.2511.07468">preprint</a>).</p>
<h3><a href="https://github.com/deepcausality-rs/deep_causality">DeepCausality 0.12</a></h3>
<p>DeepCausality started out as a project in advanced computational causality for static and dynamic multimodal causal models, but its most recent release contains <a href="https://deepcausality.com/blog/announcement-causal-monad/">a new foundation</a> that comes combined with <a href="https://deepcausality.com/blog/announcement-uniform-math/">multiple unified math libraries</a> for:</p>
<ul>
<li>Geometric Algebra</li>
<li>Differential Topology</li>
<li>Sparse Matrix representation</li>
<li>Tensor Operations including ein_sum</li>
</ul>
<p>Geometry, topology, sparse matrices, and tensor operations seamlessly compose with each other and thus form the foundation of the <a href="https://deepcausality.com/blog/announcement-physics-crate/">new physics crate</a>, a pure Rust implementation of physics formulas across different fields, such as:</p>
<ul>
<li>Astrophysics: Astrophysics kernels (Schwarzschild radius, orbital velocity, luminosity, Hubble's law, etc.).</li>
<li>Dynamics: Classical mechanics (Kinematics, Newton's laws), state estimation (Kalman filters), and Euler integration.</li>
<li>Electromagnetism: Maxwell's equations, Lorentz force, Poynting vectors, and gauge fields using Geometric Algebra.</li>
<li>Fluids: Fluid dynamics (Bernoulli's principle, Reynolds number, viscosity, pressure).</li>
<li>Materials: Material science properties (Stress, Strain, Hooke's Law, Young's modulus, thermal expansion).</li>
<li>Relativity: Einstein tensors, geodesic deviation, spacetime intervals.</li>
<li>Thermodynamics: Heat diffusion, entropy, partition functions.</li>
</ul>
<p>The DeepCausality project provides a <a href="https://github.com/deepcausality-rs/deep_causality/tree/main/examples">rich set of code examples</a> for a variety of use cases:</p>
<ul>
<li>Classical Causal inference, e.g., CATE, DBN, Granger, RCM, SCM</li>
<li>Multi-physics simulations, e.g., Electromagnetism, GRMHD, Particle Physics, etc.</li>
<li>Medicine, e.g., Protein Folding, MRI Tissue Classification, etc.</li>
<li>Material science, e.g., Metamaterials, Topological Insulator, etc.</li>
<li>Avionics: MagNav, Geometric TCAS, etc.</li>
</ul>
<p>The <a href="https://deepcausality.com/community/">DeepCausality project invites</a>, physicists engineers, and scientific computing experts from all fields of science and technology to collaborate with us on advancing Rust for scientific computing. The DeepCausality <a href="https://discord.gg/Bxj9P7JXSj">Discord Server</a> is 
the best place to get started.</p>
<h3><a href="https://crates.io/crates/ferreus_bbfmm">ferreus_bbfmm 0.1.0</a></h3>
<p><code>ferreus_bbfmm</code> is a parallel implementation of the Black Box Fast Multipole Method (BBFMM). BBFMM is a kernel‑independent, 
hierarchical algorithm for rapidly evaluating all pairwise interactions in a collection of particles.</p>
<p>While originally developed as the fast evaluator for <a href="https://docs.rs/ferreus_rbf/latest/ferreus_rbf/">radial basis function (RBF) interpolation</a>, 
this crate has been generalised to support a broad range of FMM use‑cases where the kernel is smooth (i.e. non‑oscillatory).</p>
<p>Features
- 1D (binary tree), 2D (quadtree) and 3D (octree) trees
- Optimised low‑rank M2L interactions that leverage symmetries and compression
- Adaptive and non‑adaptive tree structures
- Support for multiple right‑hand sides
- Designed to work with user‑defined kernels via traits
- Built on <a href="https://docs.rs/faer/latest/faer/">faer</a> for linear algebra, avoiding complex external dependencies
- Python <a href="https://pypi.org/project/ferreus-bbfmm/">bindings</a> and <a href="https://graphic-goose.github.io/ferreus_rbf_rs/ferreus_bbfmm/">docs</a> available</p>
<h3><a href="https://crates.io/crates/ferreus_rbf">ferreus_rbf 0.1.0</a></h3>
<p><code>ferreus_rbf</code> is a fast, memory-efficient, global radial basis function (RBF) interpolation crate written in Rust.</p>
<p>Direct RBF solvers based on dense linear algebra require O(N²) memory and O(N³) work, which quickly becomes impractical
beyond tens of thousands of points. <code>ferreus_rbf</code> provides a scalable alternative suitable for millions of points in up
to three dimensions.</p>
<p>Features
- Supports 1D, 2D and 3D input domains
- Scales to datasets with over 1,000,000 source points (subject to hardware)
- Optional global trend transforms to capture large‑scale structure in the data
- Fast 3D isosurface extraction using a surface‑following, non‑adaptive Surface Nets method
- Built on <a href="https://docs.rs/faer/latest/faer/">faer</a> for linear algebra, avoiding complex external dependencies
- Python <a href="https://pypi.org/project/ferreus-rbf/">bindings</a> and <a href="https://graphic-goose.github.io/ferreus_rbf_rs/ferreus_rbf/">docs</a> available</p>
<h3><a href="https://crates.io/crates/rsl-interpolation">rsl-interpolation v0.1.16</a></h3>
<p>A re-write of <a href="https://www.gnu.org/software/gsl/doc/html/interp.html"><code>GSL's Interpolation</code></a> in Rust, a library for interpolating over 1D and 2D arrays, with 1st, 2nd and mixed 
derivative calculation and 1D numerical integration.</p>
<p>Implemented features:</p>
<ul>
<li>'Linear', 'Cubic', 'Akima', 'Akima Periodic' and 'Steffen' 1D interpolation types</li>
<li>'Bilinear' and 'Bicubic' 2D interpolation types.</li>
<li><a href="https://www.gnu.org/software/gsl/doc/html/interp.html#d-index-look-up-and-acceleration"><code>Index look-up Acceleration</code></a></li>
<li>Low level interface (interpolation functions)</li>
<li>High level interface (splines)</li>
</ul>
<p>All of GSL's tests have been transferred, and new ones have been added with values calculated directly from GSL's routines,
ensuring that the results are in agreement with GSL to machine precision.</p>
<h3><a href="https://crates.io/crates/rlst">rlst v0.4.0</a></h3>
<p>rlst (Rust Linear Solver Toolbox) 0.4 is the first release of the library that we consider suitable for external users.</p>
<p>It is a feature-rich linear algebra library that includes:</p>
<ul>
<li>A multi-dimensional array type, allowing for slicing, subviews, axis permutations, and various componentwise operations</li>
<li>Arrays can be allocated on either the stack or the heap. Stack-allocation well suited for small arrays in performance critical loops where heap-based memory allocation should be avoided.</li>
<li>BLAS interface for matrix products, and interface to a number of Lapack operations for dense matrix decompositions, including, LU, QR, SVD, symmetric, and nonsymmetric eigenvalue decompositions</li>
<li>Componentwise operations on array are using a compile-time expression arithmetic that avoids memory allocation of temporaries and efficiently auto-vectorizes complex componentwise operations on arrays.</li>
<li>A sparse matrix module allowing for the creation of CSR matrices on single nodes or via MPI on distributed nodes</li>
<li>Distributed arrays on distributed sparse matrices support a number of componentwise operations</li>
<li>An initial infrastructure for linear algebra on abstract function spaces, including iterative solvers. However, for now only CG is implemented. More is in the work.</li>
<li>Complex-2-Complex FFT via interface to the FFTW library.</li>
<li>A toolbox of distributed communication routines built on top of rsmpi to make MPI computations simpler, including a parallel bucket sort implementation.</li>
</ul>
<h2>Publications</h2>
<h3><a href="https://medium.com/@carlmkadie/nine-rules-for-scientific-libraries-in-rust-6e5e33a6405b">Carl Kadie, Nine Rules for Scientific Libraries in Rust: How to Build Scientific Libraries that are Correct, Usable, and Fast</a></h3></description-html>
<link>https://www.scientificcomputing.rs/monthly/2025-12</link>
<guid>https://www.scientificcomputing.rs/monthly/2025-12</guid>
<pubDate>22 Dec 2025 12:00:00 GMT</pubDate>
</item>
<item>
<title>Scientific Computing in Rust Monthly #12</title>
<description><![CDATA[<p>Welcome to this month's issue of Scientific Computing in Rust Monthly.</p>
<p>Scientific Computing in Rust Monthly can be viewed online at <a href="https://scientificcomputing.rs/monthly">scientificcomputing.rs/monthly</a>,
you can sign up to receive an email copy at <a href="https://mailinglist.scientificcomputing.rs">mailinglist.scientificcomputing.rs</a>,
or you can subscribe using the RSS feed at <a href="https://scientificcomputing.rs/monthly/rss.xml">scientificcomputing.rs/monthly/rss.xml</a>.</p>
<p>Items can be added to the next issue of the newsletter by opening a pull request to the
<a href="https://github.com/rust-scicomp/scientific-computing-in-rust-monthly">Scientific Computing in Rust Monthly repository on GitHub</a>.
You can find more information about adding items
<a href="https://github.com/rust-scicomp/scientific-computing-in-rust-monthly#contributing-an-item">here</a>.</p>
<h2>Crate of the month: InterpN</h2>
<p>InterpN provides numerical interpolation for realtime and bare-metal embedded systems. It is available as a Rust crate and as a Python package. InterpN achieves up to 200x speedup when compared to SciPy, a general standard in the scientific community.
More information can be found in <a href="https://jlogan.dev/blog/2025/11/10/2025-11-10-interpn-fast-interpolation/#">this very recent blog post by James Logan</a>.</p>
<p><a href="https://crates.io/crates/interpn">crates.io</a> ~ <a href="https://docs.rs/interpn/0.8.1/interpn/">docs.rs</a> ~ <a href="https://github.com/jlogan03/interpn/">source</a></p>
<h2>New releases</h2>
<h3><a href="https://crates.io/crates/burn">Burn 0.19.1</a></h3>
<p>Burn is both a tensor library and a deep learning framework optimized for numerical computing, model inference, and model training. 
The 0.19.0 and 0.19.1 <a href="https://github.com/tracel-ai/burn/releases">releases</a> bring major improvements to enable efficient distributed training, quantization, and CPU support.</p>
<h3><a href="https://crates.io/crates/interpn">interpn v0.8.1</a></h3>
<p>InterpN is a low-latency numerical interpolation library for realtime and bare-metal embedded systems
and scientific computing.</p>
<p>This month's releases significantly improve performance, now surpassing all methods used in Scipy and numpy
including the specialized methods for 1D and 2D across all conditions.</p>
<h3><a href="https://crates.io/crates/ndarray">ndarray 0.17.1</a></h3>
<p><code>ndarray</code> provides an n-dimensional container for general elements and numerics in Rust.
This release introduces a new array reference type. </p>
<h3><a href="https://crates.io/crates/measurements">measurements 0.11.1</a></h3>
<p>A lean library to handle physical quantities as typed measurements. Measurements is <code>[no_std]</code> compatible and supports 
simple unit conversions and operator overrides to work with measurements directly.
The 0.11.1 release adds support for additional pressure units.</p>
<h3><a href="https://crates.io/crates/polars">Polars 0.52.0</a></h3>
<p>Polars is an analytical query engine written for data frames. Highlights of <a href="https://github.com/pola-rs/polars/releases/tag/rs-0.52.0">this release</a> 
include the addition of <code>LazyFrame.{sink,collect}_batches</code> and deterministic import order for Python Polars package variants.</p>
<h3><a href="https://crates.io/crates/zarrs">Zarrs 0.22.7</a></h3>
<p>Zarrs is a Rust library for the Zarr storage format for multidimensional arrays and metadata. 
Mutliple <a href="https://github.com/zarrs/zarrs/releases">releases</a> add functionality to <code>Array</code>, <code>node</code>, <code>Group</code>, and <code>DataType</code>, as well as <code>hierarchy</code> module.</p>
<h2>Events</h2>
<h3><a href="https://www.meetup.com/rust-nyc/events/311757146/">Scientific Computing Track @ Rust NYC UnConf 2025, 5 December 2025, New York City</a></h3>
<p>Join us to explore the emerging world of scientific computing in Rust. We'll discuss interoperability with other languages, improving accessibility for scientists, best practices, community, and more. We invite you to come and share experiences, challenges, and ideas for shaping this field. Registration, more info, and a complete list of tracks are available at <a href="https://www.meetup.com/rust-nyc/events/311757146/">www.meetup.com/rust-nyc/events/311757146/</a></p>
<h2>Publications</h2>
<h3><a href="https://joss.theoj.org/papers/10.21105/joss.09234">Heim G. M., GlobalSearch-rs: A multistart framework for global optimization written in Rust</a></h3>
<p>This paper presents <code>GlobalSearch-rs</code>, an open-source library written in Rust that implements 
a multistart framework for global optimization of NLP problems.</p>
<h3><a href="https://joss.theoj.org/papers/10.21105/joss.08768">Hovey C. B. and Buche M. R., automesh: Automatic mesh generation in Rust</a></h3>
<p>This paper presents <code>automesh</code>, an open-source Rust software program that uses a segmentation that is typically generated
from a 3D image stack to create a finite element mesh composed either of hexahedral
(volumetric) or triangular (isosurface) elements.</p>
<h3><a href="https://jlogan.dev/blog/2025/11/10/2025-11-10-interpn-fast-interpolation/">Logan J., InterpN: Fast Interpolation</a></h3>
<p>A blog post describing the algorithms and performance engineering behind <code>interpn</code>, with
reusable patterns applicable to almost any high-performance Rust or Rust-Python scientific computing library.</p>
<p>Come for the compile-time loop unrolling, stay for the profile-guided optimization!</p>
<h3><a href="https://joss.theoj.org/papers/10.21105/joss.09040">Scheidwasser N., et al., phylo2vec: a library for vector-based phylogenetic tree manipulation</a></h3>
<p>This paper presents the latest release of <code>phylo2vec</code>, a high-performance software
package for encoding, manipulating, and analyzing binary phylogenetic trees. </p>
<h3><a href="https://joss.theoj.org/papers/10.21105/joss.08754">Stöckli L. L., et al., THz Image Explorer - An Interactive Cross-Platform Open-Source THz Image Analysis Tool</a></h3>
<p>This paper presents a ThZ time-domain spectroscopy analysis tool for interactive data analysis written in Rust.</p>
<h2>Help wanted</h2>
<h3><a href="https://github.com/dawnandrew100/seq.rs">Seq.rs</a></h3>
<p>Seq.rs is a website that is a showcase of the work being done in bioinformatics using Rust. Each month, there is a theme with related crates, a research paper summary, and a monthly coding challenge.</p>
<p>I specifically need help with coming up with coding challenges, which will then be posted to the <a href="https://github.com/dawnandrew100/seqrs-challenges">companion GitHub</a>, but help with any part of the project would be greatly appreciated! The easiest way to get involved is through the GitHub discussions page or on <a href="https://discord.gg/dCMfwuze48">discord</a>!</p>
<h3><a href="https://github.com/lignum-vitae/spindalis">spindalis</a></h3>
<p>Spindalis is a bioinformatics-focused library for numerical modeling, optimization, data analysis, and simulation written. This library is still in early-stage development but is intended to make working with algorithms commonly used in bioinformatics (and other areas) as simple to use as possible.</p>
<p>There are issues posted for the next items to be added to the library. If you're interested in helping, don't hesitate to check out the repository! Any help, ideas, or questions are welcome!</p>]]></description>
<description-html><p>Welcome to this month's issue of Scientific Computing in Rust Monthly.</p>
<p>Scientific Computing in Rust Monthly can be viewed online at <a href="https://scientificcomputing.rs/monthly">scientificcomputing.rs/monthly</a>,
you can sign up to receive an email copy at <a href="https://mailinglist.scientificcomputing.rs">mailinglist.scientificcomputing.rs</a>,
or you can subscribe using the RSS feed at <a href="https://scientificcomputing.rs/monthly/rss.xml">scientificcomputing.rs/monthly/rss.xml</a>.</p>
<p>Items can be added to the next issue of the newsletter by opening a pull request to the
<a href="https://github.com/rust-scicomp/scientific-computing-in-rust-monthly">Scientific Computing in Rust Monthly repository on GitHub</a>.
You can find more information about adding items
<a href="https://github.com/rust-scicomp/scientific-computing-in-rust-monthly#contributing-an-item">here</a>.</p>
<h2>Crate of the month: InterpN</h2>
<p>InterpN provides numerical interpolation for realtime and bare-metal embedded systems. It is available as a Rust crate and as a Python package. InterpN achieves up to 200x speedup when compared to SciPy, a general standard in the scientific community.
More information can be found in <a href="https://jlogan.dev/blog/2025/11/10/2025-11-10-interpn-fast-interpolation/#">this very recent blog post by James Logan</a>.</p>
<p><a href="https://crates.io/crates/interpn">crates.io</a> ~ <a href="https://docs.rs/interpn/0.8.1/interpn/">docs.rs</a> ~ <a href="https://github.com/jlogan03/interpn/">source</a></p>
<h2>New releases</h2>
<h3><a href="https://crates.io/crates/burn">Burn 0.19.1</a></h3>
<p>Burn is both a tensor library and a deep learning framework optimized for numerical computing, model inference, and model training. 
The 0.19.0 and 0.19.1 <a href="https://github.com/tracel-ai/burn/releases">releases</a> bring major improvements to enable efficient distributed training, quantization, and CPU support.</p>
<h3><a href="https://crates.io/crates/interpn">interpn v0.8.1</a></h3>
<p>InterpN is a low-latency numerical interpolation library for realtime and bare-metal embedded systems
and scientific computing.</p>
<p>This month's releases significantly improve performance, now surpassing all methods used in Scipy and numpy
including the specialized methods for 1D and 2D across all conditions.</p>
<h3><a href="https://crates.io/crates/ndarray">ndarray 0.17.1</a></h3>
<p><code>ndarray</code> provides an n-dimensional container for general elements and numerics in Rust.
This release introduces a new array reference type. </p>
<h3><a href="https://crates.io/crates/measurements">measurements 0.11.1</a></h3>
<p>A lean library to handle physical quantities as typed measurements. Measurements is <code>[no_std]</code> compatible and supports 
simple unit conversions and operator overrides to work with measurements directly.
The 0.11.1 release adds support for additional pressure units.</p>
<h3><a href="https://crates.io/crates/polars">Polars 0.52.0</a></h3>
<p>Polars is an analytical query engine written for data frames. Highlights of <a href="https://github.com/pola-rs/polars/releases/tag/rs-0.52.0">this release</a> 
include the addition of <code>LazyFrame.{sink,collect}_batches</code> and deterministic import order for Python Polars package variants.</p>
<h3><a href="https://crates.io/crates/zarrs">Zarrs 0.22.7</a></h3>
<p>Zarrs is a Rust library for the Zarr storage format for multidimensional arrays and metadata. 
Mutliple <a href="https://github.com/zarrs/zarrs/releases">releases</a> add functionality to <code>Array</code>, <code>node</code>, <code>Group</code>, and <code>DataType</code>, as well as <code>hierarchy</code> module.</p>
<h2>Events</h2>
<h3><a href="https://www.meetup.com/rust-nyc/events/311757146/">Scientific Computing Track @ Rust NYC UnConf 2025, 5 December 2025, New York City</a></h3>
<p>Join us to explore the emerging world of scientific computing in Rust. We'll discuss interoperability with other languages, improving accessibility for scientists, best practices, community, and more. We invite you to come and share experiences, challenges, and ideas for shaping this field. Registration, more info, and a complete list of tracks are available at <a href="https://www.meetup.com/rust-nyc/events/311757146/">www.meetup.com/rust-nyc/events/311757146/</a></p>
<h2>Publications</h2>
<h3><a href="https://joss.theoj.org/papers/10.21105/joss.09234">Heim G. M., GlobalSearch-rs: A multistart framework for global optimization written in Rust</a></h3>
<p>This paper presents <code>GlobalSearch-rs</code>, an open-source library written in Rust that implements 
a multistart framework for global optimization of NLP problems.</p>
<h3><a href="https://joss.theoj.org/papers/10.21105/joss.08768">Hovey C. B. and Buche M. R., automesh: Automatic mesh generation in Rust</a></h3>
<p>This paper presents <code>automesh</code>, an open-source Rust software program that uses a segmentation that is typically generated
from a 3D image stack to create a finite element mesh composed either of hexahedral
(volumetric) or triangular (isosurface) elements.</p>
<h3><a href="https://jlogan.dev/blog/2025/11/10/2025-11-10-interpn-fast-interpolation/">Logan J., InterpN: Fast Interpolation</a></h3>
<p>A blog post describing the algorithms and performance engineering behind <code>interpn</code>, with
reusable patterns applicable to almost any high-performance Rust or Rust-Python scientific computing library.</p>
<p>Come for the compile-time loop unrolling, stay for the profile-guided optimization!</p>
<h3><a href="https://joss.theoj.org/papers/10.21105/joss.09040">Scheidwasser N., et al., phylo2vec: a library for vector-based phylogenetic tree manipulation</a></h3>
<p>This paper presents the latest release of <code>phylo2vec</code>, a high-performance software
package for encoding, manipulating, and analyzing binary phylogenetic trees. </p>
<h3><a href="https://joss.theoj.org/papers/10.21105/joss.08754">Stöckli L. L., et al., THz Image Explorer - An Interactive Cross-Platform Open-Source THz Image Analysis Tool</a></h3>
<p>This paper presents a ThZ time-domain spectroscopy analysis tool for interactive data analysis written in Rust.</p>
<h2>Help wanted</h2>
<h3><a href="https://github.com/dawnandrew100/seq.rs">Seq.rs</a></h3>
<p>Seq.rs is a website that is a showcase of the work being done in bioinformatics using Rust. Each month, there is a theme with related crates, a research paper summary, and a monthly coding challenge.</p>
<p>I specifically need help with coming up with coding challenges, which will then be posted to the <a href="https://github.com/dawnandrew100/seqrs-challenges">companion GitHub</a>, but help with any part of the project would be greatly appreciated! The easiest way to get involved is through the GitHub discussions page or on <a href="https://discord.gg/dCMfwuze48">discord</a>!</p>
<h3><a href="https://github.com/lignum-vitae/spindalis">spindalis</a></h3>
<p>Spindalis is a bioinformatics-focused library for numerical modeling, optimization, data analysis, and simulation written. This library is still in early-stage development but is intended to make working with algorithms commonly used in bioinformatics (and other areas) as simple to use as possible.</p>
<p>There are issues posted for the next items to be added to the library. If you're interested in helping, don't hesitate to check out the repository! Any help, ideas, or questions are welcome!</p></description-html>
<link>https://www.scientificcomputing.rs/monthly/2025-11</link>
<guid>https://www.scientificcomputing.rs/monthly/2025-11</guid>
<pubDate>14 Nov 2025 12:00:00 GMT</pubDate>
</item>
<item>
<title>Scientific Computing in Rust Monthly #11</title>
<description><![CDATA[<p>Welcome to this month's issue of Scientific Computing in Rust Monthly.</p>
<p>Scientific Computing in Rust Monthly can be viewed online at <a href="https://scientificcomputing.rs/monthly">scientificcomputing.rs/monthly</a>,
you can sign up to receive an email copy at <a href="https://mailinglist.scientificcomputing.rs">mailinglist.scientificcomputing.rs</a>,
or you can subscribe using the RSS feed at <a href="https://scientificcomputing.rs/monthly/rss.xml">scientificcomputing.rs/monthly/rss.xml</a>.</p>
<p>Items can be added to the next issue of the newsletter by opening a pull request to the
<a href="https://github.com/rust-scicomp/scientific-computing-in-rust-monthly">Scientific Computing in Rust Monthly repository on GitHub</a>.
You can find more information about adding items
<a href="https://github.com/rust-scicomp/scientific-computing-in-rust-monthly#contributing-an-item">here</a>.</p>
<h2>Crate of the month: Rayon</h2>
<p>Rayon is a data-parallelism library that helps users to convert computations from sequential into parallel.
If you've not used Rayon before, we recommend starting by watching
<a href="https://www.youtube.com/watch?v=iCcHAKcL6hw">Gonzalo Brito's talk about using Rayon from Scientific Computing in Rust 2023</a>.</p>
<p><a href="https://crates.io/crates/rayon">crates.io</a> ~ <a href="https://docs.rs/rayon/latest/rayon/">docs.rs</a> ~ <a href="https://github.com/rayon-rs/rayon">source</a></p>
<h2>New releases</h2>
<h3><a href="https://crates.io/crates/argmin/">argmin 0.11.0</a></h3>
<p>argmin is a pure Rust library for numerical optimization.</p>
<p>This release includes various bug fixes and improvements. With the release of <code>argmin-math</code> 0.5.0, <code>argmin</code> now supports new versions of <code>ndarray</code> and <code>nalgebra</code> versions as well as <code>faer</code>.</p>
<h3><a href="https://crates.io/crates/linfa">linfa 0.8.0</a></h3>
<p>linfa is a Rust crate that aims to provide a comprehensive toolkit to build Machine Learning applications with Rust.</p>
<p>This release includes new algorithms, improvements to existing algorithms, various bug fixes and support for <code>ndarray</code> 0.16.0.</p>
<h3><a href="https://crates.io/crates/globalsearch">globalsearch 0.3.0</a></h3>
<p>globalsearch is a Rust library for global optimization.</p>
<p>This release includes new Python bindings and support for new local solvers as well as various bug fixes and improvements.</p>
<h2>Help wanted</h2>
<h3><a href="https://github.com/trappitsch/instrumentRs">InstrumentRs</a></h3>
<p>InstrumentRs is a library in early-stage development that provides a framework for communicating with scientific instruments and equipment. The main goal is to provide a simple framework with good templates to rapidly develop new drivers to control instruments with Rust. Many design and direction questions are open, e.g.:</p>
<ul>
<li>Should we provide synchronous or asynchronous drivers? </li>
<li>Could we provide both? </li>
<li>Should instrument control, e.g., for individual channels of a device, be shareable between threads/tasks?</li>
<li>How can we make the library such that <code>std</code> is optional and drivers would work as well on embedded devices? </li>
</ul>
<p>If you are interested in driving scientific equipment with Rust, please check out the repository, join existing <a href="https://github.com/trappitsch/instrumentRs/discussions">discussions</a>, and/or open new ones to discuss ideas! Any help, ideas, questions are welcome and help!</p>
<h3><a href="https://github.com/kmolan/multicalc-rust">multicalc</a></h3>
<p>The main goal for multicalc is to provide high accuracy solutions for single and multi-variable calculus. We're looking for contributors who enjoy doing math, and love writing rust. The github repository has an extensive README and a comprehensive suite of tests.</p>
<p>If you are interested in helping, please check out the repository, join discussions, and/or open new ones to discuss ideas! Any ideas or questions are welcome!</p>
<h3>Scientific Computing in Rust newsletter editors</h3>
<p>We're looking for an additional 1-2 people to become editors of this newsletter. Being an editor
of the newsletter means taking charge of putting together an issue of the newsletter every few months,
by encouraging and reviewing items added by the community. If you're interested in becoming one
of the editors, please email Matthew Scroggs at <a href="mailto:rust@mscroggs.co.uk">rust@mscroggs.co.uk</a>.
If you have any queries or questions, you can email or message Matthew on the <a href="https://rust-scicomp.zulipchat.com/register/">Rust-SciComp Zulip chat</a>.</p>]]></description>
<description-html><p>Welcome to this month's issue of Scientific Computing in Rust Monthly.</p>
<p>Scientific Computing in Rust Monthly can be viewed online at <a href="https://scientificcomputing.rs/monthly">scientificcomputing.rs/monthly</a>,
you can sign up to receive an email copy at <a href="https://mailinglist.scientificcomputing.rs">mailinglist.scientificcomputing.rs</a>,
or you can subscribe using the RSS feed at <a href="https://scientificcomputing.rs/monthly/rss.xml">scientificcomputing.rs/monthly/rss.xml</a>.</p>
<p>Items can be added to the next issue of the newsletter by opening a pull request to the
<a href="https://github.com/rust-scicomp/scientific-computing-in-rust-monthly">Scientific Computing in Rust Monthly repository on GitHub</a>.
You can find more information about adding items
<a href="https://github.com/rust-scicomp/scientific-computing-in-rust-monthly#contributing-an-item">here</a>.</p>
<h2>Crate of the month: Rayon</h2>
<p>Rayon is a data-parallelism library that helps users to convert computations from sequential into parallel.
If you've not used Rayon before, we recommend starting by watching
<a href="https://www.youtube.com/watch?v=iCcHAKcL6hw">Gonzalo Brito's talk about using Rayon from Scientific Computing in Rust 2023</a>.</p>
<p><a href="https://crates.io/crates/rayon">crates.io</a> ~ <a href="https://docs.rs/rayon/latest/rayon/">docs.rs</a> ~ <a href="https://github.com/rayon-rs/rayon">source</a></p>
<h2>New releases</h2>
<h3><a href="https://crates.io/crates/argmin/">argmin 0.11.0</a></h3>
<p>argmin is a pure Rust library for numerical optimization.</p>
<p>This release includes various bug fixes and improvements. With the release of <code>argmin-math</code> 0.5.0, <code>argmin</code> now supports new versions of <code>ndarray</code> and <code>nalgebra</code> versions as well as <code>faer</code>.</p>
<h3><a href="https://crates.io/crates/linfa">linfa 0.8.0</a></h3>
<p>linfa is a Rust crate that aims to provide a comprehensive toolkit to build Machine Learning applications with Rust.</p>
<p>This release includes new algorithms, improvements to existing algorithms, various bug fixes and support for <code>ndarray</code> 0.16.0.</p>
<h3><a href="https://crates.io/crates/globalsearch">globalsearch 0.3.0</a></h3>
<p>globalsearch is a Rust library for global optimization.</p>
<p>This release includes new Python bindings and support for new local solvers as well as various bug fixes and improvements.</p>
<h2>Help wanted</h2>
<h3><a href="https://github.com/trappitsch/instrumentRs">InstrumentRs</a></h3>
<p>InstrumentRs is a library in early-stage development that provides a framework for communicating with scientific instruments and equipment. The main goal is to provide a simple framework with good templates to rapidly develop new drivers to control instruments with Rust. Many design and direction questions are open, e.g.:</p>
<ul>
<li>Should we provide synchronous or asynchronous drivers? </li>
<li>Could we provide both? </li>
<li>Should instrument control, e.g., for individual channels of a device, be shareable between threads/tasks?</li>
<li>How can we make the library such that <code>std</code> is optional and drivers would work as well on embedded devices? </li>
</ul>
<p>If you are interested in driving scientific equipment with Rust, please check out the repository, join existing <a href="https://github.com/trappitsch/instrumentRs/discussions">discussions</a>, and/or open new ones to discuss ideas! Any help, ideas, questions are welcome and help!</p>
<h3><a href="https://github.com/kmolan/multicalc-rust">multicalc</a></h3>
<p>The main goal for multicalc is to provide high accuracy solutions for single and multi-variable calculus. We're looking for contributors who enjoy doing math, and love writing rust. The github repository has an extensive README and a comprehensive suite of tests.</p>
<p>If you are interested in helping, please check out the repository, join discussions, and/or open new ones to discuss ideas! Any ideas or questions are welcome!</p>
<h3>Scientific Computing in Rust newsletter editors</h3>
<p>We're looking for an additional 1-2 people to become editors of this newsletter. Being an editor
of the newsletter means taking charge of putting together an issue of the newsletter every few months,
by encouraging and reviewing items added by the community. If you're interested in becoming one
of the editors, please email Matthew Scroggs at <a href="mailto:rust@mscroggs.co.uk">rust@mscroggs.co.uk</a>.
If you have any queries or questions, you can email or message Matthew on the <a href="https://rust-scicomp.zulipchat.com/register/">Rust-SciComp Zulip chat</a>.</p></description-html>
<link>https://www.scientificcomputing.rs/monthly/2025-10</link>
<guid>https://www.scientificcomputing.rs/monthly/2025-10</guid>
<pubDate>16 Oct 2025 12:00:00 GMT</pubDate>
</item>
</channel>
</rss>
