.. _citing:

Citing CVXPY
============

If you use CVXPY for published work, we encourage you to cite the accompanying
`JMLR MLOSS paper <https://web.stanford.edu/~boyd/papers/pdf/cvxpy_paper.pdf>`_
and the `JCD paper <https://web.stanford.edu/~boyd/papers/pdf/cvxpy_rewriting.pdf>`_.
Please use the following BibTeX entries:

::

    @article{diamond2016cvxpy,
      author  = {Steven Diamond and Stephen Boyd},
      title   = {{CVXPY}: {A} {P}ython-embedded modeling language for convex optimization},
      journal = {Journal of Machine Learning Research},
      year    = {2016},
      volume  = {17},
      number  = {83},
      pages   = {1--5},
    }

::

    @article{agrawal2018rewriting,
      author  = {Agrawal, Akshay and Verschueren, Robin and Diamond, Steven and Boyd, Stephen},
      title   = {A rewriting system for convex optimization problems},
      journal = {Journal of Control and Decision},
      year    = {2018},
      volume  = {5},
      number  = {1},
      pages   = {42--60},
    }

Many of CVXPY's features were initially developed as research projects. These
features and their BibTex entries are listed below.

`Disciplined geometric programming <https://web.stanford.edu/~boyd/papers/dgp.html>`_

::

    @article{agrawal2019dgp,
      author  = {Agrawal, Akshay and Diamond, Steven and Boyd, Stephen},
      title   = {Disciplined geometric programming},
      journal = {Optimization Letters},
      publisher = {Springer Berlin Heidelberg},
      year    = {2019},
      volume = {13},
      number = {5},
      pages = {961--976},
    }


`Disciplined quasiconvex programming <https://web.stanford.edu/~boyd/papers/dqcp.html>`_

::

    @article{agrawal2020dqcp,
        author       = {Agrawal, Akshay and Boyd, Stephen},
        title        = {Disciplined quasiconvex programming},
        journal      = {Optimization Letters},
        publisher = {Springer Berlin Heidelberg},
        year    = {2020},
        note = {To appear}
    }

`Differentiating through convex optimization problems <https://web.stanford.edu/~boyd/papers/diff_cvxpy.html>`_

::

    @inproceedings{agrawal2019differentiable,
      title={Differentiable convex optimization layers},
      author={Agrawal, Akshay and Amos, Brandon and Barratt, Shane and Boyd, Stephen and Diamond, Steven and Kolter, J. Zico},
      booktitle={Advances in Neural Information Processing Systems},
      pages={9558--9570},
      year={2019},
    }

`Differentiating through log-log convex programs <https://web.stanford.edu/~boyd/papers/diff_dgp.html>`_

::

    @article{agrawal2020differentiating,
      title={Differentiating through log-log convex programs},
      author={Agrawal, Akshay and Boyd, Stephen},
      journal={arXiv},
      archivePrefix={arXiv},
      eprint={2004.12553},
      primaryClass={math.OC},
      year={2020},
    }
