# Numerics .NET Quickstart Samples in C#

To get you started right away with creating your own statistical applications using Extreme Numerics.NET, we are providing these QuickStart Samples. See our Sample Applications page for some real-life applications.

## Data Analysis

### Data Frames

Illustrates how to create and manipulate data frames using classes in the Numerics.NET.DataAnalysis namespace.

### Indexes and Labels

Illustrates how to use indexes to label the rows and columns of a data frame or matrix, or the elements of a vector.

### Data Wrangling

Illustrates how to perform basic data wrangling or data munging operations on data frames using classes in the Numerics.NET.DataAnalysis namespace.

### Manipulating Columns

Illustrates how to transform and manipulate the columns of a data frame.

### Sorting and Filtering

Illustrates how to sort and filter data used for data analysis.

### Grouping and Aggregation

Illustrates how to group data and how to compute aggregates over groups and entire datasets..

### Histograms

Illustrates how to create histograms using the Histogram class in the Numerics.NET.DataAnalysis namespace.

## Mathematics

### General

#### Complex Numbers

Illustrates how to work with complex numbers using the DoubleComplex structure.

#### Elementary Functions

Illustrates how to use additional elementary functions.

#### BigNumbers

Illustrates the basic use of the arbitrary precision classes: BigInteger, BigRational, BigFloat.

#### Prime Numbers

Illustrates working with prime numbers and the IntegerMath class in the Numerics.NET namespace.

#### FFT/Fourier Transforms

Illustrates how to compute the forward and inverse Fourier transform of a real or complex signal using classes in the Numerics.NET.SignalProcessing namespace.

#### Generic Algorithms

Illustrates how to write algorithms that are generic over the numerical type of the arguments.

### Calculus

#### Basic Integration

Illustrates the basic numerical integration classes.

#### Advanced Integration

Illustrates more advanced numerical integration using the AdaptiveIntegrator class.

#### Higher Dimensional Numerical Integration

Illustrates numerical integration of functions in higher dimensions using classes in the Numerics.NET.Calculus namespace.

#### Numerical Differentiation

Illustrates how to approximate the derivative of a function.

#### Differential Equations

