The Streaming Expression library includes a powerful mathematical programing syntax with many of the features of a functional programming language. The syntax includes variables, data structures and a growing set of mathematical functions.

This user guide provides an overview of the different areas of mathematical coverage starting with basic scalar math and ending with machine learning. Along the way the guide covers variables and data structures and techniques for combining Solr’s powerful streams with mathematical functions to make every record in your Solr Cloud cluster computable.

**Scalar Math**: The functions that apply to scalar numbers.

**Vector Math**: Vector math expressions and vector manipulation.

**Variables and Caching**: Assigning and caching variables.

**Matrix Math**: Matrix creation, manipulation, and matrix math.

**Streams and Vectorization**: Retrieving streams and vectorizing numeric and lat/lon location fields.

**Text Analysis and Term Vectors**: Using math expressions for text analysis and TF-IDF term vectors.

**Statistics**: Statistical functions in math expressions.

**Probability**: Mathematical models of probability.

**Monte Carlo Simulations**: Performing uncorrelated and correlated Monte Carlo simulations.

**Linear Regression**: Simple and multivariate linear regression.

**Interpolation, Derivatives and Integrals**: Numerical analysis math expressions.

**Digital Signal Processing**: Functions commonly used with digital signal processing.

**Curve Fitting**: Polynomial, Harmonic and Gaussian curve fitting.

**Time Series**: Aggregation, smoothing and differencing of time series.

**Machine Learning**: Functions used in machine learning.

**Computational Geometry**: Convex Hulls and Enclosing Disks.