Mathematical Functions
Mathematica has the most extensive collection of mathematical functions ever assembled. Often relying on original results and algorithms developed at Wolfram Research over the past two decades, each function supports a full range of symbolic operations, as well as efficient numerical evaluation to arbitrary precision, for all complex values of parameters.
  Mathematical Constants »
Pi(Pi) - E(ExponentialE) - Degree(°) - EulerGamma - ...
Complex Numbers »
I(ImaginaryI) - Re - Im - Conjugate - Abs - Arg - ...
Arithmetic Functions »
Plus(+) - Times(×) - Power(^) - Sqrt - Total - ...
Numerical Functions »
Abs - Round - Floor - Min - Max - Clip - Rescale - SquareWave - ...
Elementary Functions »
Log - Log10 - Exp - Sqrt - Sin - Cos - Tan - ArcTan - Tanh - Sinc - ...
Special Functions »
Gamma - Erf - BesselJ - BesselK - AiryAi - EllipticK - LegendreP - ChebyshevT - HermiteH - LaguerreL - SpheroidalS1 - JacobiSN - WeierstrassP - Zeta - PolyLog - EllipticTheta - Hypergeometric2F1 - HypergeometricPFQ - MeijerG - AppellF1 - ...
Generalized Functions »
DiracDelta - HeavisideTheta - DiracComb - ...
Integer Functions »
Mod - Quotient - Divisible - GCD - Factorial(!) )- Binomial - Fibonacci - BernoulliB - StirlingS1 - IntegerDigits - DigitCount - BitAnd - ...
Number Theoretic Functions »
FactorInteger - Prime - PrimePi - EulerPhi - MoebiusMu - DivisorSigma - JacobiSymbol - MultiplicativeOrder - PartitionsP - SquaresR - DirichletL - ...
Statistical Distributions »
NormalDistribution - ChiSquareDistribution - PoissonDistribution - ...
Random Numbers »
RandomInteger - RandomReal - RandomChoice - RandomPrime
Signals-Oriented Functions »
SquareWave - TriangleWave - UnitBox - ...
N — numerical evaluation to any precision
FunctionExpand — expand in terms of simpler functions
FullSimplify — apply full symbolic simplification


Formula Manipulation
Mathematica handles formulas of all types, from polynomials with millions of terms to complex combinations of higher mathematical functions. It provides powerful general transformation and simplification functions that automatically call on thousands of rules and algorithms—many original to Wolfram Research.
  Simplify — simplify, perhaps with assumptions about variables
FullSimplify — apply full simplification procedures
FunctionExpand — expand in terms of more elementary functions
Expand — expand out algebraic expressions
Factor — factor algebraic expressions
Reduce — reduce out equations and inequalities
Series — find a series approximation
Extracting Parts of Formulas
Coefficient - Exponent - Part - Numerator - Denominator

Formula Rearrangement
Collect - Together - Apart - Cancel

Algebraic Transformations »
PowerExpand - ComplexExpand - TrigExpand - RootReduce - ComplexityFunction - ...

Formula Testing
Equal(Equal) - Element - PossibleZeroQ
Assumptions & Domains »
Refine - Assuming - ForAll - Integers - Reals - ...
TraditionalForm — display a formula in traditional math notation


Matrices & Linear Algebra
Mathematica automatically handles both numeric and symbolic matrices, seamlessly switching among large numbers of highly-optimized algorithms. Using many original methods, Mathematica can handle numerical matrices of any precision, automatically invoking machine-optimized code when appropriate. Mathematica handles both dense and sparse matrices, and can routinely operate on matrices with millions of entries.
  Operations on Vectors »
+, *, ^, ... — automatically operate element-wise: {a, b}+{c, d}->{a+c, b+d}
Dot (.) — scalar dot product
Cross - Norm - Total - Normalize - Projection - Orthogonalize - ...
Constructing Matrices »
Table — construct a matrix from an expression
IdentityMatrix - DiagonalMatrix - RotationMatrix - HilbertMatrix - ...

