<?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 #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>
<item>
<title>Scientific Computing in Rust Monthly #10</title>
<description><![CDATA[<p>Welcome to this month's issue of Scientific Computing in Rust Monthly.</p>
<p>It's been a busy month since the last newsletter, with this year's annual Scientific Computing in
Rust workshop taking place in July - if you missed it, you can find recordings of all the talks
on the <a href="https://www.youtube.com/@ScientificComputinginRust">Scientific Computing in Rust YouTube channel</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>.
We're looking for volunteers to become editors of this newsletter: if you're interested, you can
find more information in the "Help wanted" section below.</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: cargo-upgrades</h2>
<p><a href="https://crates.io/crates/cargo-upgrades">crates.io</a> ~ <a href="https://docs.rs/cargo-upgrades/2.2.2/cargo_upgrades/">docs.rs</a> ~ <a href="https://gitlab.com/kornelski/cargo-upgrades">source</a></p>
<p>This month's crate of the month isn't explicitly a scientific computing tool, but it's still
really useful. cargo-upgrades is a cargo extension that can be used to check if your crate's
dependencies are up to date with the most recent stable releases. We recommend getting your
CI to run this to give you a nudge when one of your dependencies has a new release you can
update to.</p>
<h2>New releases</h2>
<h3><a href="https://crates.io/crates/approx-derive">approx-derive 0.2.6</a></h3>
<p>Derive macros for the popular <a href="https://docs.rs/approx/latest/approx/">approx</a> crate.</p>
<h3><a href="https://crates.io/crates/approxim">approxim 0.6.6</a></h3>
<p>Fork of the <a href="https://docs.rs/approx/latest/approx/">approx</a> crate which includes many PRs and
extended functionality (such as derive macros, support for optionals, etc.)
The original crate has not been updated since ~3 years.</p>
<h3><a href="https://crates.io/crates/indexing_fmt">indexing_fmt 0.1.1</a></h3>
<p>A helper crate for formatting superscripts and subscripts.
Especially helpful when formatting variable names automatically.</p>
<h3><a href="https://crates.io/crates/ndelement">ndelement 0.3.0</a></h3>
<p>A new version of the finite element definition library ndelement has been released. This new version
adds implementations of Piola transforms to map element values to physical cells, and DOF
transformations as described in <a href="https://doi.org/10.1145/3524456">this 2022 paper by Scroggs et al</a>.</p>
<h3><a href="https://crates.io/crates/quant-iron">Quant-Iron 1.1.0</a></h3>
<p>A high-performance, hardware-accelerated modular quantum computing simulator library with a focus on physical applications.
<code>Quant-Iron</code> provides tools to represent quantum states, apply standard and customised quantum gates, perform measurements in multiple bases, build quantum circuits, 
implement quantum algorithms and represent and evolve quantum many-body systems using Ising models, Heisenberg models, and Trotter-Suzuki decomposition and time evolution.</p>
<h3><a href="https://crates.io/crates/repgenerate">repgenerate v0.1.0</a></h3>
<p>repgenerate is a Rust library that can generate illumina sequencing reports for any Illumina genetics
sequencing platform.</p>
<h3><a href="https://crates.io/crates/sequenceprofiler">sequenceprofiler v0.1.0</a></h3>
<p>seqeuenceprofiler is a Rust library for genetics sequencing.</p>
<h2>Events</h2>
<h3><a href="https://www.youtube.com/playlist?list=PLrueqeouhcZNRW7H26DfscFjGSf0Pzd8c">Scientific Computing in Rust 2025, recordings of talks</a></h3>
<p>It's just over a month since this year's Scientific Computing in Rust virtual workshop took place.
Recordings of all the talks from the workshop are available on the <a href="https://www.youtube.com/@ScientificComputinginRust">Scientific Computing in Rust YouTube channel</a>,
or you can find links to all the recordings at <a href="https://scientificcomputing.rs/2025/timetable">scientificcomputing.rs/2025/timetable</a></p>
<h2>Publications</h2>
<h3><a href="10.21105/joss.07723">Jonas Pleyer, Christian Fleck, "cellular_raza: Cellular Agent-based Modeling from a Clean Slate", Journal of Open Source Software (JOSS)</a></h3>
<p>cellular_raza is a cellular agent-based modeling framework which allows researchers to
construct models from a clean slate. In contrast to other agent-based modeling toolkits,
cellular_raza was designed to be free of assumptions about the underlying cellular repre-
sentation. This enables researchers to build up complex models while retaining full control
over every parameter introduced. It comes with predefined building blocks for agents and their
physical domain to quickly construct new simulations bottom-up. Furthermore, cellular_raza
can be used with the pyo3 and maturin packages and thus act as a numerical backend to a
Python package.</p>
<h2>Help wanted</h2>
<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>It's been a busy month since the last newsletter, with this year's annual Scientific Computing in
Rust workshop taking place in July - if you missed it, you can find recordings of all the talks
on the <a href="https://www.youtube.com/@ScientificComputinginRust">Scientific Computing in Rust YouTube channel</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>.
We're looking for volunteers to become editors of this newsletter: if you're interested, you can
find more information in the "Help wanted" section below.</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: cargo-upgrades</h2>
<p><a href="https://crates.io/crates/cargo-upgrades">crates.io</a> ~ <a href="https://docs.rs/cargo-upgrades/2.2.2/cargo_upgrades/">docs.rs</a> ~ <a href="https://gitlab.com/kornelski/cargo-upgrades">source</a></p>
<p>This month's crate of the month isn't explicitly a scientific computing tool, but it's still
really useful. cargo-upgrades is a cargo extension that can be used to check if your crate's
dependencies are up to date with the most recent stable releases. We recommend getting your
CI to run this to give you a nudge when one of your dependencies has a new release you can
update to.</p>
<h2>New releases</h2>
<h3><a href="https://crates.io/crates/approx-derive">approx-derive 0.2.6</a></h3>
<p>Derive macros for the popular <a href="https://docs.rs/approx/latest/approx/">approx</a> crate.</p>
<h3><a href="https://crates.io/crates/approxim">approxim 0.6.6</a></h3>
<p>Fork of the <a href="https://docs.rs/approx/latest/approx/">approx</a> crate which includes many PRs and
extended functionality (such as derive macros, support for optionals, etc.)
The original crate has not been updated since ~3 years.</p>
<h3><a href="https://crates.io/crates/indexing_fmt">indexing_fmt 0.1.1</a></h3>
<p>A helper crate for formatting superscripts and subscripts.
Especially helpful when formatting variable names automatically.</p>
<h3><a href="https://crates.io/crates/ndelement">ndelement 0.3.0</a></h3>
<p>A new version of the finite element definition library ndelement has been released. This new version
adds implementations of Piola transforms to map element values to physical cells, and DOF
transformations as described in <a href="https://doi.org/10.1145/3524456">this 2022 paper by Scroggs et al</a>.</p>
<h3><a href="https://crates.io/crates/quant-iron">Quant-Iron 1.1.0</a></h3>
<p>A high-performance, hardware-accelerated modular quantum computing simulator library with a focus on physical applications.
<code>Quant-Iron</code> provides tools to represent quantum states, apply standard and customised quantum gates, perform measurements in multiple bases, build quantum circuits, 
implement quantum algorithms and represent and evolve quantum many-body systems using Ising models, Heisenberg models, and Trotter-Suzuki decomposition and time evolution.</p>
<h3><a href="https://crates.io/crates/repgenerate">repgenerate v0.1.0</a></h3>
<p>repgenerate is a Rust library that can generate illumina sequencing reports for any Illumina genetics
sequencing platform.</p>
<h3><a href="https://crates.io/crates/sequenceprofiler">sequenceprofiler v0.1.0</a></h3>
<p>seqeuenceprofiler is a Rust library for genetics sequencing.</p>
<h2>Events</h2>
<h3><a href="https://www.youtube.com/playlist?list=PLrueqeouhcZNRW7H26DfscFjGSf0Pzd8c">Scientific Computing in Rust 2025, recordings of talks</a></h3>
<p>It's just over a month since this year's Scientific Computing in Rust virtual workshop took place.
Recordings of all the talks from the workshop are available on the <a href="https://www.youtube.com/@ScientificComputinginRust">Scientific Computing in Rust YouTube channel</a>,
or you can find links to all the recordings at <a href="https://scientificcomputing.rs/2025/timetable">scientificcomputing.rs/2025/timetable</a></p>
<h2>Publications</h2>
<h3><a href="10.21105/joss.07723">Jonas Pleyer, Christian Fleck, "cellular_raza: Cellular Agent-based Modeling from a Clean Slate", Journal of Open Source Software (JOSS)</a></h3>
<p>cellular_raza is a cellular agent-based modeling framework which allows researchers to
construct models from a clean slate. In contrast to other agent-based modeling toolkits,
cellular_raza was designed to be free of assumptions about the underlying cellular repre-
sentation. This enables researchers to build up complex models while retaining full control
over every parameter introduced. It comes with predefined building blocks for agents and their
physical domain to quickly construct new simulations bottom-up. Furthermore, cellular_raza
can be used with the pyo3 and maturin packages and thus act as a numerical backend to a
Python package.</p>
<h2>Help wanted</h2>
<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-07</link>
<guid>https://www.scientificcomputing.rs/monthly/2025-07</guid>
<pubDate>10 Jul 2025 12:00:00 GMT</pubDate>
</item>
<item>
<title>Scientific Computing in Rust Monthly #9</title>
<description><![CDATA[<p>Welcome to this month's issue of Scientific Computing in Rust Monthly.</p>
<p>It's the week of this year's workshop! It's taking place from 13:00 to 17:00 BST (UTC+1)
on Wednesday to Friday. If you've not registered to attend yet, head over to
<a href="https://scientificcomputing.rs/2025/register">scientificcomputing.rs/2025/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>Crates of the month: Bevy and Burn</h2>
<h3>Bevy</h3>
<p><a href="https://crates.io/crates/bevy">crates.io</a> ~ <a href="https://docs.rs/bevy">docs.rs</a> ~ <a href="https://github.com/bevyengine/bevy">source</a></p>
<p>Bevy is a game engine built in Rust. As well as being used to <a href="https://itch.io/jam/bevy-jam-5/results">make games</a>,
it's being used for scientific simulations and visualisations. Alice Cecile, one of the developers
of Bevy will be giving <a href="https://scientificcomputing.rs/2025/talks/cecile.html">an invited talk at this year's workshop</a>.</p>
<h3>Burn</h3>
<p><a href="https://crates.io/crates/burn">crates.io</a> ~ <a href="https://docs.rs/burn">docs.rs</a> ~ <a href="https://github.com/tracel-ai/burn">source</a></p>
<p>Burn is a deep learning framework written in Rust.
Nathaniel Simard, one of the developers
of Burn will be giving <a href="https://scientificcomputing.rs/2025/talks/simard.html">an invited talk at this year's workshop</a>.</p>
<h2>New releases</h2>
<h3><a href="https://crates.io/crates/ensemblcov">ensemblcov v0.1.0</a> and <a href="https://crates.io/crates/vcfilter">vcfilter v0.1.0</a></h3>
<p>ensemblcov and vcfilter are multithreaded tools for handling ensembl and vcf files.</p>
<h2>Events</h2>
<h3><a href="https://scientificcomputing.rs/2025/">Scientific Computing in Rust, 4-6 June 2025, held virtually</a></h3>
<p>The 2025 edition of the Scientific Computing in Rust virtual workshop will take place on 4-6 June 2025.
Sessions will run between 13:00 and 17:00 BST each day. Registration is free and can be done at
<a href="https://scientificcomputing.rs/2025/register">scientificcomputing.rs/2025/register</a>.</p>
<p>The full timetable for the workshop can be found at
<a href="https://scientificcomputing.rs/2025/timetable">scientificcomputing.rs/2025/timetable</a>.</p>]]></description>
<description-html><p>Welcome to this month's issue of Scientific Computing in Rust Monthly.</p>
<p>It's the week of this year's workshop! It's taking place from 13:00 to 17:00 BST (UTC+1)
on Wednesday to Friday. If you've not registered to attend yet, head over to
<a href="https://scientificcomputing.rs/2025/register">scientificcomputing.rs/2025/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>Crates of the month: Bevy and Burn</h2>
<h3>Bevy</h3>
<p><a href="https://crates.io/crates/bevy">crates.io</a> ~ <a href="https://docs.rs/bevy">docs.rs</a> ~ <a href="https://github.com/bevyengine/bevy">source</a></p>
<p>Bevy is a game engine built in Rust. As well as being used to <a href="https://itch.io/jam/bevy-jam-5/results">make games</a>,
it's being used for scientific simulations and visualisations. Alice Cecile, one of the developers
of Bevy will be giving <a href="https://scientificcomputing.rs/2025/talks/cecile.html">an invited talk at this year's workshop</a>.</p>
<h3>Burn</h3>
<p><a href="https://crates.io/crates/burn">crates.io</a> ~ <a href="https://docs.rs/burn">docs.rs</a> ~ <a href="https://github.com/tracel-ai/burn">source</a></p>
<p>Burn is a deep learning framework written in Rust.
Nathaniel Simard, one of the developers
of Burn will be giving <a href="https://scientificcomputing.rs/2025/talks/simard.html">an invited talk at this year's workshop</a>.</p>
<h2>New releases</h2>
<h3><a href="https://crates.io/crates/ensemblcov">ensemblcov v0.1.0</a> and <a href="https://crates.io/crates/vcfilter">vcfilter v0.1.0</a></h3>
<p>ensemblcov and vcfilter are multithreaded tools for handling ensembl and vcf files.</p>
<h2>Events</h2>
<h3><a href="https://scientificcomputing.rs/2025/">Scientific Computing in Rust, 4-6 June 2025, held virtually</a></h3>
<p>The 2025 edition of the Scientific Computing in Rust virtual workshop will take place on 4-6 June 2025.
Sessions will run between 13:00 and 17:00 BST each day. Registration is free and can be done at
<a href="https://scientificcomputing.rs/2025/register">scientificcomputing.rs/2025/register</a>.</p>
<p>The full timetable for the workshop can be found at
<a href="https://scientificcomputing.rs/2025/timetable">scientificcomputing.rs/2025/timetable</a>.</p></description-html>
<link>https://www.scientificcomputing.rs/monthly/2025-06</link>
<guid>https://www.scientificcomputing.rs/monthly/2025-06</guid>
<pubDate>3 Jun 2025 12:00:00 GMT</pubDate>
</item>
</channel>
</rss>
