...
 
Commits (34)
......@@ -74,4 +74,19 @@ v 1.0.1, 27.08.14:
* Improved implementation of the retrieval of optimal primal variables with CPLEX.
With the previous versions there was an important overhead at the end of the
solving process to get the optimal values, this is now working much faster.
* Nicer documentation.
\ No newline at end of file
* Nicer documentation.
v 1.0.2, 30.01.15:
Major release with following new functionalities:
* Support (read and write) for ``.cbf`` problem files (`conic benchmark format <http://cblib.zib.de/>`_ ), which should be the standard for (mixed integer) conic optimization problems, cf. :func:`write_to_file <picos.Problem.write_to_file>` and :func:`import_cbf <picos.tools.import_cbf>` .
* Improved support for complex SDP (more efficient implementation of :func:`to_real() <picos.Problem.to_real>` , corrected bug in the implementation of the scalar product for Hermitian matrices and the conjugate of a complex expression, support for equality constraints involving complex coefficients)
* Support for inequalities involving the sum of k largest elements of an affine expression, or the k largest eigenvalues of a symmetric matrix expression, cf. the functions :func:`sum_k_largest() <picos.tools.sum_k_largest>` , :func:`sum_k_smallest() <picos.tools.sum_k_smallest>` , :func:`sum_k_largest_lambda() <picos.tools.sum_k_largest_lambda>`, :func:`sum_k_smallest_lambda() <picos.tools.sum_k_smallest_lambda>`, :func:`lambda_max() <picos.tools.lambda_max>` and :func:`lambda_min() <picos.tools.lambda_min>` .
* Support for inequalities involving the :math:`L_{p,q}-` norm of an affine expresison, cf. :func:`norm() <picos.tools.norm>` .
* New ``vtype`` for antisymmetric matrix variables ( :attr:`vtype <picos.Variable.vtype>` ``= antisym``).
* Constraints can be specified as membership in a :class:`Set <picos.Set>` . Sets can be created by the functions :func:`ball() <picos.tools.ball>` , :func:`simplex() <picos.tools.simplex>`, and :func:`truncated_simplex() <picos.tools.truncated_simplex>` .
* New functions :func:`maximize <picos.Problem.maximize>` and :func:`maximize <picos.Problem.minimize>` to specify the objective function of a problem and solve it.
And many thanks to `Petter Wittek <http://peterwittek.com/>`_ for the following improvements, who were motivated by the use of PICOS in the package `ncpol2sdpa <http://peterwittek.github.io/ncpol2sdpa/>`_ for optimization over noncommutative polynomials:
* More efficient implementation of the writer to the sparse - SDPA file format (:func:`write_to_file <picos.Problem.write_to_file>`)
* Hadamard (elementwise) product of affine expression is implemented, as an overload of the ``^`` operator, cf. an example :ref:`here <overloads>` .
* Partial transposition of an Affine Expression, cf. :func:`partial_transpose() <picos.tools.partial_transpose>` or the :attr:`Tx <picos.AffinExp.Tx>` attribute.
\ No newline at end of file
# file GENERATED by distutils, do NOT edit
CHANGES.txt
LICENSE.txt
README.txt
monomials.txt
setup.py
doc/api.rst
doc/changes.rst
doc/complex.rst
doc/constraint.rst
doc/download.rst
doc/examples.rst
doc/expression.rst
doc/graphs.rst
doc/index.rst
doc/intro.rst
doc/optdes.rst
doc/problem.rst
doc/summary.rst
doc/tools.rst
doc/tuto.rst
doc/tuto_summary.rst
doc/_static/picos_big_trans.gif
doc/_static/css/theme.css
doc/_templates/download.html
doc/_templates/localtoc2.html
picos/__init__.py
picos/constraint.py
picos/cplex_callbacks.py
......
include *.txt
recursive-include doc *.rst
recursive-include doc/_templates *.html
recursive-include doc/_static *
......@@ -3,11 +3,13 @@ lancer python ../../add_warning_notlast.py from directory /doc/full_html/x.x.x (
lancer script add_google_script directly from /doc
Changer CHANGE file
Creer dist file (python setup.py sdist) -> check that the doc is in the dist file ???
make html (to copy dist)
rsync to /www:
rsync -luzvr full_html/* opts1.zib.de:/www/Abt-Optimization/picos
[OBSOLETE: move to /www, and change root-index with 3 <meta tags> and $sed -i 's/href="/href="v013\//g' index.html]
rsync to /www
Register on pypi (python setup.py register, username guillaume.sagnol)
sed -i 's/Picos 0\.1\.0/Picos 0\.1\.1/g' picos/*.py
et change version num dans conf.py and setup.py and __init__.py
make new directory in the full_html directory and update the symolic link "last"
\ No newline at end of file
make new directory in the full_html directory and update the symolic link "last" with the ".." trick
\ No newline at end of file
This diff is collapsed.
newlines =['<body>',
'<div class="admonition warning">',
'<p class="first admonition-title">Warning</p>',
'<p class="last">You are consulting the doc of a former version of PICOS.',
'The latest version is <a href="../index.html">HERE</a>. </p>',
'</div>'
]
#newlines =['<body>',
#'<div class="admonition warning">',
#'<p class="first admonition-title">Warning</p>',
#'<p class="last">You are consulting the doc of a former version of PICOS.',
#'The latest version is <a href="../index.html">HERE</a>. </p>',
#'</div>'
#]
newlines = [
'<div role="main" class="document">',
'<div class="admonition warning" id="api">',
'<p class="first admonition-title">Warning</p>',
'<p class="last">You are consulting the doc of a former version of PICOS. The',
' latest version is <a href="../index.html">HERE</a>. </p>',
'</div>']
import os
files = os.popen('ls *.html').readlines()
files = [f[:-1] for f in files if f[:6] not in ('search','py-mod','genind')]
for f in files:
print f
fi=open(f,'r')
fitmp=open(f+'tmp','w')
line = fi.readline()
while '<body>' not in line:
#while '<body>' not in line:
while '<div role="main" class="document">' not in line:
fitmp.write(line)
line = fi.readline()
......
......@@ -8,9 +8,28 @@
Change History
==============
* 30 Jan. 15: **Picos** :ref:`1.0.2 <download>` **Released** |br|
Major release with following new functionalities:
* Support (read and write) for ``.cbf`` problem files (`conic benchmark format <http://cblib.zib.de/>`_ ), which should be the standard for (mixed integer) conic optimization problems, cf. :func:`write_to_file <picos.Problem.write_to_file>` and :func:`import_cbf <picos.tools.import_cbf>` .
* Improved support for complex SDP (more efficient implementation of :func:`to_real() <picos.Problem.to_real>` , corrected bug in the implementation of the scalar product for Hermitian matrices and the conjugate of a complex expression, support for equality constraints involving complex coefficients)
* Support for inequalities involving the sum of k largest elements of an affine expression, or the k largest eigenvalues of a symmetric matrix expression, cf. the functions :func:`sum_k_largest() <picos.tools.sum_k_largest>` , :func:`sum_k_smallest() <picos.tools.sum_k_smallest>` , :func:`sum_k_largest_lambda() <picos.tools.sum_k_largest_lambda>`, :func:`sum_k_smallest_lambda() <picos.tools.sum_k_smallest_lambda>`, :func:`lambda_max() <picos.tools.lambda_max>` and :func:`lambda_min() <picos.tools.lambda_min>` .
* Support for inequalities involving the :math:`L_{p,q}-` norm of an affine expresison, cf. :func:`norm() <picos.tools.norm>` .
* New ``vtype`` for antisymmetric matrix variables ( :attr:`vtype <picos.Variable.vtype>` ``= antisym``).
* Constraints can be specified as membership in a :class:`Set <picos.Set>` . Sets can be created by the functions :func:`ball() <picos.tools.ball>` , :func:`simplex() <picos.tools.simplex>`, and :func:`truncated_simplex() <picos.tools.truncated_simplex>` .
* New functions :func:`maximize <picos.Problem.maximize>` and :func:`maximize <picos.Problem.minimize>` to specify the objective function of a problem and solve it.
And many thanks to `Petter Wittek <http://peterwittek.com/>`_ for the following improvements, who were motivated by the use of PICOS in the package `ncpol2sdpa <http://peterwittek.github.io/ncpol2sdpa/>`_ for optimization over noncommutative polynomials:
* More efficient implementation of the writer to the sparse - SDPA file format (:func:`write_to_file <picos.Problem.write_to_file>`)
* Hadamard (elementwise) product of affine expression is implemented, as an overload of the ``^`` operator, cf. an example :ref:`here <overloads>` .
* Partial transposition of an Affine Expression, cf. :func:`partial_transpose() <picos.tools.partial_transpose>` or the :attr:`Tx <picos.AffinExp.Tx>` attribute.
* 27 Aug. 14: **Picos** :ref:`1.0.1 <download>` **Released** |br|
Release fixing the missing functionnalities of the previous *.dev* version:
Release fixing the missing functionalities of the previous *.dev* version:
* Improved support for complex SDP (access to dual information and correction of a few bugs, in particular sum of complex affine expression now work correctly)
* Flow constraints in graphs, including multicommodity flows, cf. :ref:`this section <flowcons>`.
* Additional ``coef`` argument in the function :func:`picos.tracepow() <picos.tools.tracepow>`, in order to represent constraints of the form :math:`\operatorname{trace}(M X^p) \geq t`.
......
:tocdepth: 2
.. _complex:
********************************
Complex Semidefinite Programming
********************************
************************************
**Complex Semidefinite Programming**
************************************
Since the version 1.0.1, it is possible to
do complex semidefinite programming with Picos.
......@@ -47,8 +49,8 @@ anf ``H`` (Hermitian transposition, i.e. ``exp.H`` returns ``exp.conj.T`` ).
Fidelity in Quantum Information Theory
======================================
*Fidelity in Quantum Information Theory*
========================================
The material of this section is inspired from a lecture of John Watrous :ref:`[4] <complex_refs>`.
......@@ -78,7 +80,6 @@ This quantity can be expressed as the optimal value of the following complex-val
\end{eqnarray*}
\end{center}
This Problem can be solved as follows in PICOS
.. testcode::
......@@ -154,8 +155,8 @@ This Problem can be solved as follows in PICOS
fidelity computed by trace-norm: F(P,Q) = 37.4742
Phase Recovery in Signal Processing
===================================
*Phase Recovery in Signal Processing*
=====================================
The material from this section is inspired from :ref:`[3] <complex_refs>`.
......@@ -252,8 +253,8 @@ This problem can be implemented as follows using Picos:
.. _complex_refs:
References
==========
*References*
============
1. "Approximation algorithms for MAX-3-CUT and other problems via complex semidefinite programming",
M.X. Goemans and D. Williamson. In Proceedings of the thirty-third annual
......
......@@ -72,7 +72,7 @@ copyright = u'2012, Guillaume Sagnol'
# The short X.Y version.
version = '1.0'
# The full version, including alpha/beta/rc tags.
release = '1.0.1'
release = '1.0.2'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
......
:tocdepth: 1
.. _constraint:
==========
Constraint
==========
==============
**Constraint**
==============
.. autoclass:: picos.Constraint
:members:
......@@ -14,6 +16,10 @@ Constraint
.. autoclass:: picos.NormP_Constraint
:members:
:inherited-members: slack
.. autoclass:: picos.NormPQ_Constraint
:members:
:inherited-members: slack
.. autoclass:: picos.TracePow_Constraint
:members:
......@@ -25,3 +31,7 @@ Constraint
.. autoclass:: picos.DetRootN_Constraint
:members:
:inherited-members: slack
.. autoclass:: picos.Sumklargest_Constraint
:members:
:inherited-members: slack
\ No newline at end of file
......@@ -6,7 +6,7 @@ Download
The latest version of PICOS can be downloaded here:
`picos-1.0.1 <dist/PICOS-1.0.1.tar.gz>`_
`picos-1.0.2 <dist/PICOS-1.0.2.tar.gz>`_
Installation instructions are explained
:ref:`here <requirements>`.
......@@ -15,6 +15,8 @@ Installation instructions are explained
**Older versions**
`picos-1.0.1 <dist/PICOS-1.0.1.tar.gz>`_
`picos-1.0.1.dev <dist/PICOS-1.0.1.dev.tar.gz>`_
`picos-1.0.0 <dist/PICOS-1.0.0.tar.gz>`_
......
:tocdepth: 2
.. _examples:
********
......@@ -7,7 +9,7 @@ Examples
.. toctree::
:maxdepth: 3
optdes.rst
graphs.rst
complex.rst
optdes.rst
:tocdepth: 2
.. _expression:
==========
Expression
==========
==============
**Expression**
==============
.. autoclass:: picos.Expression
AffinExp
========
*AffinExp*
==========
.. autoclass:: picos.AffinExp
:members:
Variable
""""""""
*Variable*
==========
.. _variable:
.. autoclass:: picos.Variable
:members:
Norm
====
*Norm*
======
.. autoclass:: picos.Norm
:members:
QuadExp
=======
*QuadExp*
=========
.. autoclass:: picos.QuadExp
:members:
LogSumExp
=========
*LogSumExp*
===========
.. autoclass:: picos.LogSumExp
:members:
GeoMeanExp
==========
*GeoMeanExp*
============
.. autoclass:: picos.GeoMeanExp
:members:
NormP_Exp
=========
*NormP_Exp*
===========
.. autoclass:: picos.NormP_Exp
:members:
TracePow_Exp
============
*TracePow_Exp*
==============
.. autoclass:: picos.TracePow_Exp
:members:
DetRootN_Exp
============
*DetRootN_Exp*
==============
.. autoclass:: picos.DetRootN_Exp
:members:
\ No newline at end of file
:members:
*Set*
=====
.. autoclass:: picos.Set
:members:
*Ball*
======
.. autoclass:: picos.Ball
:members:
*Truncated_Simplex*
===================
.. autoclass:: picos.Truncated_Simplex
:members:
......@@ -13,10 +13,10 @@ Change History
Release fixing the missing functionnalities of the previous *.dev* version:
* Improved support for complex SDP (access to dual information and correction of a few bugs, in particular sum of complex affine expression now work correctly)
* Flow constraints in graphs, including multicommodity flows, cf. :ref:`this section <flowcons>`.
* Improved implementation of :func:`_retrieve_matrix() <picos.tools._retrieve_matrix>`, which
was taking a very long time to process large parameters.
* Additional ``coef`` argument in the function :func:`picos.tracepow() <picos.tools.tracepow>`, in order to represent constraints of the form :math:`\operatorname{trace}(M X^p) \geq t`.
* Improved implementation of :func:`_retrieve_matrix() <picos.tools._retrieve_matrix>`, which was taking a very long time to process large parameters.
* Improved implementation of the retrieval of optimal primal variables with CPLEX. With the previous versions there was an important overhead at the end of the solving process to get the optimal values, this is now working much faster.
* Improved readibility of the documentation.
* Nicer documentation.
* 18 May 14: **Picos** :ref:`1.0.1.dev <download>` **Released** |br|
......
......@@ -143,7 +143,7 @@ we solve below for ``s=16`` and ``t=10``:
---------------------
optimization problem (LP):
61 variables, 139 affine constraints
61 variables, 140 affine constraints
f : dict of 60 variables, (1, 1), continuous
F : (1, 1), continuous
......
......@@ -31,8 +31,9 @@ on every function of PICOS.
Major Release with following changes:
* Support for Semidefinite Programming over the complex domain, see :ref:`here <complex>`.
* Flow constraints in graphs, cf. :ref:`this section <flowcons>`.
* Additional ``coef`` argument in the function :func:`picos.tracepow() <picos.tools.tracepow>`, in order to represent constraints of the form :math:`\operatorname{trace}(M X^p) \geq t`.
* Improved implementation of several functionalities, in particular the slicing of affine expressions (``__getitem__``), the processing of large matrix parameters, and the access to primal optimal variables with CPLEX.
* Improved readibility of the documentation.
* Nicer documentation.
* 18 May 14: **Picos** :ref:`1.0.1.dev <download>` **Released** |br|
Preliminary release of the 1.0.1 (still a few bugs for complex SDPs).
......
......@@ -344,6 +344,8 @@ Author and contributors
their comments, ideas, questions, ... (in no particular order):
* `Dan Stahlke <http://www.stahlke.org/>`_
* `Marco Dalai <http://www.ing.unibs.it/~marco.dalai/>`_
* `Matteo Seminaroti <http://www.cwi.nl/people/2683/>`_
......
......@@ -1263,4 +1263,6 @@ References
4. "`On the semidefinite representations of real functions applied to symmetric
matrices <http://opus4.kobv.de/opus4-zib/frontdoor/index/index/docId/1751>`_", G. Sagnol,
Submitted, ZIB Report 12-50, 2012.
\ No newline at end of file
*Linear Algebra and its Applications*,
439(10), p. *2829-2843*, 2013.
\ No newline at end of file
......@@ -808,11 +808,20 @@ creates the constraint
is used, the base :math:`x` is forced to be nonnegative (resp. the base :math:`X` is
forced to be positive semidefinite) by picos.
When the exponent is :math:`0<p<1`,
it is also possible to represent constraints of the form
:math:`\operatorname{trace}(M X^p) \geq t`
with SDPs, where :math:`M\succeq 0`, see :ref:`[2] <tuto_refs>`.
>>> pic.tracepow(X, 0.6666, coef = A[0].T*A[0]) >= t
# trace of pth power ineq : trace[ A[0].T*A[0] *(X)**2/3]>t#
As for geometric means, inequalities involving real powers are
stored in a temporary object of the class :class:`TracePow_Constraint <picos.TracePow_Constraint>`,
which contains a field ``Ptmp`` , a Problem instance with all the SOC or SDP constraints
used to represent the original inequality.
Inequalities involving generalized p-norm
-----------------------------------------
......@@ -1218,4 +1227,8 @@ References
M.S. Lobo, L. Vandenberghe, S. Boyd and H. Lebret,
*Linear Algebra and its Applications*,
284, p. *193-228*, 1998.
2. "`On the semidefinite representations of real functions applied to symmetric
matrices <http://opus4.kobv.de/opus4-zib/frontdoor/index/index/docId/1751>`_", G. Sagnol,
*Linear Algebra and its Applications*,
439(10), p. *2829-2843*, 2013.
......@@ -35,6 +35,22 @@
<script src="https://cdnjs.cloudflare.com/ajax/libs/modernizr/2.6.2/modernizr.min.js"></script>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-33037163-1']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
</head>
<body class="wy-body-for-nav" role="document">
......@@ -129,8 +145,7 @@
</ul>
<hr/>
</div>
<div role="main" class="document">
<div role="main" class="document"><div class="admonition warning" id="api"><p class="first admonition-title">Warning</p><p class="last">You are consulting the doc of a former version of PICOS. The latest version is <a href="../index.html">HERE</a>. </p></div>
<div class="section" id="the-picos-reference">
<span id="api"></span><h1>The PICOS Reference<a class="headerlink" href="#the-picos-reference" title="Permalink to this headline"></a></h1>
<div class="toctree-wrapper compound">
......
......@@ -34,6 +34,22 @@
<script src="https://cdnjs.cloudflare.com/ajax/libs/modernizr/2.6.2/modernizr.min.js"></script>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-33037163-1']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
</head>
<body class="wy-body-for-nav" role="document">
......@@ -128,8 +144,7 @@
</ul>
<hr/>
</div>
<div role="main" class="document">
<div role="main" class="document"><div class="admonition warning" id="api"><p class="first admonition-title">Warning</p><p class="last">You are consulting the doc of a former version of PICOS. The latest version is <a href="../index.html">HERE</a>. </p></div>
<div class="section" id="change-history">
<span id="changes"></span><h1>Change History<a class="headerlink" href="#change-history" title="Permalink to this headline"></a></h1>
<blockquote>
......@@ -140,10 +155,10 @@
<dd><ul class="first last simple">
<li>Improved support for complex SDP (access to dual information and correction of a few bugs, in particular sum of complex affine expression now work correctly)</li>
<li>Flow constraints in graphs, including multicommodity flows, cf. <a class="reference internal" href="tuto.html#flowcons"><em>this section</em></a>.</li>
<li>Improved implementation of <a class="reference internal" href="tools.html#picos.tools._retrieve_matrix" title="picos.tools._retrieve_matrix"><code class="xref py py-func docutils literal"><span class="pre">_retrieve_matrix()</span></code></a>, which
was taking a very long time to process large parameters.</li>
<li>Additional <code class="docutils literal"><span class="pre">coef</span></code> argument in the function <a class="reference internal" href="tools.html#picos.tools.tracepow" title="picos.tools.tracepow"><code class="xref py py-func docutils literal"><span class="pre">picos.tracepow()</span></code></a>, in order to represent constraints of the form <img class="math" src="_images/math/fa733d2db9d89ff82b3b53a61fc195c7de5b5625.png" alt="\operatorname{trace}(M X^p) \geq t"/>.</li>
<li>Improved implementation of <a class="reference internal" href="tools.html#picos.tools._retrieve_matrix" title="picos.tools._retrieve_matrix"><code class="xref py py-func docutils literal"><span class="pre">_retrieve_matrix()</span></code></a>, which was taking a very long time to process large parameters.</li>
<li>Improved implementation of the retrieval of optimal primal variables with CPLEX. With the previous versions there was an important overhead at the end of the solving process to get the optimal values, this is now working much faster.</li>
<li>Improved readibility of the documentation.</li>
<li>Nicer documentation.</li>
</ul>
</dd>
</dl>
......
......@@ -36,6 +36,22 @@
<script src="https://cdnjs.cloudflare.com/ajax/libs/modernizr/2.6.2/modernizr.min.js"></script>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-33037163-1']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
</head>
<body class="wy-body-for-nav" role="document">
......@@ -132,8 +148,7 @@
</ul>
<hr/>
</div>
<div role="main" class="document">
<div role="main" class="document"><div class="admonition warning" id="api"><p class="first admonition-title">Warning</p><p class="last">You are consulting the doc of a former version of PICOS. The latest version is <a href="../index.html">HERE</a>. </p></div>
<div class="section" id="complex-semidefinite-programming">
<span id="complex"></span><h1>Complex Semidefinite Programming<a class="headerlink" href="#complex-semidefinite-programming" title="Permalink to this headline"></a></h1>
<p>Since the version 1.0.1, it is possible to
......
......@@ -36,6 +36,22 @@
<script src="https://cdnjs.cloudflare.com/ajax/libs/modernizr/2.6.2/modernizr.min.js"></script>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-33037163-1']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
</head>
<body class="wy-body-for-nav" role="document">
......@@ -132,8 +148,7 @@
</ul>
<hr/>
</div>
<div role="main" class="document">
<div role="main" class="document"><div class="admonition warning" id="api"><p class="first admonition-title">Warning</p><p class="last">You are consulting the doc of a former version of PICOS. The latest version is <a href="../index.html">HERE</a>. </p></div>
<div class="section" id="constraint">
<span id="id1"></span><h1>Constraint<a class="headerlink" href="#constraint" title="Permalink to this headline"></a></h1>
<dl class="class">
......
......@@ -35,6 +35,22 @@
<script src="https://cdnjs.cloudflare.com/ajax/libs/modernizr/2.6.2/modernizr.min.js"></script>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-33037163-1']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
</head>
<body class="wy-body-for-nav" role="document">
......@@ -129,23 +145,22 @@
</ul>
<hr/>
</div>
<div role="main" class="document">
<div role="main" class="document"><div class="admonition warning" id="api"><p class="first admonition-title">Warning</p><p class="last">You are consulting the doc of a former version of PICOS. The latest version is <a href="../index.html">HERE</a>. </p></div>
<div class="section" id="download">
<span id="id1"></span><h1>Download<a class="headerlink" href="#download" title="Permalink to this headline"></a></h1>
<p>The latest version of PICOS can be downloaded here:</p>
<blockquote>
<div><a class="reference external" href="dist/PICOS-1.0.1.tar.gz">picos-1.0.1</a></div></blockquote>
<div><a class="reference external" href="dist/PICOS-1.0.1.tar.gz" onClick="javascript: _gaq.push(['_trackPageview', '/downloads/version101']);">picos-1.0.1</a></div></blockquote>
<p>Installation instructions are explained
<a class="reference internal" href="intro.html#requirements"><em>here</em></a>.</p>
<p><strong>Older versions</strong></p>
<blockquote>
<div><p><a class="reference external" href="dist/PICOS-1.0.1.dev.tar.gz">picos-1.0.1.dev</a></p>
<p><a class="reference external" href="dist/PICOS-1.0.0.tar.gz">picos-1.0.0</a></p>
<p><a class="reference external" href="dist/PICOS-0.1.3.tar.gz">picos-0.1.3</a></p>
<p><a class="reference external" href="dist/PICOS-0.1.2.tar.gz">picos-0.1.2</a></p>
<p><a class="reference external" href="dist/PICOS-0.1.1.tar.gz">picos-0.1.1</a></p>
<p><a class="reference external" href="dist/PICOS-0.1.0.tar.gz">picos-0.1.0</a></p>
<div><p><a class="reference external" href="dist/PICOS-1.0.1.dev.tar.gz" onClick="javascript: _gaq.push(['_trackPageview', '/downloads/version101']);">picos-1.0.1.dev</a></p>
<p><a class="reference external" href="dist/PICOS-1.0.0.tar.gz" onClick="javascript: _gaq.push(['_trackPageview', '/downloads/version100']);">picos-1.0.0</a></p>
<p><a class="reference external" href="dist/PICOS-0.1.3.tar.gz" onClick="javascript: _gaq.push(['_trackPageview', '/downloads/version013']);">picos-0.1.3</a></p>
<p><a class="reference external" href="dist/PICOS-0.1.2.tar.gz" onClick="javascript: _gaq.push(['_trackPageview', '/downloads/version012']);">picos-0.1.2</a></p>
<p><a class="reference external" href="dist/PICOS-0.1.1.tar.gz" onClick="javascript: _gaq.push(['_trackPageview', '/downloads/version011']);">picos-0.1.1</a></p>
<p><a class="reference external" href="dist/PICOS-0.1.0.tar.gz" onClick="javascript: _gaq.push(['_trackPageview', '/downloads/version010']);">picos-0.1.0</a></p>
</div></blockquote>
</div>
......
......@@ -35,6 +35,22 @@
<script src="https://cdnjs.cloudflare.com/ajax/libs/modernizr/2.6.2/modernizr.min.js"></script>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-33037163-1']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
</head>
<body class="wy-body-for-nav" role="document">
......@@ -129,8 +145,7 @@
</ul>
<hr/>
</div>
<div role="main" class="document">
<div role="main" class="document"><div class="admonition warning" id="api"><p class="first admonition-title">Warning</p><p class="last">You are consulting the doc of a former version of PICOS. The latest version is <a href="../index.html">HERE</a>. </p></div>
<div class="section" id="examples">
<span id="id1"></span><h1>Examples<a class="headerlink" href="#examples" title="Permalink to this headline"></a></h1>
<div class="toctree-wrapper compound">
......
......@@ -36,6 +36,22 @@
<script src="https://cdnjs.cloudflare.com/ajax/libs/modernizr/2.6.2/modernizr.min.js"></script>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-33037163-1']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
</head>
<body class="wy-body-for-nav" role="document">
......@@ -132,8 +148,7 @@
</ul>
<hr/>
</div>
<div role="main" class="document">
<div role="main" class="document"><div class="admonition warning" id="api"><p class="first admonition-title">Warning</p><p class="last">You are consulting the doc of a former version of PICOS. The latest version is <a href="../index.html">HERE</a>. </p></div>
<div class="section" id="expression">
<span id="id1"></span><h1>Expression<a class="headerlink" href="#expression" title="Permalink to this headline"></a></h1>
<dl class="class">
......
......@@ -34,6 +34,22 @@
<script src="https://cdnjs.cloudflare.com/ajax/libs/modernizr/2.6.2/modernizr.min.js"></script>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-33037163-1']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
</head>
<body class="wy-body-for-nav" role="document">
......@@ -144,6 +160,7 @@
| <a href="#I"><strong>I</strong></a>
| <a href="#K"><strong>K</strong></a>
| <a href="#L"><strong>L</strong></a>
| <a href="#M"><strong>M</strong></a>
| <a href="#N"><strong>N</strong></a>
| <a href="#O"><strong>O</strong></a>
| <a href="#P"><strong>P</strong></a>
......@@ -502,6 +519,16 @@
</dl></td>
</tr></table>
<h2 id="M">M</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%" valign="top"><dl>
<dt><a href="expression.html#picos.TracePow_Exp.M">M (picos.TracePow_Exp attribute)</a>
</dt>
</dl></td>
</tr></table>
<h2 id="N">N</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%" valign="top"><dl>
......
......@@ -36,6 +36,22 @@
<script src="https://cdnjs.cloudflare.com/ajax/libs/modernizr/2.6.2/modernizr.min.js"></script>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-33037163-1']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
</head>
<body class="wy-body-for-nav" role="document">
......@@ -132,8 +148,7 @@
</ul>
<hr/>
</div>
<div role="main" class="document">
<div role="main" class="document"><div class="admonition warning" id="api"><p class="first admonition-title">Warning</p><p class="last">You are consulting the doc of a former version of PICOS. The latest version is <a href="../index.html">HERE</a>. </p></div>
<div class="section" id="cut-problems-in-graphs">
<span id="graphs"></span><h1>Cut problems in graphs<a class="headerlink" href="#cut-problems-in-graphs" title="Permalink to this headline"></a></h1>
<p>The code below initializes the graph used in all the examples of this page.
......@@ -261,7 +276,7 @@ we solve below for <code class="docutils literal"><span class="pre">s=16</span><
</div>
<div class="highlight-none"><div class="highlight"><pre>---------------------
optimization problem (LP):
61 variables, 139 affine constraints
61 variables, 140 affine constraints
f : dict of 60 variables, (1, 1), continuous
F : (1, 1), continuous
......
......@@ -34,6 +34,22 @@
<script src="https://cdnjs.cloudflare.com/ajax/libs/modernizr/2.6.2/modernizr.min.js"></script>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-33037163-1']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
</head>
<body class="wy-body-for-nav" role="document">
......@@ -128,8 +144,7 @@
</ul>
<hr/>
</div>
<div role="main" class="document">
<div role="main" class="document"><div class="admonition warning" id="api"><p class="first admonition-title">Warning</p><p class="last">You are consulting the doc of a former version of PICOS. The latest version is <a href="../index.html">HERE</a>. </p></div>
<div class="section" id="picos-a-python-interface-for-conic-optimization-solvers">
<h1>PICOS: A Python Interface for Conic Optimization Solvers<a class="headerlink" href="#picos-a-python-interface-for-conic-optimization-solvers" title="Permalink to this headline"></a></h1>
<img alt="_images/picos_big_trans.gif" src="_images/picos_big_trans.gif" />
......@@ -152,8 +167,9 @@ on every function of PICOS.</p>
<dd><ul class="first last simple">
<li>Support for Semidefinite Programming over the complex domain, see <a class="reference internal" href="complex.html#complex"><em>here</em></a>.</li>
<li>Flow constraints in graphs, cf. <a class="reference internal" href="tuto.html#flowcons"><em>this section</em></a>.</li>
<li>Additional <code class="docutils literal"><span class="pre">coef</span></code> argument in the function <a class="reference internal" href="tools.html#picos.tools.tracepow" title="picos.tools.tracepow"><code class="xref py py-func docutils literal"><span class="pre">picos.tracepow()</span></code></a>, in order to represent constraints of the form <img class="math" src="_images/math/fa733d2db9d89ff82b3b53a61fc195c7de5b5625.png" alt="\operatorname{trace}(M X^p) \geq t"/>.</li>
<li>Improved implementation of several functionalities, in particular the slicing of affine expressions (<code class="docutils literal"><span class="pre">__getitem__</span></code>), the processing of large matrix parameters, and the access to primal optimal variables with CPLEX.</li>
<li>Improved readibility of the documentation.</li>
<li>Nicer documentation.</li>
</ul>
</dd>
</dl>
......
......@@ -35,6 +35,22 @@
<script src="https://cdnjs.cloudflare.com/ajax/libs/modernizr/2.6.2/modernizr.min.js"></script>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-33037163-1']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
</head>
<body class="wy-body-for-nav" role="document">
......@@ -129,8 +145,7 @@
</ul>
<hr/>
</div>
<div role="main" class="document">
<div role="main" class="document"><div class="admonition warning" id="api"><p class="first admonition-title">Warning</p><p class="last">You are consulting the doc of a former version of PICOS. The latest version is <a href="../index.html">HERE</a>. </p></div>
<div class="section" id="introduction">
<span id="intro"></span><h1>Introduction<a class="headerlink" href="#introduction" title="Permalink to this headline"></a></h1>
<p>PICOS is a user friendly interface
......@@ -439,6 +454,7 @@ their comments, ideas, questions, ... (in no particular order):</p>
<blockquote>
<div><ul class="simple">
<li><a class="reference external" href="http://www.stahlke.org/">Dan Stahlke</a></li>
<li><a class="reference external" href="http://www.ing.unibs.it/~marco.dalai/">Marco Dalai</a></li>
<li><a class="reference external" href="http://www.cwi.nl/people/2683/">Matteo Seminaroti</a></li>
<li><a class="reference external" href="http://cs.brown.edu/~ws/">Warren Schudy</a></li>
<li><a class="reference external" href="http://www.zib.de/swarat">Elmar Swarat</a></li>
......
......@@ -36,6 +36,22 @@
<script src="https://cdnjs.cloudflare.com/ajax/libs/modernizr/2.6.2/modernizr.min.js"></script>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-33037163-1']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
</head>
<body class="wy-body-for-nav" role="document">
......@@ -132,8 +148,7 @@
</ul>
<hr/>
</div>
<div role="main" class="document">
<div role="main" class="document"><div class="admonition warning" id="api"><p class="first admonition-title">Warning</p><p class="last">You are consulting the doc of a former version of PICOS. The latest version is <a href="../index.html">HERE</a>. </p></div>
<div class="section" id="examples-from-optimal-experimental-design">
<span id="optdes"></span><h1>Examples from Optimal Experimental Design<a class="headerlink" href="#examples-from-optimal-experimental-design" title="Permalink to this headline"></a></h1>
<p>Optimal experimental design is a theory
......@@ -1241,7 +1256,8 @@ L. Vandenberghe, S. Boyd and S.P. Wu, <em>SIAM journal on matrix analysis and ap
19(2), 499-533, 1998.</li>
<li>&#8220;<a class="reference external" href="http://opus4.kobv.de/opus4-zib/frontdoor/index/index/docId/1751">On the semidefinite representations of real functions applied to symmetric
matrices</a>&#8221;, G. Sagnol,
Submitted, ZIB Report 12-50, 2012.</li>
<em>Linear Algebra and its Applications</em>,
439(10), p. <em>2829-2843</em>, 2013.</li>
</ol>
</div></blockquote>
</div>
......
......@@ -36,6 +36,22 @@
<script src="https://cdnjs.cloudflare.com/ajax/libs/modernizr/2.6.2/modernizr.min.js"></script>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-33037163-1']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
</head>
<body class="wy-body-for-nav" role="document">
......@@ -132,8 +148,7 @@
</ul>
<hr/>
</div>
<div role="main" class="document">
<div role="main" class="document"><div class="admonition warning" id="api"><p class="first admonition-title">Warning</p><p class="last">You are consulting the doc of a former version of PICOS. The latest version is <a href="../index.html">HERE</a>. </p></div>
<div class="section" id="problem">
<span id="id1"></span><h1>Problem<a class="headerlink" href="#problem" title="Permalink to this headline"></a></h1>
<dl class="class">
......
......@@ -36,6 +36,22 @@
<script src="https://cdnjs.cloudflare.com/ajax/libs/modernizr/2.6.2/modernizr.min.js"></script>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-33037163-1']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
</head>
<body class="wy-body-for-nav" role="document">
......
......@@ -33,6 +33,22 @@
<script src="https://cdnjs.cloudflare.com/ajax/libs/modernizr/2.6.2/modernizr.min.js"></script>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-33037163-1']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
</head>
<body class="wy-body-for-nav" role="document">
......
This diff is collapsed.
......@@ -36,6 +36,22 @@
<script src="https://cdnjs.cloudflare.com/ajax/libs/modernizr/2.6.2/modernizr.min.js"></script>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-33037163-1']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
</head>
<body class="wy-body-for-nav" role="document">
......@@ -132,8 +148,7 @@
</ul>
<hr/>
</div>
<div role="main" class="document">
<div role="main" class="document"><div class="admonition warning" id="api"><p class="first admonition-title">Warning</p><p class="last">You are consulting the doc of a former version of PICOS. The latest version is <a href="../index.html">HERE</a>. </p></div>
<div class="section" id="module-picos.tools">
<span id="picos-tools"></span><span id="tools"></span><h1>picos.tools<a class="headerlink" href="#module-picos.tools" title="Permalink to this headline"></a></h1>
<dl class="function">
......
......@@ -35,6 +35,22 @@
<script src="https://cdnjs.cloudflare.com/ajax/libs/modernizr/2.6.2/modernizr.min.js"></script>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-33037163-1']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
</head>
<body class="wy-body-for-nav" role="document">
......@@ -129,8 +145,7 @@
</ul>
<hr/>
</div>
<div role="main" class="document">
<div role="main" class="document"><div class="admonition warning" id="api"><p class="first admonition-title">Warning</p><p class="last">You are consulting the doc of a former version of PICOS. The latest version is <a href="../index.html">HERE</a>. </p></div>
<div class="section" id="tutorial">
<span id="tuto"></span><h1>Tutorial<a class="headerlink" href="#tutorial" title="Permalink to this headline"></a></h1>
<p>First of all, let us import the PICOS module and cvxopt</p>
......@@ -842,6 +857,14 @@ is used, the base <img class="math" src="_images/math/188c175aac0a8a9c2249933671
forced to be positive semidefinite) by picos.</p>
</div>
</div></blockquote>
<p>When the exponent is <img class="math" src="_images/math/eaefb689569d36bc921fe09ae34e70055519ae2c.png" alt="0&lt;p&lt;1"/>,
it is also possible to represent constraints of the form
<img class="math" src="_images/math/fa733d2db9d89ff82b3b53a61fc195c7de5b5625.png" alt="\operatorname{trace}(M X^p) \geq t"/>
with SDPs, where <img class="math" src="_images/math/1b98248ee27b132b3aa95430a12a5a5507597c14.png" alt="M\succeq 0"/>, see <a class="reference internal" href="#tuto-refs"><em>[2]</em></a>.</p>
<div class="highlight-python"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="n">pic</span><span class="o">.</span><span class="n">tracepow</span><span class="p">(</span><span class="n">X</span><span class="p">,</span> <span class="mf">0.6666</span><span class="p">,</span> <span class="n">coef</span> <span class="o">=</span> <span class="n">A</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">T</span><span class="o">*</span><span class="n">A</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span> <span class="o">&gt;=</span> <span class="n">t</span>
<span class="go"># trace of pth power ineq : trace[ A[0].T*A[0] *(X)**2/3]&gt;t#</span>
</pre></div>
</div>
<p>As for geometric means, inequalities involving real powers are
stored in a temporary object of the class <a class="reference internal" href="constraint.html#picos.TracePow_Constraint" title="picos.TracePow_Constraint"><code class="xref py py-class docutils literal"><span class="pre">TracePow_Constraint</span></code></a>,
which contains a field <code class="docutils literal"><span class="pre">Ptmp</span></code> , a Problem instance with all the SOC or SDP constraints
......@@ -1204,6 +1227,10 @@ and <img class="math" src="_images/math/82ce15fa14debd13c707b4d5d273766f07b8cfe7
M.S. Lobo, L. Vandenberghe, S. Boyd and H. Lebret,
<em>Linear Algebra and its Applications</em>,
284, p. <em>193-228</em>, 1998.</li>
<li>&#8220;<a class="reference external" href="http://opus4.kobv.de/opus4-zib/frontdoor/index/index/docId/1751">On the semidefinite representations of real functions applied to symmetric
matrices</a>&#8221;, G. Sagnol,
<em>Linear Algebra and its Applications</em>,
439(10), p. <em>2829-2843</em>, 2013.</li>
</ol>
</div></blockquote>
</div>
......
/home/optimi/bzfsagno/ZIB/picos/doc/full_html/last/graphs.html
\ No newline at end of file
../picos/last/graphs.html
\ No newline at end of file
/home/optimi/bzfsagno/ZIB/picos/doc/full_html/last/index.html
\ No newline at end of file
../picos/last/index.html
\ No newline at end of file
/home/optimi/bzfsagno/ZIB/picos/doc/full_html/last/intro.html
\ No newline at end of file
../picos/last/intro.html
\ No newline at end of file
/home/optimi/bzfsagno/ZIB/picos/doc/full_html/1.0.1/
\ No newline at end of file
../picos/1.0.2
\ No newline at end of file
/home/optimi/bzfsagno/ZIB/picos/doc/full_html/last/optdes.html
\ No newline at end of file
../picos/last/optdes.html
\ No newline at end of file
/home/optimi/bzfsagno/ZIB/picos/doc/full_html/last/tuto.html
\ No newline at end of file
../picos/last/tuto.html
\ No newline at end of file
/home/optimi/bzfsagno/ZIB/picos/doc/full_html/0.1.2/
\ No newline at end of file
../picos/0.1.2
\ No newline at end of file
/home/optimi/bzfsagno/ZIB/picos/doc/full_html/0.1.3/
\ No newline at end of file
../picos/0.1.3
\ No newline at end of file
/home/optimi/bzfsagno/ZIB/picos/doc/full_html/1.0.0/
\ No newline at end of file
../picos/1.0.0
\ No newline at end of file
/home/optimi/bzfsagno/ZIB/picos/doc/full_html/1.0.1.dev/
\ No newline at end of file
../picos/1.0.1.dev
\ No newline at end of file
:tocdepth: 2
.. _graphs:
**********************
Cut problems in graphs
**********************
**************************
**Cut problems in graphs**
**************************
The code below initializes the graph used in all the examples of this page.
It should be run prior to any of the codes presented in this page.
......@@ -49,8 +51,8 @@ the output. In this example, we also use a kind of arbitrary sequence for the ed
i=i+1
Max-flow, Min-cut (LP)
======================
*Max-flow, Min-cut (LP)*
========================
Max-flow
''''''''
......@@ -143,7 +145,7 @@ we solve below for ``s=16`` and ``t=10``:
---------------------
optimization problem (LP):
61 variables, 139 affine constraints
61 variables, 140 affine constraints
f : dict of 60 variables, (1, 1), continuous
F : (1, 1), continuous
......@@ -416,8 +418,8 @@ Let us now draw the maximum flow:
On this graph, the source in blue, the sink in green,
and the edges defining the cut are marked in red.
Multicut (MIP)
==============
*Multicut (MIP)*
================
Multicut is a generalization of the mincut problem, in which several pairs
of nodes must be disconnected. The goal is to find a cut of minimal
......@@ -588,7 +590,7 @@ Let us now draw the multicut:
fig.gca().axes.get_yaxis().set_ticks([])
pylab.show()
.. plot:: pyplots/multicut.py
On this graph, the pairs of terminal nodes are denoted by
......@@ -596,8 +598,8 @@ dark and light colors of the same shade (e.g. dark vs. light green
for the pairs (3,4),(3,9), and (3,18)), and the edges defining the
cut are marked in red.
Maxcut relaxation (SDP)
=======================
*Maxcut relaxation (SDP)*
=========================
The goal of the **maxcut** problem is to find
a partition (S,T) of the nodes of an *undirected* graph G(V,E),
......@@ -633,13 +635,14 @@ onto a random hyperplan, we obtain a cut whose expected capacity is at least
0.878 times the optimum. Below is a simple implementation of their algorithm:
.. testcode::
import cvxopt as cvx
import cvxopt.lapack
import numpy as np
#make G undirected
G=nx.Graph(G)
#allocate weights to the edges
for (i,j) in G.edges():
G[i][j]['weight']=c[i,j]+c[j,i]
......@@ -753,8 +756,8 @@ are blue or green depending on the partition they belong to.
.. _graph_refs:
References
==========
*References*
============
1. "Maximal Flow through a Network", LR Ford Jr and DR Fulkerson,
*Canadian journal of mathematics*, 1956.
......
......@@ -27,18 +27,21 @@ on every function of PICOS.
**News**
* 27 Aug. 14: **Picos** :ref:`1.0.1 <download>` **Released** |br|
Major Release with following changes:
* Support for Semidefinite Programming over the complex domain, see :ref:`here <complex>`.
* Flow constraints in graphs, cf. :ref:`this section <flowcons>`.
* Additional ``coef`` argument in the function :func:`picos.tracepow() <picos.tools.tracepow>`, in order to represent constraints of the form :math:`\operatorname{trace}(M X^p) \geq t`.
* Improved implementation of several functionalities, in particular the slicing of affine expressions (``__getitem__``), the processing of large matrix parameters, and the access to primal optimal variables with CPLEX.
* Nicer documentation.
* 18 May 14: **Picos** :ref:`1.0.1.dev <download>` **Released** |br|
Preliminary release of the 1.0.1 (still a few bugs for complex SDPs).
* 30 Jan. 15: **Picos** :ref:`1.0.2 <download>` **Released**
Major release with following new functionalities:
* Support (read and write) for ``.cbf`` problem files (`conic benchmark format <http://cblib.zib.de/>`_ ), which should be the standard for (mixed integer) conic optimization problems, cf. :func:`write_to_file <picos.Problem.write_to_file>` and :func:`import_cbf <picos.tools.import_cbf>` .
* Improved support for complex SDP (more efficient implementation of :func:`to_real() <picos.Problem.to_real>` , corrected bug in the implementation of the scalar product for Hermitian matrices and the conjugate of a complex expression, support for equality constraints involving complex coefficients)
* Support for inequalities involving the sum of k largest elements of an affine expression, or the k largest eigenvalues of a symmetric matrix expression, cf. the functions :func:`sum_k_largest() <picos.tools.sum_k_largest>` , :func:`sum_k_smallest() <picos.tools.sum_k_smallest>` , :func:`sum_k_largest_lambda() <picos.tools.sum_k_largest_lambda>`, :func:`sum_k_smallest_lambda() <picos.tools.sum_k_smallest_lambda>`, :func:`lambda_max() <picos.tools.lambda_max>` and :func:`lambda_min() <picos.tools.lambda_min>` .
* Support for inequalities involving the :math:`L_{p,q}-` norm of an affine expresison, cf. :func:`norm() <picos.tools.norm>` .
* New ``vtype`` for antisymmetric matrix variables ( :attr:`vtype <picos.Variable.vtype>` ``= antisym``).
* Constraints can be specified as membership in a :class:`Set <picos.Set>` . Sets can be created by the functions :func:`ball() <picos.tools.ball>` , :func:`simplex() <picos.tools.simplex>`, and :func:`truncated_simplex() <picos.tools.truncated_simplex>` .
* New functions :func:`maximize <picos.Problem.maximize>` and :func:`maximize <picos.Problem.minimize>` to specify the objective function of a problem and solve it.
And many thanks to `Petter Wittek <http://peterwittek.com/>`_ for the following improvements, who were motivated by the use of PICOS in the package `ncpol2sdpa <http://peterwittek.github.io/ncpol2sdpa/>`_ for optimization over noncommutative polynomials:
* More efficient implementation of the writer to the sparse - SDPA file format (:func:`write_to_file <picos.Problem.write_to_file>`)
* Hadamard (elementwise) product of affine expression is implemented, as an overload of the ``^`` operator, cf. an example :ref:`here <overloads>` .
* Partial transposition of an Affine Expression, cf. :func:`partial_transpose() <picos.tools.partial_transpose>` or the :attr:`Tx <picos.AffinExp.Tx>` attribute.
* 19 Jul. 13: **Picos** :ref:`1.0.0 <download>` **Released** |br|
with Semidefinite Programming Interface for MOSEK 7.0 !!!
......@@ -53,7 +56,7 @@ on every function of PICOS.
:maxdepth: 2
intro
tuto
tuto_summary
examples
api
download
......
......@@ -6,8 +6,8 @@ Introduction
PICOS is a user friendly interface
to several conic and integer programming solvers,
very much like `YALMIP <http://users.isy.liu.se/johanl/yalmip/>`_ under
`MATLAB <http://www.mathworks.com/>`_.
very much like `YALMIP <http://users.isy.liu.se/johanl/yalmip/>`_
or `CVX <http://cvxr.com/cvx/>`_ under `MATLAB <http://www.mathworks.com/>`_.
The main motivation for PICOS is to have the possibility to
enter an optimization problem as a *high level model*,
......@@ -59,7 +59,7 @@ interfaced solvers can be found :ref:`here <solvers>`.
* Mixed Integer Programming (**MIP**)
* Convex Quadratically constrained Quadratic Programming (**convex QCQP**)
* Second Order Cone Programming (**SOCP**)
* Semidefinite Programming (**SDP**)
* Semidefinite Programming (**SDP**), also with (complex-valued) Hermitian matrices.
* General Quadratically constrained Quadratic Programming (**QCQP**)
* Mixed Integer Quadratic Programming (**MIQP**)
......@@ -71,8 +71,9 @@ below, explaining their main differences with PICOS:
This is a python interface
that can be used to solve any convex optimization
problem. However, CVXPY interfaces only the open
source solver `cvxopt <http://abel.ee.ucla.edu/cvxopt/>`_ for disciplined convex programming (**DCP**)
problem that can be formed following the rules of
disciplined convex programming (**DCP**).
* `Numberjack <http://numberjack.ucc.ie/home>`_:
......@@ -336,6 +337,8 @@ Author and contributors
* Contributors: People who actively contributed to the code of Picos (in no particular order)
* `Petter Wittek <http://peterwittek.com/>`_
* Paul Fournel
* Bertrand Omont
......
:tocdepth: 2
.. _optdes:
*****************************************
Examples from Optimal Experimental Design
*****************************************
*********************************************
**Examples from Optimal Experimental Design**
*********************************************
Optimal experimental design is a theory
at the interface of statistics and optimization,
......@@ -65,8 +67,8 @@ It should be run prior to any of the codes presented in this page.
c = cvx.matrix([1,2,3,4,5])
c-optimality, multi-response: SOCP
==================================
*c-optimality, multi-response: SOCP*
====================================
We compute the c-optimal design (``c=[1,2,3,4,5]``)
for the observation matrices ``A[i].T`` from the variable ``A`` defined above.
......@@ -233,8 +235,8 @@ Generated output:
[...]
c-optimality, single-response: LP
=================================
*c-optimality, single-response: LP*
===================================