Parts of Matrices »
Part — a part or submatrix: m[[i, j]]; resettable with m[[i, j]]=x
Dimensions - Take - Drop - Diagonal - Position - UpperTriangularize - ...
Matrix Operations »
Dot(.) - Inverse - Transpose - Det - Tr - Eigenvalues - MatrixExp - ...

Linear Systems »
LinearSolve - NullSpace - MatrixRank - RowReduce - Minors - ...

Minimization Problems »
LeastSquares - PseudoInverse - Norm - LinearProgramming - ...

Matrix Decompositions »
SingularValueDecomposition - QRDecomposition - LUDecomposition - CholeskyDecomposition - SchurDecomposition - ...

Matrix Tests
MatrixQ - HermitianMatrixQ - SymmetricMatrixQ - PositiveDefiniteMatrixQ
Displaying Matrices
MatrixForm — display a matrix in 2D form
MatrixPlot — visualize a matrix using colors for elements
Sparse Arrays »
SparseArray — construct a sparse matrix from positions and values
ArrayRules - Normal - CoefficientArrays - ...
Data Formats
"CSV" - "HDF" - "MAT" - "MTX" - "HarwellBoeing" - ...


Calculus
In calculus even more than other areas, Mathematica packs centuries of mathematical development into a small number of exceptionally powerful functions. Continually enhanced by new methods being discovered at Wolfram Research, the algorithms in Mathematica probably now reach almost every integral and differential equation for which a closed form can be found.
  D (PartialD) — partial derivatives, of scalar or vector functions
Dt — total derivatives
Integrate (Integral) — symbolic integrals in one or more dimensions
Series — power series and asymptotic expansions »
Limit — limits
DSolve — symbolic solutions to differential equations
Minimize, Maximize — symbolic optimization
Sum, Product — symbolic sums and products
Integral Transforms »
LaplaceTransform - FourierTransform - Convolve - DiracDelta - ...
Normalize, Orthogonalize — normalize, orthogonalize families of functions

Numerical Calculus »
NIntegrate - NDSolve - NMinimize - NSum - ...
Differential Operator Functions »
Derivative — symbolic and numerical derivative functions
DifferentialRoot — general representation of linear differential solutions
Discrete Calculus »
DifferenceDelta - GeneratingFunction - RSolve - RecurrenceTable - ...


Polynomial Algebra
Polynomial algorithms are at the core of classical "computer algebra". Incorporating methods that span from antiquity to the latest cutting-edge research at Wolfram Research, Mathematica has the world's broadest and deepest integrated web of polynomial algorithms. Carefully tuned strategies automatically select optimal algorithms, allowing large-scale polynomial algebra to become a routine part of many types of computations.
  Polynomial Elements
Coefficient - CoefficientList - CoefficientRules - Exponent - Variables

Basic Structural Operations
Expand - Collect - MonomialList

Polynomial Factoring & Decomposition »
Factor - FactorList - Decompose - SymmetricReduction - ...

Polynomial Division »
PolynomialQuotient - PolynomialGCD - PolynomialReduce - ...

Polynomial Systems »
Solve — find generic solutions for variables
Eliminate — eliminate variables between equations
Resolve — eliminate general quantifiers
Reduce — reduce systems of equations and inequalities to canonical form
Discriminant - Resultant - GroebnerBasis - CylindricalDecomposition - ...

Finite Fields
Modulus — specify a modulus
PolynomialMod — reduce coefficients in a polynomial

Algebraic Number Fields »
GaussianIntegers — do operations over Gaussian integers
Extension — specify a general algebraic extension field
Root — general representation of a polynomial root
MinimalPolynomial — minimal polynomial for a general algebraic number
RootSum - RootReduce - ToRadicals - Cyclotomic - SymmetricPolynomial - ...