Illustrates integrating systems of ordinary differential equations (ODE's).

### Curves

#### Basic Polynomials

Illustrates the basic use of the Polynomial class .

#### Advanced Polynomials

Illustrates more advanced uses of the Polynomial class, including real and complex root finding, calculating least squares polynomials and polynomial arithmetic.

#### Chebyshev Series

Illustrates the basic use of the ChebyshevSeries class .

### Curve Fitting and Interpolation

#### Linear Curve Fitting

Illustrates how to fit linear combinations of curves to data using the LinearCurveFitter class and other classes in the Numerics.NET.Curves namespace.

#### Nonlinear Curve Fitting

Illustrates nonlinear least squares curve fitting of predefined and user-defined curves using the NonlinearCurveFitter class.

#### Piecewise Curves

Illustrates working with piecewise constant and piecewise linear curves using classes from the Numerics.NET.Curves namespace.

#### Cubic Splines

Illustrates using natural and clamped cubic splines for interpolation using classes in the Numerics.NET.LinearAlgebra namespace.

### Solving Equations

#### Newton-Raphson Equation Solver

Illustrates the use of the NewtonRaphsonSolver class for solving equations in one variable and related functions for numerical differentiation.

#### Root Bracketing Solvers

Illustrates the use of the root bracketing solvers for solving equations in one variable.

#### Nonlinear Systems

Illustrates the use of the NewtonRaphsonSystemSolver and DoglegSystemSolver classes for solving systems of nonlinear equations.

### Optimization

#### Optimization In One Dimension

Illustrates the use of the Brent and Golden Section optimizer classes in the Numerics.NET.Optimization namespace for one-dimensional optimization.

#### Optimization In Multiple Dimensions

Illustrates the use of the multi-dimensional optimizer classes in the Numerics.NET.Optimization namespace for optimization in multiple dimensions.

#### Linear Programming

Illustrates solving linear programming (LP) problems using classes in the Numerics.NET.Optimization.LinearProgramming namespace.

#### Mixed Integer Programming

Illustrates how to solve mixed integer programming by solving Sudoku puzzles using the linear programming solver.

#### Quadratic Programming

Illustrates how to solve optimization problems a quadratic objective function and linear constraints using classes in the Numerics.NET.Optimization namespace.

#### Nonlinear Programming

Illustrates solving nonlinear programs (optimization problems with linear or nonlinear constraints) using the NonlinearProgram and related classes.

### Random numbers and Quasi-Random Sequences

#### Random Number Generators

Illustrates how to use specialized random number generator classes in the Numerics.NET.Statistics.Random namespace.

#### Non-Uniform Random Numbers

Illustrates how to generate random numbers from a non-uniform distribution.

#### Quasi-Random Sequences

Illustrates how to generate quasi-random sequences like FaurÃ© and Sobol sequences using classes in the Numerics.NET.Statistics.Random namespace.

## Linear Algebra

### Vectors

#### Basic Vectors

Illustrates the basic use of the Vector class for working with vectors.

#### Vector Operations

Illustrates how to perform operations on Vector objects, including construction, element access, arithmetic operations.

### Matrices

#### Basic Matrices

Illustrates the basic use of the Matrix class for working with matrices.

#### Accessing Matrix Elements

Illustrates different ways of iterating through the rows and columns of a matrix using classes in the Numerics.NET.LinearAlgebra namespace.

#### Matrix-Vector Operations

Illustrates how to perform operations that involve both matrices and vectors.

#### Triangular Matrices

Illustrates how to work efficiently with upper or lower triangular or trapezoidal matrices.

#### Symmetric Matrices

Illustrates how to work efficiently with symmetric matrices.

#### Band Matrices

Illustrates how to work with the BandMatrix class.

#### Sparse Matrices

Illustrates using sparse vectors and matrices using the classes in the Numerics.NET.LinearAlgebra.Sparse namespace.

#### Matrix Decompositions

Illustrates how compute various decompositions of a matrix using classes in the Numerics.NET.LinearAlgebra namespace.

### Solving Equations and Least Squares

#### Linear Equations

Illustrates how to solve systems of simultaneous linear equations.

#### Structured Linear Equations

Illustrates how to solve systems of simultaneous linear equations that have special structure.

#### Iterative Sparse Solvers

Illustrates the use of iterative sparse solvers and preconditioners for efficiently solving large, sparse systems of linear equations.

#### Least Squares

Illustrates how to solve least squares problems using classes in the Numerics.NET.LinearAlgebra namespace.

### Tensors

#### Basic Tensors

Illustrates the basic use of the Tensor class for working with tensors.

#### Accessing Tensor Elements

Illustrates different ways of accessing elements of a tensor and sub-tensors using classes in the Numerics.NET.Tensors namespace.

#### Tensor Operations

Illustrates how to perform operations on tensors.

## Statistics

### Probability Distributions

#### Discrete Distributions

Illustrates how to use the classes that represent discrete probability distributions in the Numerics.NET.Statistics.Distributions namespace.

#### Continuous Distributions

Illustrates how to use the classes that represent continuous probability distributions in the Numerics.NET.Statistics.Distributions namespace.

### Analysis of Variance

#### One-Way Anova

Illustrates how to use the OneWayAnovaModel class to perform a one-way analysis of variance.

#### Repeated Measures Anova

Illustrates how to use the OneWayRAnovaModel class to perform a one-way analysis of variance with repeated measures.

#### Two-Way Anova

Illustrates how to use the TwoWayAnovaModel class to perform a two-way analysis of variance.

### Regression Analysis

#### Simple Regression

Illustrates how to perform a simple linear regression using the SimpleRegressionModel class.

#### Multiple Linear Regression

Illustrates how to use the LinearRegressionModel class to perform a multiple linear regression.

#### Polynomial Regression

Illustrates how to fit data to polynomials using the PolynomialRegressionModel class.

#### Logistic Regression

Illustrates how to use the LogisticRegressionModel class to create logistic regression models.

#### Generalized Linear Models

Illustrates how to use the GeneralizedLinearModel class to compute probit, Poisson and similar regression models.

### Time Series Analysis

#### Simple Time Series

Illustrates how to perform simple operations on time series data using classes in the Numerics.NET.Statistics.TimeSeriesAnalysis namespace.

#### Variable Transformations

Illustrates how to perform a range of transformations on statistical data.

#### ARIMA Models

Illustrates how to work with ARIMA time series models using classes in the Numerics.NET.Statistics.TimeSeriesAnalysis namespace.

### Multivariate Analysis

#### Cluster Analysis

Illustrates how to use the classes in the Numerics.NET.Statistics.Multivariate namespace to perform hierarchical clustering and K-means clustering.

#### Principal Component Analysis (PCA)

Illustrates how to perform a Principal Component Analysis using classes in the Numerics.NET.Statistics.Multivariate namespace.

#### Factor Analysis (FA)

Illustrates how to perform a Factor Analysis using classes in the Numerics.NET.Statistics.Multivariate namespace.

### Hypothesis Tests

#### Mean Tests

Illustrates how to use various tests for the mean of one or more sanples using classes in the Numerics.NET.Statistics.Tests namespace.

#### Variance Tests

Illustrates how to perform hypothesis tests involving the standard deviation or variance using classes in our .NET statistical library.

#### Goodness-Of-Fit Tests

Illustrates how to test for goodness-of-fit using classes in the Numerics.NET.Statistics.Tests namespace.

#### Homogeneity Of Variances Tests

Illustrates how to test a collection of variables for equal variances using classes in the Numerics.NET.Statistics.Tests namespace.

#### Non-Parametric Tests

Illustrates how to perform non-parametric tests like the Wilcoxon-Mann-Whitney test and the Kruskal-Wallis test.