# osqp

> Numerical optimization package for solving quadratic problems (QP)

**Wikidata**: [Q107384640](https://www.wikidata.org/wiki/Q107384640)  
**Source**: https://4ort.xyz/entity/osqp

## Summary
OSQP is a numerical optimization package designed to solve quadratic programming (QP) problems, leveraging operator splitting methods for efficient computation. It is open-source, cross-platform, and widely used in mathematical optimization tasks.

## Key Facts
- **Primary use**: Solving quadratic programming problems in mathematical optimization.
- **Aliases**: Operator Splitting Quadratic Program.
- **License**: Apache Software License 2.0 (as of 2023-03-20).
- **Latest version**: 0.5.0 (released on 2018-12-10).
- **Operating systems**: Linux, Microsoft Windows, macOS.
- **Developer**: Bartolomeo Stellato.
- **Dependencies**: NumPy, SciPy, qdldl.
- **Website**: [osqp.org](https://osqp.org/).
- **Source code**: Hosted on [GitHub](https://github.com/osqp/osqp).
- **Package managers**: Available via PyPI, macPorts, and Arch Linux repositories.

## FAQs
### Q: What is OSQP used for?
A: OSQP is used for solving quadratic programming problems, which are common in mathematical optimization, control systems, and machine learning applications.

### Q: Is OSQP free to use?
A: Yes, OSQP is open-source and licensed under the Apache Software License 2.0, making it free for both personal and commercial use.

### Q: What operating systems does OSQP support?
A: OSQP supports Linux, Microsoft Windows, and macOS, ensuring broad compatibility across different platforms.

### Q: How do I install OSQP?
A: OSQP can be installed via PyPI (`pip install osqp`), macPorts (`port install R-osqp`), or Arch Linux (`pacman -S python-osqp`).

### Q: What are the key dependencies for OSQP?
A: OSQP relies on NumPy, SciPy, and qdldl for its functionality, which must be installed separately.

## Why It Matters
OSQP plays a crucial role in numerical optimization by providing an efficient solver for quadratic programming problems. Its operator splitting approach ensures fast and reliable solutions, making it valuable in fields like control systems, robotics, and machine learning. By being open-source and cross-platform, OSQP democratizes access to advanced optimization techniques, enabling researchers and developers to tackle complex mathematical problems with ease. Its active development and community support further enhance its relevance in the optimization landscape.

## Notable For
- **Efficiency**: Uses operator splitting methods to solve QP problems quickly and accurately.
- **Cross-platform**: Available on Linux, Windows, and macOS, ensuring broad usability.
- **Open-source**: Licensed under Apache 2.0, promoting transparency and community contribution.
- **Integration**: Compatible with popular scientific computing libraries like NumPy and SciPy.
- **Active development**: Regular updates and releases (latest version 0.5.0 as of 2018-12-10).

## Body
### Overview
OSQP is a numerical optimization package designed to solve quadratic programming problems efficiently. It employs operator splitting methods, which decompose the problem into simpler subproblems, leading to faster and more reliable solutions compared to traditional approaches.

### Development and Release
- **Developer**: Bartolomeo Stellato.
- **Initial release**: Version 0.1.1 on 2017-04-11.
- **Latest version**: 0.5.0, released on 2018-12-10.
- **License**: Apache Software License 2.0.

### Technical Details
- **Dependencies**: NumPy, SciPy, and qdldl for linear algebra operations.
- **Operating systems**: Linux, Microsoft Windows, and macOS.
- **Installation**: Available via PyPI (`pip install osqp`), macPorts (`port install R-osqp`), and Arch Linux (`pacman -S python-osqp`).

### Applications
OSQP is used in various fields, including:
- **Control systems**: For optimizing control inputs in dynamic systems.
- **Robotics**: For trajectory planning and motion control.
- **Machine learning**: For solving convex optimization problems in training models.

### Community and Support
- **Source code**: Hosted on GitHub ([osqp/osqp](https://github.com/osqp/osqp)).
- **Website**: [osqp.org](https://osqp.org/) for documentation and resources.
- **Package managers**: Supported by PyPI, macPorts, and Arch Linux repositories.

## References

1. [Source](https://api.github.com/repos/osqp/osqp)
2. [Release 0.1.1. 2017](https://github.com/osqp/osqp/releases/tag/v0.1.1)
3. [Release 0.1.2. 2017](https://github.com/osqp/osqp/releases/tag/v0.1.2)
4. [Release 0.1.3. 2017](https://github.com/osqp/osqp/releases/tag/v0.1.3)
5. [Release 0.2.0. 2017](https://github.com/osqp/osqp/releases/tag/v0.2.0)
6. [Release 0.2.1. 2017](https://github.com/osqp/osqp/releases/tag/v0.2.1)
7. [Release 0.3.0. 2018](https://github.com/osqp/osqp/releases/tag/v0.3.0)
8. [Release 0.3.1. 2018](https://github.com/osqp/osqp/releases/tag/v0.3.1)
9. [Release 0.4.0. 2018](https://github.com/osqp/osqp/releases/tag/v0.4.0)
10. [Release 0.4.1. 2018](https://github.com/osqp/osqp/releases/tag/v0.4.1)
11. [Release 0.5.0. 2018](https://github.com/osqp/osqp/releases/tag/v0.5.0)
12. [Release 0.6.0. 2019](https://github.com/osqp/osqp/releases/tag/v0.6.0)
13. [Release 0.6.2. 2021](https://github.com/osqp/osqp/releases/tag/v0.6.2)
14. [Release 0.6.3. 2023](https://github.com/osqp/osqp/releases/tag/v0.6.3)
15. [Release 1.0.0. 2025](https://github.com/osqp/osqp/releases/tag/v1.0.0)