Number Theory
Packing a large number of sophisticated algorithms—many recent and original—into a powerful collection of functions, Mathematica draws on almost every major result in number theory. A key tool for two decades in the advance of the field, Mathematica's symbolic architecture and web of highly efficient algorithms make it a unique platform for number theoretic experiment, discovery and proof.
  Factoring & Primes »
FactorInteger — find the factors of an integer
PrimeQ — test whether an integer is prime
Prime - NextPrime - PrimePi - EulerPhi - MoebiusMu - JacobiSymbol - ...
Congruences & Modular Arithmetic
PowerMod — modular powers, roots and inverses
Mod - PrimitiveRoot - MultiplicativeOrder - ChineseRemainder - ...
Diophantine & Other Equations »
Reduce — find general solutions to Diophantine equations
FindInstance — search for particular solutions to Diophantine equations
Element — test field, ring, etc. memberships
Integers - Rationals - Reals - Algebraics - Primes
Number Representations
ContinuedFraction - FromContinuedFraction - Rationalize - ...
IntegerDigits - RealDigits - FromDigits - DigitCount - ...
Multiplicative Number Theory »
Divisors - DivisorSigma - DivisorSum - MangoldtLambda - ...
Analytic Number Theory »
DirichletL — Dirichlet L-functions
Zeta - DirichletCharacter - LogIntegral - ZetaZero - ...
PrimePi - PrimeOmega - PrimeNu - MangoldtLambda - LiouvilleLambda - ...
Additive Number Theory »
IntegerPartitions — restricted and unrestricted partitions of integers
PartitionsP - PartitionsQ - FrobeniusNumber - SquaresR - ...
PowersRepresentations — representations of integers as sums of powers
Algebraic Number Theory »
AlgebraicNumber - Root - GaussianIntegers - MinimalPolynomial - ...
ToNumberField — operate in a given algebraic number field
NumberFieldDiscriminant - NumberFieldIntegralBasis - ...


Computational Systems
Mathematica is the tool that has made possible Stephen Wolfram's exploration of the computational universe, and the emerging field of Wolfram Science (NKS). Whether for modeling, algorithm discovery or basic NKS, Mathematica has immediate built-in capabilities for the systematic study of a broad range of computational systems.
  CellularAutomaton — general cellular automaton in 1D, 2D, etc.
TuringMachine — general Turing machine in 1D, 2D, etc.
expr/.rule — apply a rule
NestList — iteratively apply a function or evolution rule
NestWhileList — iterate while checking for looping or termination
StringReplace, StringReplaceList — rewrite, substitution and multiway systems
ArrayFlatten — flatten out steps in 2D substitution systems, etc.
ArrayPlot, ListPlot — visualize arrays of data
GraphPlot, TreePlot — visualize networks
FindSequenceFunction — find functional forms for integer sequences

Boolean Functions »
BooleanFunction - BooleanTable - BooleanConvert - ...


Numerical Evaluation & Precision
In two decades of intense algorithmic development, Mathematica has established a new level of numerical computation. Particularly notable are its many original highly efficient algorithms, its methodology for automatic algorithm selection, and its systemwide support for automatic error tracking and arbitrary-precision arithmetic.
  N — numerical evaluation to any precision
Major Numerics Functions
NSolve - NDSolve - NIntegrate - NMinimize - NSum

Complex Numbers »
I(ImaginaryI) - Abs - Re - Im - Conjugate - ...

Representation of Numbers »
IntegerDigits - RealDigits - FromDigits - IntegerQ - ...

Display of Numbers »
NumberForm - NumberMarks - InputForm - CForm - ...

Precision & Accuracy Control »
Precision - Accuracy - PrecisionGoal - AccuracyGoal - ...

Algorithm Control & Analysis
Method - StepMonitor - EvaluationMonitor - Norm
Compiled — control machine-precision compilation optimization


