[sdpb] 139/233: More updates to manual

Tobias Hansen thansen at moszumanska.debian.org
Thu Mar 9 04:06:30 UTC 2017


This is an automated email from the git hooks/post-receive script.

thansen pushed a commit to branch master
in repository sdpb.

commit 060533b1c3e66b02b76748a3fa48eb05c5af26dc
Author: David Simmons-Duffin <davidsd at gmail.com>
Date:   Mon Feb 2 01:06:09 2015 -0500

    More updates to manual
---
 docs/SDPB-Manual.pdf | Bin 276744 -> 285089 bytes
 docs/SDPB-Manual.tex | 103 +++++++++++++++++++++++++++++++++++++++++++++++----
 2 files changed, 95 insertions(+), 8 deletions(-)

diff --git a/docs/SDPB-Manual.pdf b/docs/SDPB-Manual.pdf
index 2098f4d..f75f323 100644
Binary files a/docs/SDPB-Manual.pdf and b/docs/SDPB-Manual.pdf differ
diff --git a/docs/SDPB-Manual.tex b/docs/SDPB-Manual.tex
index 12e13b5..8edfd47 100644
--- a/docs/SDPB-Manual.tex
+++ b/docs/SDPB-Manual.tex
@@ -47,7 +47,21 @@
 
 \section{Introduction}
 
