# SciPy User Guide

SciPy is a collection of mathematical algorithms and convenience functions built on NumPy . It adds significant power to Python by providing the user with high-level commands and classes for manipulating and visualizing data.

## Subpackages

SciPy is organized into subpackages covering different scientific computing domains. These are summarized in the following table:

Subpackage | Description
--- | ---
`cluster` | Clustering algorithms
`constants` | Physical and mathematical constants
`fftpack` | Fast Fourier Transform routines
`integrate` | Integration and ordinary differential equation solvers
`interpolate` | Interpolation and smoothing splines
`io` | Input and Output
`linalg` | Linear algebra
`ndimage` | N-dimensional image processing
`odr` | Orthogonal distance regression
`optimize` | Optimization and root-finding routines
`signal` | Signal processing
`sparse` | Sparse matrices and associated routines
`spatial` | Spatial data structures and algorithms
`special` | Special functions
`stats` | Statistical distributions and functions

SciPy subpackages need to be imported separately, for example:

    >>> from scipy import linalg, optimize

Below, you can find the complete user guide organized by subpackages.

User guide

- Special functions (`scipy.special`)
- Integration (`scipy.integrate`)
- Optimization (`scipy.optimize`)
- Interpolation (`scipy.interpolate`)
- Fourier Transforms (`scipy.fft`)
- Signal Processing (`scipy.signal`)
- Linear Algebra (`scipy.linalg`)
- Sparse Arrays (`scipy.sparse`)
- Sparse eigenvalue problems with ARPACK
- Compressed Sparse Graph Routines (`scipy.sparse.csgraph`)
- Spatial data structures and algorithms (`scipy.spatial`)
- Statistics (`scipy.stats`)
- Multidimensional image processing (`scipy.ndimage`)
- File IO (`scipy.io`)

## Executable tutorials

Below you can also find tutorials in MyST Markdown format. These can be opened as Jupyter Notebooks with the help of the Jupytext extension.

Executable tutorials

- Interpolate transition guide