### Analysis of Functions

Igor includes several operations that work on functions rather than discrete data points. These operations include

#### Plotting of functions

Making a graph of a function in Igor is easy. For simple expressions, use arithmetic expressions entered on the command line. Igor's programming language allows arbitrarily complex non-linear functions expressed as user-defined functions that can be used to make a graph.

#### Differential Equations

Numerically solve ordinary differential equations, making possible simulations of dynamic systems.

#### Optimization

Use the Optimize operation to find minima and maxima of functions expressed using Igor's built-in language. Optimize functions of any number of dimensions, using a choice of methods including simulated annealing.

#### Function Roots

Use the FindRoots operation to find roots of functions expressed using Igor's built-in language. You can use Igor to find N-dimensional roots of systems of equations.

The FindRoots operation can also be used to find complex roots of polynomials.

#### Integration of Functions

Find numeric integrals of continuous functions using a choice of methods. By nesting integrations, you can integrate an N-dimensional function.