-\SDPB\ is an arbitrary-precision semidefinite program solver, specialized for ``polynomial matrix programs" (defined below in section~\ref{sec:PMP}).  This document describes the usage and input/output formats of \SDPB.  Much more detail about its design is given in \cite{DSD}, and the reader is encouraged to look there for a better understanding of \SDPB's parameters and internal operation.
+\SDPB\ is an arbitrary-precision semidefinite program solver, specialized for ``polynomial matrix programs" (defined below).  This document describes \SDPB's usage and input/output.  Much more detail about its design is given in \cite{DSD}. The reader is encouraged to look there for a better understanding of \SDPB's parameters and internal operation.
+
+\subsection{Installation and Requirements}
+
+\SDPB\ requires
+
+\begin{itemize}
+\item \href{http://www.boost.org/}{The Boost C++ Libraries} (tested with Boost 1.54).
+
+\item \href{https://gmplib.org/}{The GNU Multiprecision Library}.
+\end{itemize}
+
+To install, you must first edit the \texttt{Makefile} to define the variables
+\texttt{GMPINCLUDEDIR}, \texttt{BOOSTINCLUDEDIR}, and \texttt{LIBDIR}. Then type \texttt{make} to
+build the \texttt{sdpb} executable.
 
 \section{Polynomial Matrix Programs}
 \label{sec:PMP}
@@ -61,7 +75,7 @@ P_{j,m_j1}^{n}(x) & \dots & P^{n}_{j,m_jm_j}(x)
 \end{pmatrix}
 \ee
 labeled by $0 \leq n \leq N$ and $1 \leq j \leq J$,
-where each element $P_{j,rs}^{n}(x)$ is a polynomial.  
+where each element $P_{j,rs}^{n}(x)$ is a polynomial in $x$.  
 Given $b\in \R^N$, we would like to
 \be
 \label{eq:PMPconstraint}
@@ -72,6 +86,8 @@ Given $b\in \R^N$, we would like to
 \ee
 The notation $M\succeq 0$ means ``$M$ is positive semidefinite."
 
+
+
 \section{Input to \SDPB}
 
 \SDPB\ takes the following input:
@@ -173,7 +189,7 @@ The options to \SDPB\ are described in detail in the help text, obtained by runn
 
 A \texttt{Mathematica} notebook \texttt{SDPB.m}, included in the source distribution, generates files of the form in listing~\ref{xmlinputformat} starting from \texttt{Mathematica} data.  It automatically makes sensible choices for the bilinear bases $q_m^{(j)}(x)$, the sample points $x_k^{(j)}$ and the sample scalings $s_k^{(j)}$.
 
-The \texttt{Mathematica} definition of a PMP is slightly different but trivially equivalent.  It is:
+The \texttt{Mathematica} definition of a PMP is slightly different but trivially equivalent to (\ref{eq:PMPconstraint}).  It is:
 \be
 \label{eq:PMPconstraintMathematica}
 \begin{array}{ll}
@@ -187,7 +203,7 @@ where $W_j^n(x)$ are matrix polynomials.  The normalization condition $n\.z=1$ c
 \texttt{SDPB.m} defines a function \texttt{WriteBootstrapSDP[file, sdp]}, where \texttt{file} is the XML file to be written to, and \texttt{sdp} has the following form, where the polynomials $Q^n_{j,rs}(x)$ are the elements of $W_j^n(x)$.
 
 \begin{lstlisting}[
-  caption={Input for \texttt{WriteBootstrapSDP} in \texttt{SDPB.m}},
+  caption={Usage of \texttt{WriteBootstrapSDP} in \texttt{SDPB.m}},
   mathescape,
   columns=fullflexible,
   frame=single,
@@ -232,7 +248,7 @@ The prefactor in \texttt{PositiveMatrixWithPrefactor} is used for constructing b
 \be
 \texttt{DampedRational[$c$, \{$p_1,\dots,p_k$\}, $b$, $x$]} &\to& c\frac{b^x}{\prod_{i=1}^k (x-p_i)}.
 \ee
-We do not use a \texttt{Mathematica} function directly because \texttt{DampedRational} makes it easier to extract information needed to construct a bilinear basis.  The notebook \texttt{SDPB.m} makes a choice of sample points that are reasonable for conformal bootstrap applications.
+We do not use an exponential-times-rational \texttt{Mathematica} function directly because the  \texttt{DampedRational} data structure makes it easier to extract information needed to construct a bilinear basis.  The notebook \texttt{SDPB.m} makes a choice of sample points that are reasonable for conformal bootstrap applications.
 
 \subsection{An Example}
 \label{sec:example}
@@ -264,12 +280,12 @@ Module[
     norm = {1, 0},
     obj  = {0, -1}
   },
-  WriteBootstrapSDP[datFile, SDP[obj, norm, pols]];
+  WriteBootstrapSDP["test.xml", SDP[obj, norm, pols]];
 ];
 \end{lstlisting}
 It produces the following XML file
 \begin{lstlisting}[
-  caption={XML file produced by listing~\ref{mathematicaexample}.  Decimals have been truncated at 12 digits.},
+  caption={XML file \texttt{test.xml} produced by listing~\ref{mathematicaexample}.  Decimals are truncated at 12 digits.},
   label=exampleinputfile,
   mathescape,
   columns=fullflexible,
@@ -518,7 +534,7 @@ is plotted in figure~\ref{fig:plot}.  The zero near $x=1$ shows that $y$ is opti
 \label{fig:plot}
 \end{figure}
 
-\section{Checkpoints}
+\subsection{Checkpoints}
 
 Every \texttt{checkpointInterval}, \SDPB\ saves a new checkpoint file with a \texttt{.ck} extension and backs up the old checkpoint file to a \texttt{.ck.bk} extension.  \SDPB\ also saves a checkpoint after termination, provided the option \texttt{--noFinalCheckpoint} is not specified.  
 
@@ -526,6 +542,24 @@ A checkpoint file encodes the values of $x,X,y,Y$.  If \SDPB\ detects an existin
 
 A typical workflow for long-running computations on shared machines is to specify a moderate \texttt{checkpointInterval} (e.g. one hour) and a somewhat larger \texttt{maxRuntime} (e.g. 12 hours).  \SDPB\ will terminate after 12 hours and can then be restarted without losing progress.  If \SDPB\ is killed prematurely, then at most 1 hour of progress will be lost.  This pattern of restarting gives other users chances to run their processes.  It can be sustained indefinitely, allowing extre [...]
 
+\section{Attribution}
+
+If you use \SDPB\ in work that results in publication, please cite \cite{DSD}. Depending on how \SDPB\ is used, the following sources might also be relevant:
+\begin{itemize}
+\item The first use of semidefinite programming in the bootstrap \cite{Poland:2011ey}.
+\item The generalization of semidefinite programming methods to arbitrary
+spacetime dimension \cite{Kos:2013tga}.
+\item The generalization of semidefinite programming methods to arbitrary
+systems of correlation functions \cite{Kos:2014bka}.
+\end{itemize}
+
+\section{Acknowledgements}
+
+\SDPB\ Makes extensive use of \texttt{MPACK} \cite{MPACK}, the multiple precision linear algebra library written by Nakata Maho.  Several source files from \texttt{MPACK} are included in the \SDPB\ source tree (see the license at the top of those files). \SDPB\ uses Lee Thomason's \texttt{tinyxml2} library \cite{TINYXML2} for parsing.
+The design of \SDPB\ was partially based on the solvers \texttt{SDPA} and \texttt{SDPA-GMP} \cite{SDPA,SDPA2,SDPAGMP}, without which this software would never have been written.
+
+Thanks to Filip Kos, David Poland, and Alessandro Vichi for collaboration in developing semidefinite programming methods for the conformal bootstrap and assistance testing \SDPB.  Thanks to Amir Ali Ahmadi, Hande Benson, Pablo Parrilo, and Robert Vanderbei for advice and discussions about semidefinite programming.
+
 \begin{thebibliography}{9}
 
 \bibitem{DSD}
@@ -533,6 +567,59 @@ A typical workflow for long-running computations on shared machines is to specif
   ``A Semidefinite Program Solver for the Conformal Bootstrap,"
   \href{http://arXiv.org}{arXiv:1502.xxxxx [hep-th]}.
 
+%\cite{Poland:2011ey}
+\bibitem{Poland:2011ey} 
+  D.~Poland, D.~Simmons-Duffin and A.~Vichi,
+  ``Carving Out the Space of 4D CFTs,''
+  JHEP {\bf 1205}, 110 (2012)
+  \href{http://arXiv.org/abs/1109.5176}{arXiv:1109.5176 [hep-th]}.
+  %%CITATION = ARXIV:1109.5176;%%
+  %71 citations counted in INSPIRE as of 01 Feb 2015
+  
+%\cite{Kos:2013tga}
+\bibitem{Kos:2013tga} 
+  F.~Kos, D.~Poland and D.~Simmons-Duffin,
+  ``Bootstrapping the $O(N)$ vector models,''
+  JHEP {\bf 1406}, 091 (2014)
+  \href{http://arXiv.org/abs/1307.6856}{arXiv:1307.6856 [hep-th]}.
+  %%CITATION = ARXIV:1307.6856;%%
+  %29 citations counted in INSPIRE as of 01 Feb 2015
+
+%\cite{Kos:2014bka}
+\bibitem{Kos:2014bka} 
+  F.~Kos, D.~Poland and D.~Simmons-Duffin,
+  ``Bootstrapping Mixed Correlators in the 3D Ising Model,''
+  JHEP {\bf 1411}, 109 (2014)
+  \href{http://arXiv.org/abs/1406.4858}{arXiv:1406.4858 [hep-th]}.
+  %%CITATION = ARXIV:1406.4858;%%
+  %9 citations counted in INSPIRE as of 01 Feb 2015
+
+\bibitem{SDPA}
+  M. Yamashita, K. Fujisawa, M. Fukuda, K. Nakata, and M. Nakata,
+  ``A high-performance software package for semidefinite programs: SDPA 7,''
+   Research Report B-463, Dept. of Mathematical and Computing Science, Tokyo Institute of Technology, Tokyo, Japan (2010).
+
+\bibitem{SDPA2}
+  M. Yamashita, K. Fujisawa, and M. Kojima,
+  ``Implementation and evaluation of SDPA 6.0 (SemiDefinite Programming Algorithm 6.0),''
+  Optimization Methods and Software" 18 491-505 (2003).
+
+\bibitem{SDPAGMP}
+  M. Nakata,
+  ``A numerical evaluation of highly accurate multiple-precision arithmetic version of semidefinite programming solver: SDPA-GMP, -QD and -DD.,''
+  2010 IEEE International Symposium on Computer-Aided Control System Design (CACSD), 29-34 Sept 2010.
+
+\bibitem{MPACK}
+  M. Nakata,
+  ``The MPACK (MBLAS/MLAPACK); a multiple precision arithmetic version of BLAS and LAPACK,''
+  2010
+  \href{http://mplapack.sourceforge.net/}{http://mplapack.sourceforge.net/}.
+
+\bibitem{TINYXML2}
+  L. Thomason,
+  TinyXML2,
+  \href{http://www.grinninglizard.com/tinyxml2docs/index.html}{http://www.grinninglizard.com/tinyxml2docs/index.html}
+
 \end{thebibliography}
 
 \end{document}
\ No newline at end of file

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/sdpb.git



More information about the debian-science-commits mailing list