Defining Variables and Functions
The symbolic language paradigm of Mathematica takes the concept of variables and functions to a new level. In Mathematica a variable can not only stand for a value, but can also be used purely symbolically. And building on Mathematica's powerful pattern language, "functions" can be defined not just to take arguments, but to transform a pattern with any structure.
  x=... — set a variable
f[x_]:=... — define a function that takes any single argument
Assignments »
Set (=) — immediate assignment (right-hand side evaluated immediately)
SetDelayed (:=) — delayed assignment (right-hand side evaluated only when used)
Unset (=.) — unset a variable
Clear — clear a function definition
Function Argument Patterns »
__(BlankSequence) - p|p(Alternatives) - p:e (Optional)

Bodies of Functions »
Module, ... — scope local variables
e;e;e (CompoundExpression) — execute expressions in sequence

Function Attributes »
Attributes - Flat - Orderless - Listable - HoldFirst - Protected


Equation Solving
Built into Mathematica is the world's largest collection of both numerical and symbolic equation solving capabilities—with many original algorithms, all automatically accessed through a small number of exceptionally powerful functions. Mathematica's symbolic architecture allows both equations and their solutions to be conveniently given in symbolic form, and immediately integrated into computations and visualizations.
  Solve — exact solutions to equations and systems
NSolve — general numerical solutions to equations and systems
FindRoot — numerically find local roots of equations
DSolve — exact solutions to differential equations
NDSolve — numerical solutions to differential equations
RSolve — exact solutions to recurrence and functional equations
RecurrenceTable — table of solutions to recurrence and functional equations
FindInstance — find particular solutions to equations and inequalities
Reduce — reduce equations and inequalities
LinearSolve — solve linear systems in matrix form
ContourPlot, ContourPlot3D — plot solution curves and surfaces
RegionPlot, RegionPlot3D — plot regions satisfied by inequalities


Optimization
Integrated into Mathematica are a full range of state-of-the-art local and global optimization techniques, both numeric and symbolic, including constrained nonlinear optimization, interior point methods and integer programming—as well as original symbolic methods. Mathematica's symbolic architecture provides seamless access to industrial-strength system and model optimization, efficiently handling million-variable linear programming, and multithousand-variable nonlinear problems.
  Numerical Optimization
NMinimize, NMaximize
— nonlinear constrained global optimization
FindMinimum, FindMaximum — local unconstrained or constrained optimization
FindFit — optimal nonlinear unconstrained or constrained fit to data

Symbolic Optimization
Minimize, Maximize
— symbolic global optimization

Extremal Values & Locations
MinValue, MaxValue
— minimum, maximum values
NMinValue - NMaxValue - FindMinValue - FindMaxValue
ArgMin, ArgMax — position of minimum, maximum
NArgMin - NArgMax - FindArgMin - FindArgMax

Matrix Forms
LinearProgramming
— real and integer linear programming in matrix form
LeastSquares — least-squares problem in matrix form
Combinatorial Optimization »
FindShortestTour — solve a traveling salesman problem
Minimize, FindMinimum — solve integer programming problems
ArgMin, MinValue, ... — position, value of minima
Inequality Visualization
RegionPlot, RegionPlot3D — plot regions satisfied by inequalities


Statistics
Mathematica provides integrated support both for classical statistics and for modern large-scale data analysis. Its symbolic character allows broader coverage, with symbolic manipulation of statistical distributions, symbolic specification of functions and models, and general symbolic representations of large-scale data properties. Incorporating the latest numerics and computational geometry algorithms, Mathematica provides high-accuracy and high-reliability statistical results for datasets of almost unlimited size.
  Statistical Quantities »
Mean - Variance - StandardDeviation - Median - Quantile - Covariance - ...

Statistical Distributions »
NormalDistribution - PoissonDistribution - ChiSquareDistribution - ...
PDF, CDF — probability density function, cumulative density function

Data Fitting »
FindFit — find a general nonlinear fit
Fit - Interpolation - LeastSquares - ...

