Back to the catalog

Software — free catalog

Random Variable Library

A NASA software catalog entry available for reuse or request.

About this technology

Overview

The Random Variable Library is a C++ software library that provides a framework for uncertainty representation using probability distributions. The presence of uncertainty poses significant challenges for calculating predictions and decision-making, particularly in the context of operation of engineering systems. Many existing tools for prediction do not include the impact of uncertainty or make assumptions regarding the different sources of uncertainty. The Random Variable Library presents a solution to overcome these challenges and represent various forms of uncertainty. In particular, standard parametric distributions such Gaussian, Lognormal, etc. are supported, in addition to non-parametric representations such as unweighted/weighted samples, percentiles, etc. It is extendable, allowing for the addition of additional distributions. Beyond representation, the library includes basic capabilities for multivariate sampling and fitting using several methods. This can be used to facilitate certain uncertainty management activities such as uncertainty propagation and likelihood calculations.