Squashed 'third_party/osqp/' content from commit 33454b3e23
Change-Id: I056df0582ca06664e86554c341a94c47ab932001
git-subtree-dir: third_party/osqp
git-subtree-split: 33454b3e236f1f44193bfbbb6b8c8e71f8f04e9a
Signed-off-by: Austin Schuh <austin.linux@gmail.com>
diff --git a/docs/citing/index.rst b/docs/citing/index.rst
new file mode 100644
index 0000000..d114e6e
--- /dev/null
+++ b/docs/citing/index.rst
@@ -0,0 +1,87 @@
+.. _citing :
+
+Citing OSQP
+===========
+
+If you use OSQP for published work, we encourage you to put a star on `GitHub <https://github.com/osqp/osqp>`_ and cite the accompanying papers:
+
+
+.. glossary::
+
+ Main paper
+ Main algorithm description, derivation and benchmark available in this `paper <https://web.stanford.edu/~boyd/papers/pdf/osqp.pdf>`__.
+
+ .. code:: latex
+
+ @article{osqp,
+ author = {Stellato, B. and Banjac, G. and Goulart, P. and Bemporad, A. and Boyd, S.},
+ title = {{OSQP}: an operator splitting solver for quadratic programs},
+ journal = {Mathematical Programming Computation},
+ volume = {12},
+ number = {4},
+ pages = {637--672},
+ year = {2020},
+ doi = {10.1007/s12532-020-00179-2},
+ url = {https://doi.org/10.1007/s12532-020-00179-2},
+ }
+
+ Infeasibility detection
+ Infeasibility detection proofs using ADMM (also for general conic programs) in this `paper <https://stanford.edu/~boyd/papers/pdf/admm_infeas.pdf>`__.
+
+ .. code:: latex
+
+ @article{osqp-infeasibility,
+ author = {Banjac, G. and Goulart, P. and Stellato, B. and Boyd, S.},
+ title = {Infeasibility detection in the alternating direction method of multipliers for convex optimization},
+ journal = {Journal of Optimization Theory and Applications},
+ year = {2019},
+ volume = {183},
+ number = {2},
+ pages = {490--519},
+ doi = {10.1007/s10957-019-01575-y},
+ url = {https://doi.org/10.1007/s10957-019-01575-y},
+ }
+
+ GPU implementation
+ GPU implementation and PCG method for solving linear systems in this `paper <https://doi.org/10.1016/j.jpdc.2020.05.021>`__.
+
+ .. code:: latex
+
+ @article{osqp-gpu,
+ author = {Schubiger, M. and Banjac, G. and Lygeros, J.},
+ title = {{GPU} acceleration of {ADMM} for large-scale quadratic programming},
+ journal = {Journal of Parallel and Distributed Computing},
+ year = {2020},
+ volume = {144},
+ pages = {55--67},
+ doi = {10.1016/j.jpdc.2020.05.021},
+ url = {https://doi.org/10.1016/j.jpdc.2020.05.021},
+ }
+
+ Code generation
+ Code generation functionality and example in this `paper <https://stanford.edu/~boyd/papers/pdf/osqp_embedded.pdf>`__.
+
+ .. code:: latex
+
+ @inproceedings{osqp-codegen,
+ author = {Banjac, G. and Stellato, B. and Moehle, N. and Goulart, P. and Bemporad, A. and Boyd, S.},
+ title = {Embedded code generation using the {OSQP} solver},
+ booktitle = {IEEE Conference on Decision and Control (CDC)},
+ year = {2017},
+ doi = {10.1109/CDC.2017.8263928},
+ url = {https://doi.org/10.1109/CDC.2017.8263928},
+ }
+
+ Mixed-integer optimization
+ A branch-and-bound solver for mixed-integer quadratic optimization in this `paper <https://stellato.io/downloads/publications/2018/miosqp_ecc.pdf>`__.
+
+ .. code:: latex
+
+ @inproceedings{miosqp,
+ author = {Stellato, B. and Naik, V. V. and Bemporad, A. and Goulart, P. and Boyd, S.},
+ title = {Embedded mixed-integer quadratic optimization using the {OSQP} solver},
+ booktitle = {European Control Conference (ECC)},
+ year = {2018},
+ doi = {10.23919/ECC.2018.8550136},
+ url = {https://doi.org/10.23919/ECC.2018.8550136},
+ }