Data Smoothing »
MovingAverage - MovingMedian - ListCorrelate - ...

Statistical Model Analysis »
LinearModelFit - NonlinearModelFit - GeneralizedLinearModelFit - ...

Exploratory Data Analysis »
Histogram - BinCounts - FindClusters - Nearest - ...

Random Sampling »
RandomReal - RandomInteger - RandomChoice - ...

Importing Data »
Import - "CSV" - "XLS" - "MDB" - ...


Discrete Mathematics
Mathematica has been used to make many important discoveries in discrete mathematics over the past two decades. Its integration of highly efficient and often original algorithms together with its high-level symbolic language has made it a unique environment for the exploration, development and application of discrete mathematics.
  List and Set Operations
Tuples - Subsets - Union - Intersection - Complement

Permutations
Permutations - Sort - Ordering - Signature - RandomSample

Enumeration-Related Functions »
Factorial - Binomial - Fibonacci - StirlingS1 - PartitionsP - IntegerPartitions - FiniteGroupCount - ...

Discrete Calculus »
RSolve
— solve recurrence equations
Sum - GeneratingFunction - ZTransform - DifferenceDelta - ContinuedFractionK - ...

Integer Sequences »
FindSequenceFunction — find functions for integer sequences
RecurrenceTable - LinearRecurrence - ...

Strings and Digits
StringReplaceList - IntegerDigits - BitXor - BitAnd
ReplaceList — generate a list of forms matching a pattern

Graphs and Trees
GraphPlot, GraphPlot3D, LayeredGraphPlot — lay out and draw graphs
TreePlot — display trees
GraphData — database of named and enumerated graphs and their properties

Combinatorial Optimization
FindMinimum, Minimize — solve integer programming problems
FindShortestTour — solve traveling salesman problems

Boolean Computation »
And - Or - SatisfiableQ - BooleanFunction - BooleanMinimize - ...

Algebraic Systems »
FiniteGroupData - LatticeData - KnotData

Computational Systems »
CellularAutomaton - TuringMachine


Logic & Boolean Algebra
Mathematica represents Boolean expressions in symbolic form, so they can not only be evaluated, but also be symbolically manipulated and transformed. Incorporating state-of-the-art quantifier elimination, satisfiability and equational logic theorem proving, Mathematica provides a powerful framework for investigations based on Boolean algebra.
  Logical Operators
And(&&, And) - Or(||, Or) - Not(!, ¬) - Nand(Nand) - Nor(Nor) - Xor(Xor) - Implies(Implies) - Equivalent(?) - Equal(Equal) - Unequal(NotEqual) - ...
True, False — symbolic truth values
Boole — convert symbolic truth values to 0 and 1
Boolean Computation »
BooleanFunction — general Boolean function
BooleanConvert - BooleanMinimize - SatisfiableQ - ...
Mathematical Logic
FullSimplify — simplify logic expressions and prove theorems
ForAll (ForAll), Exists (Exists) — quantifiers
Resolve - Reduce - FindInstance
Boolean Vector Operations
Nearest, FindClusters — operate on Boolean vectors
HammingDistance - MatchingDissimilarity - ...


Mathematical Data
Mathematica provides direct access to a large volume of mathematical data, specially organized and created for Mathematica. The data is available in a wide range of forms suitable for direct integration into Mathematica computations.
  FiniteGroupData — properties of named finite groups
GraphData — properties of named and enumerated graphs
KnotData — properties of enumerated knots
LatticeData — properties of named lattices
PolyhedronData — geometry and properties of polyhedra
FindSequenceFunction — find functional forms for integer sequences
ExampleData — example and test-case data
Import, Export — import, export mathematical data
"Graph6" - "Sparse6" - "HarwellBoeing" - "MTX" - ...
Integrate, DSolve, FullSimplify, ... — immediately use mathematical data


