oars 0.4.0

A library providing construction methods and utility functions for orthogonal arrays
Documentation

oars

Build Status crates badge Documentation License

Summary

oa-rs/oars is a library for constructing orthogonal arrays (OAs) with various parameters, with the ability to construct OAs using multiple construction methods. It also provides utilities for constructing strong orthogonal arrays that work with the facilities for existing OAs or constructing SOAs from scratch. On top of being able to generated orthogonal arrays, this crate provides utilities to verify orthogonal arrays given a set of parameters.

These orthogonal arrays are not predefined and are constructed on the fly. If you want to create orthogonal arrays using predefined lookup tables, there are many resources online that provide the numbers for you to use.

For more information about orthogonal arrays and their use in Monte Carlo sampling, check out Chapter 10 of Art Owen's Monte Carlo book.

Development

This project only relies on the ndarray crate. There are several optimizations that can be applied to the crate for compilation, such as BLAS acceleration. You can optionally enable serde support for the orthogonal array structs with features = ["serialize"].

This crate was made for the stable compiler, so building is as simple as

cargo build
# or
cargo build --release

Usage

You can use this library with your Rust project via cargo. It targets the stable Rust compiler, so as long as you keep Rust updated, you'll probably be good.

I test this library on Mac/Linux with Travis, and also on my personal Mac and Linux machines.

Of course, if you find any issues, please file an issue or send a PR. Feature requests are also welcome.

If you want to enable serialization support for this library, include your dependency as such:

[dependencies.oars]
version = "0.4"
features = ["serialize"]

Roadmap

  • provide parallelized constructors and method variants