Scientific Computing in Rust Monthly #5

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

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

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

Crate of the month: paradis

crates.io ~ docs.rs ~ source

Paradis is a crate that offers tools for implementing parallelisation at various levels of abstraction. If you've not seen this crate before, we recommend starting by reading Andreas Longva's blog post about Paradis.

New releases

fact.rs 0.2.0

fact.rs (pronounced factors) is a nonlinear least-squares optimization library for robot sensor fusion, abstracted over factor graphs. This new release features new benchmarks, examples for custom residual and variable implementations, and the fac! macro for compile-time checked factor creation.

faer 0.21

faer is a Rust crate that implements low level linear algebra routines and a high level wrapper for ease of use, in pure Rust. The aim is to provide a fully featured library for linear algebra with focus on portability, correctness, and performance.

The latest version of faer has a simplified API and improved usability.

ploc 0.1.0

This is the first release of ploc, a library for efficient Point LOCation queries.

Given a planar subdivision (i.e. a mesh) and some query points, the point location problem consists in figuring out which polygons/elements contain the query points. This is useful in a few areas of scientific computing like interpolation of fields defined piecewise on a mesh (typically in FEM).

Ploc currently implements the trapezoidal map data structure, and is strongly influenced by matplotlib's C++ implementation. It differentiates itself by being able to handle arbitrary planar subdivisions instead of only triangulations, and by leveraging parallelism with rayon to accelerate the queries.