SciPy
by SciPy developers (NumFOCUS) · Library
Core open-source Python library for scientific computing on NumPy arrays: optimization, integration, interpolation, linear algebra, sparse matrices, statistics, signal processing
Overview
SciPy is the foundational scientific-computing library of the Python ecosystem, built on NumPy arrays and released under the BSD 3-Clause license. Its subpackages cover optimization and root finding (scipy.optimize), numerical integration and ODE solvers (integrate), interpolation, dense and sparse linear algebra (linalg, sparse), statistics with distributions and hypothesis tests (stats), signal and image processing (signal, ndimage), fast Fourier transforms (fft), spatial algorithms and distances (spatial) and special functions (special). Much of the heavy lifting is implemented in C, C++, Fortran and Cython.
In econometrics and finance SciPy is rarely the user-facing layer; it sits underneath statsmodels, scikit-learn, arch and linearmodels and is called directly for optimizers, distributions and sparse solvers. The library is maintained by a volunteer community under NumFOCUS fiscal sponsorship with regular releases (1.18.0 at the time of writing) and runs wherever Python does, including Apple silicon. It targets single-machine, in-memory computation; GPU execution and distributed arrays require other projects.
Capabilities
- Optimization, root finding and curve fitting
- Numerical integration and ODE/BVP solvers
- Dense and sparse linear algebra
- Probability distributions and statistical tests
- Signal processing, filtering and FFT
- Interpolation and spatial algorithms
- Special functions
Typical workflows
- Maximum-likelihood estimation with scipy.optimize
- Numerical integration in structural models
- Sparse linear systems for large fixed-effects problems
Strengths
- BSD-licensed and ubiquitous
- Stable, well-documented API
- Underpins the scientific Python stack
Limitations
- CPU and single-node only
- Lower-level than statsmodels for regression work
- Some legacy APIs coexist with newer ones
Prerequisites
- Python and NumPy
Who it is for
- Scientists and engineers using Python
- Quantitative researchers building custom estimators
Alternatives & comparison
NumPy provides the array type SciPy builds on; statsmodels adds regression and time-series models on top of SciPy. MATLAB and Julia offer comparable numerical toolkits in other languages; SymPy handles symbolic rather than numeric mathematics.
- Julia
Dynamically typed, JIT-compiled language for numerical and scientific computing that aims to combine high-level syntax with compiled-code speed
Open sourceOpen source - MATLAB
MathWorks' commercial numeric computing environment and language for engineers and scientists, with toolboxes, Simulink integration, apps and MATLAB Online
ProprietaryPaid - NumPy
Foundational Python library for n-dimensional arrays, vectorized math, linear algebra, random numbers and the array API used by the scientific stack
Open sourceOpen source - PyPortfolioOpt
Python library for portfolio optimization: efficient frontier, Black-Litterman, hierarchical risk parity and discrete allocation
Open sourceOpen source - QuantLib
Open-source C++ library for quantitative finance covering instruments, term structures, pricing engines and calendars, with Python and other bindings
Open sourceOpen source - statsmodels
Python library for estimating statistical and econometric models with R-style formulas, rich result summaries and tests: OLS, GLM, discrete choice, ARIMA, state space, VAR and more
Open sourceFree - SymPy
Pure-Python computer algebra system for symbolic algebra, calculus, equation solving, matrices, physics modules, code generation and LaTeX output
Open sourceFree
Sources & verification
Primary sources consulted for this record. Claims are tied to the fields each source supports; the automated link checker re-verifies every URL on a schedule.
- Licensescipy/scipy LICENSE.txtchecked Nov 1, 2026
https://github.com/scipy/scipy/blob/main/LICENSE.txt
Supports: license_spdx, source_model
- Official documentationSciPy documentationchecked Nov 1, 2026
https://docs.scipy.org/doc/scipy
Supports: capabilities, description
Shows version 1.18.0
- Official sitechecked Nov 1, 2026
- Confidence
- High
- Reviewed
- Nov 1, 2026
- Links
- Verified · Nov 2, 2026
Spotted an error?
More in Mathematical & statistical computing
pandas
pandas development team (NumFOCUS) · DataFrames & array computing
The standard Python DataFrame library for labeled tabular data, time series and I/O to CSV, Excel, SQL, Parquet and more
Python
Python Software Foundation · Programming languages & runtimes
General-purpose, dynamically typed programming language with a large standard library and the dominant ecosystem for data science and machine learning
QuantLib
QuantLib project (Luigi Ballabio and contributors) · Financial analysis & investing
Open-source C++ library for quantitative finance covering instruments, term structures, pricing engines and calendars, with Python and other bindings
Stata
StataCorp LLC · Mathematical & statistical computing
Commercial statistical software from StataCorp widely used in economics and social science, with editions BE/SE/MP, a command language, Mata and comprehensive PDF manuals
Lean
Lean FRO · Mathematical & statistical computing
Open-source functional programming language and interactive theorem prover with dependent types, the Mathlib mathematics library and VS Code tooling, stewarded by the Lean FRO
Positron
Posit Software, PBC · Mathematical & statistical computing
Posit's multi-language data-science IDE built on Code OSS, with first-class R and Python consoles, variables and plots panes, under the Elastic License 2.0