Python implementation of Sum-of-Squares optimization built on picos
Project description
SumOfSquares.py
Documentation | Build Status |
---|---|
Sum of squares optimization built on top of picos. Easy access to pseudoexpectation operators for both formulating problems and extracting solutions via rounding algorithms.
Installation
To install from pypi:
pip install SumOfSquares
Examples
To compute the sum of squares decomposition of a polynomial:
>>> import sympy as sp
>>> x, y = sp.symbols('x y')
>>> p = 2*x**4 + 2*x**3*y - x**2*y**2 + 5*y**4
>>> prob = SOSProblem()
>>> c = prob.add_sos_constraint(p, [x, y])
>>> prob.solve()
>>> c.get_sos_decomp()
Matrix([
[5.0*(-0.306*x**2 + y**2)**2],
[2.057*(0.486*x**2 + x*y)**2],
[ 1.047*x**4]])
Citation
If you use this library in your work, please consider citing:
@software{Yuan_SumOfSquares_py,
author = {Yuan, Chenyang},
license = {MIT},
title = {{SumOfSquares.py}},
url = {https://github.com/yuanchenyang/SumOfSquares.py}
}
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
sumofsquares-1.3.0.tar.gz
(13.3 kB
view hashes)
Built Distribution
Close
Hashes for SumOfSquares-1.3.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9656e5eed2991e462e92f75dbc24c4879c7152ac46d94f8f0b00cf97e58bed48 |
|
MD5 | 7566253a7e1a922df74cec522118024c |
|
BLAKE2b-256 | 06fdabc95b7355a1c1dadfda3be43599568df5be6ff6f8b4d7aab22507ae936d |