= Math Expressions
:page-children: scalar-math, vector-math, variables, matrix-math, vectorization, term-vectors, statistics, probability-distributions, simulations, time-series, regression, numerical-analysis, curve-fitting, dsp, machine-learning, computational-geometry

// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements.  See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership.  The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License.  You may obtain a copy of the License at
//
//   http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.  See the License for the
// specific language governing permissions and limitations
// under the License.

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.adoc#scalar-math,Scalar Math>>*: The functions that apply to scalar numbers.

*<<vector-math.adoc#vector-math,Vector Math>>*: Vector math expressions and vector manipulation.

*<<variables.adoc#variables,Variables and Caching>>*: Assigning and caching variables.

*<<matrix-math.adoc#matrix-math,Matrix Math>>*: Matrix creation, manipulation, and matrix math.

*<<vectorization.adoc#vectorization,Streams and Vectorization>>*: Retrieving streams and vectorizing numeric and lat/lon location fields.

*<<term-vectors.adoc#term-vectors,Text Analysis and Term Vectors>>*: Using math expressions for text analysis and TF-IDF term vectors.

*<<statistics.adoc#statistics,Statistics>>*: Statistical functions in math expressions.

*<<probability-distributions.adoc#probability-distributions,Probability>>*: Mathematical models of probability.

*<<simulations.adoc#simulations,Monte Carlo Simulations>>*: Performing uncorrelated and correlated Monte Carlo simulations.

*<<regression.adoc#regression,Linear Regression>>*: Simple and multivariate linear regression.

*<<numerical-analysis.adoc#numerical-analysis,Interpolation, Derivatives and Integrals>>*: Numerical analysis math expressions.

*<<dsp.adoc#dsp,Digital Signal Processing>>*: Functions commonly used with digital signal processing.

*<<curve-fitting.adoc#curve-fitting,Curve Fitting>>*: Polynomial, Harmonic and Gaussian curve fitting.

*<<time-series.adoc#time-series,Time Series>>*: Aggregation, smoothing and differencing of time series.

*<<machine-learning.adoc#machine-learning,Machine Learning>>*: Functions used in machine learning.

*<<computational-geometry.adoc#computational-geometry,Computational Geometry>>*: Convex Hulls and Enclosing Disks.