New in 7.0: Mathematics & Algorithms
Mathematica 7 represents another major achievement in Mathematica's long history of innovation in mathematics and algorithms. Building on the broad capabilities of Mathematica, as well as several recent R&D breakthroughs at Wolfram Research, Mathematica 7 for the first time makes possible systematic computation in a sequence of longstanding mathematical and algorithmic areas.
  Discrete Calculus »
Sum, Product (modified) — indefinite sums and products and major new algorithms
DifferenceDelta (F4/A4) - DiscreteShift (F4/A4) - DiscreteRatio (F4/A4)
GeneratingFunction - DifferenceRoot - SumConvergence - Casoratian - ...

New Integer Sequence Functions »
FindSequenceFunction — find functional forms for integer sequences
FindGeneratingFunction — find generating functions
RSolve (modified) — solve a system of recurrence equations
RecurrenceTable - LinearRecurrence - FindLinearRecurrence
GeneratingFunction - DiscreteConvolve - DirichletConvolve - ...

New Number Theory Functions »
PrimeOmega, PrimeNu
— number of distinct prime factors
MangoldtLambda - LiouvilleLambda - DirichletCharacter
PrimeZetaP - RiemannR - DirichletL - DivisorSum - ...

New Combinatorial Functions »
FactorialPower - Hyperfactorial - ...
FiniteGroupCount, FiniteAbelianGroupCount — numbers of groups of given order
Boolean Computation »
BooleanFunction — general Boolean functions
BooleanCountingFunction — symmetric Boolean functions
BooleanMinterms - BooleanMaxterms - BooleanTable - ...
Equivalent (=) - Xnor (F4/A2) EmptyVerySmallSquare Majority
BooleanConvert — convert between Boolean formats (CNF, DNF, ESOP, NOR, BFF, ...)
BooleanMinimize — find a minimal Boolean form
SatisfiableQ — test a Boolean expression for satisfiability
Conjunction - Disjunction - SatisfiabilityCount - TautologyQ
New Special Functions »
AngerJ - WeberE - DawsonF - BarnesG - LogBarnesG
HurwitzZeta - HurwitzLerchPhi - Haversine - InverseHaversine

New Q-Functions »
QBinomial - QFactorial - QGamma - QHypergeometricPFQ - QPochhammer - QPolyGamma - ...

New Utility Functions
SquareWave - TriangleWave - SawtoothWave - FindDivisions
DiracComb - HeavisidePi - Log10 - Log2
New in Optimization »
MinValue, MaxValue
— minimum, maximum values
NMinValue - NMaxValue - FindMinValue - FindMaxValue
ArgMin, ArgMax — position of minimum, maximum
NArgMin - NArgMax - FindArgMin - FindArgMax

New in Fourier Analysis »
FourierSeries — truncated complex Fourier series to any order
FourierSinSeries ? FourierCosSeries ? FourierTrigSeries
FourierCoefficient — nth coefficient in a Fourier series
FourierSequenceTransform - InverseFourierSequenceTransform


New in Polynomials & Algebra »
CoefficientRules - FromCoefficientRules - MonomialList - ...
Root (modified) - RootApproximant (modified) - SeriesCoefficient (modified) - ...

New Operations on Lists and Matrices »
UpperTriangularize, LowerTriangularize — extract parts of a matrix
SymmetricMatrixQ — test whether given matrix is symmetric
DiskMatrix - CrossMatrix - DiamondMatrix - BoxMatrix - ...

New in Differential Equations »
NDSolve (modified)
— new support for delay differential equations
DifferentialRoot — symbolic representation of solutions to linear differential equations
Wronskian — test linear independence of functions or ODE solutions
FunctionExpand (modified) - DifferentialRootReduce - ...

Convolutions
Convolve - DiscreteConvolve - DirichletConvolve
New in Statistical Model Analysis »
LinearModelFit — construct a linear regression model from data
NonlinearModelFit — construct a nonlinear regression model
GeneralizedLinearModelFit - LogitModelFit - ProbitModelFit - FittedModel