Skip to content

Commit

Permalink
Added documentation for the Kira interface.
Browse files Browse the repository at this point in the history
  • Loading branch information
vsht committed Jan 16, 2023
1 parent f294de3 commit 0ef7ad4
Show file tree
Hide file tree
Showing 19 changed files with 1,198 additions and 36 deletions.
19 changes: 18 additions & 1 deletion includes.tex
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,6 @@ \chapter{Package-X interface}
\subfile{pages/PaXKallenExpand.tex}
\subfile{pages/PaXKibbleExpand.tex}
\subfile{pages/PaXLoopRefineOptions.tex}
\subfile{pages/PaXPath.tex}
\subfile{pages/PaXSeries.tex}
\subfile{pages/PaXSimplifyEpsilon.tex}
\subfile{pages/PaXSubstituteEpsilon.tex}
Expand All @@ -73,6 +72,7 @@ \chapter{C++ FIRE interface}
\subfile{pages/FIRELthreads.tex}
\subfile{pages/FIREMathematicaKernelPath.tex}
\subfile{pages/FIREPosPref.tex}
\subfile{pages/FIREShowOutput.tex}
\subfile{pages/FIRESthreads.tex}
\subfile{pages/FIREThreads.tex}

Expand All @@ -87,6 +87,23 @@ \chapter{Mathematica FIRE interface}
\subfile{pages/FIREStartFile.tex}
\subfile{pages/FIREUsingFermat.tex}

\chapter{Kira interface}

\subfile{pages/KiraCreateConfigFiles.tex}
\subfile{pages/KiraCreateIntegralFile.tex}
\subfile{pages/KiraCreateJobFile.tex}
\subfile{pages/KiraGetRS.tex}
\subfile{pages/KiraImportResults.tex}
\subfile{pages/KiraLabelSector.tex}
\subfile{pages/KiraRunReduction.tex}
\subfile{pages/KiraBinaryPath.tex}
\subfile{pages/KiraFermatPath.tex}
\subfile{pages/KiraImplicitIncomingMomenta.tex}
\subfile{pages/KiraIntegrals.tex}
\subfile{pages/KiraJobFileName.tex}
\subfile{pages/KiraMassDimensions.tex}
\subfile{pages/KiraShowOutput.tex}

\chapter{LoopTools interface}

\subfile{pages/LToolsEvaluate.tex}
Expand Down
9 changes: 6 additions & 3 deletions pages/Cite.tex
Original file line number Diff line number Diff line change
Expand Up @@ -30,15 +30,18 @@ \section{Citations}\label{citations}\index{Citations}}
\item
\href{https://bitbucket.org/feynmanIntegrals/fire/}{FIRE} if you are
using \texttt{FIRE*} functions
\item
\href{https://gitlab.com/kira-pyred/kira/}{Kira} if you are using
\texttt{Kira*} functions
\item
\href{http://www.feynarts.de/looptools/}{LoopTools} if you are using
\texttt{LTools*} functions
\item
\href{https://packagex.hepforge.org/}{Package-X} if you are using
\texttt{PaX*} functions
\item
\href{https://secdec.readthedocs.io/en/stable/}{pySecDec} if you are
using \texttt{PSD*} functions
\item
\href{http://www.feynarts.de/looptools/}{LoopTools} if you are using
\texttt{LTools*} functions
\item
\href{http://cfif.ist.utl.pt/~paulo/qgraf.html}{QGRAF} if you are
using \texttt{QG*} functions
Expand Down
33 changes: 33 additions & 0 deletions pages/FIREShowOutput.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
% !TeX program = pdflatex
% !TeX root = FIREShowOutput.tex

\documentclass[../FeynHelpersManual.tex]{subfiles}
\begin{document}
\begin{Shaded}
\begin{Highlighting}[]

\end{Highlighting}
\end{Shaded}

\hypertarget{fireshowoutput}{
\section{FIREShowOutput}\label{fireshowoutput}\index{FIREShowOutput}}

\texttt{FIREShowOutput} is an option for \texttt{FIRECreateStartFile}
and other FIRE-related functions.

When set to \texttt{True}, the output of the current process run will be
shown via \texttt{Print}. When set to \texttt{False} the output is
suppressed.

\subsection{See also}

\hyperlink{toc}{Overview}, \hyperlink{firethreads}{FIREThreads},
\hyperlink{firecompressor}{FIRECompressor},
\hyperlink{firefthreads}{FIREFthreads},
\hyperlink{firelthreads}{FIRELthreads},
\hyperlink{fireintegrals}{FIREIntegrals},
\hyperlink{firepospref}{FIREPosPref},
\hyperlink{firesthreads}{FIRESthreads}.

\subsection{Examples}
\end{document}
39 changes: 38 additions & 1 deletion pages/FeynHelpers.tex
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,6 @@ \section{Package-X interface}\label{package-x interface}\index{Package-X interfa
\hyperlink{../paxkallenexpand}{../PaXKallenExpand},
\hyperlink{../paxkibbleexpand}{../PaXKibbleExpand},
\hyperlink{../paxlooprefineoptions}{../PaXLoopRefineOptions},
\hyperlink{../paxpath}{../PaXPath},
\hyperlink{../paxseries}{../PaXSeries},
\hyperlink{../paxsimplifyepsilon}{../PaXSimplifyEpsilon},
\hyperlink{../paxsubstituteepsilon}{../PaXSubstituteEpsilon} - options
Expand Down Expand Up @@ -142,6 +141,7 @@ \section{C++ FIRE interface}\label{c++ fire interface}\index{C++ FIRE interface}
\hyperlink{../firelthreads}{../FIRELthreads},
\hyperlink{../firemathematicakernelpath}{../FIREMathematicaKernelPath},
\hyperlink{../firepospref}{../FIREPosPref},
\hyperlink{../fireshowoutput}{../FIREShowOutput},
\hyperlink{../firesthreads}{../FIRESthreads},
\hyperlink{../firethreads}{../FIREThreads} - options of functions
related to the C++ FIRE interface
Expand All @@ -166,6 +166,43 @@ \section{Mathematica FIRE interface}\label{mathematica fire interface}\index{Mat
functions related to the Mathematica FIRE interface
\end{itemize}

\hypertarget{kira interface}{
\section{Kira interface}\label{kira interface}\index{Kira interface}}

\begin{itemize}
\tightlist
\item
\hyperlink{../kiracreateconfigfiles}{../KiraCreateConfigFiles} -
creates configuration files for the reduction
\item
\hyperlink{../kiracreateintegralfile}{../KiraCreateIntegralFile} -
creates list of integrals that need to be reduced
\item
\hyperlink{../kiracreatejobfile}{../KiraCreateJobFile} - creates the
job file to rund the redution
\item
\hyperlink{../kiragetrs}{../KiraGetRS} - extracts the \(r\) and \(s\)
parameters in the Kira/Reduze syntax
\item
\hyperlink{../kiraimportresults}{../KiraImportResults} - converts
reduction results to \texttt{GLI}s
\item
\hyperlink{../kiralabelsector}{../KiraLabelSector} - labels sectors
using the Reduze notation
\item
\hyperlink{../kirarunreduction}{../KiraRunReduction} - starts
reduction using Kira from the current notebook
\item
\hyperlink{../kirabinarypath}{../KiraBinaryPath},
\hyperlink{../kirafermatpath}{../KiraFermatPath},
\hyperlink{../kiraimplicitincomingmomenta}{../KiraImplicitIncomingMomenta},
\hyperlink{../kiraintegrals}{../KiraIntegrals},
\hyperlink{../kirajobfilename}{../KiraJobFileName},
\hyperlink{../kiramassdimensions}{../KiraMassDimensions},
\hyperlink{../kirashowoutput}{../KiraShowOutput} - options of
functions related to the KIRA interface
\end{itemize}

\hypertarget{looptools interface}{
\section{LoopTools interface}\label{looptools interface}\index{LoopTools interface}}

Expand Down
103 changes: 72 additions & 31 deletions pages/Install.tex
Original file line number Diff line number Diff line change
Expand Up @@ -88,11 +88,23 @@ \subsection{FIRE}\label{fire}}
The content should be extracted to
\texttt{FileNameJoin[\allowbreak{}\{\allowbreak{}\$UserBaseDirectory,\ \allowbreak{}"Applications",\ \allowbreak{}"FIRE"\}]}.

We recommend to enable support for zstd, lthreads, tcmalloc, snappy and
zlib via

\begin{verbatim}
./configure --enable_zlib --enable_snappy --enable_lthreads --enable_tcmalloc --enable_zstd
\end{verbatim}

If you compile FIRE without the zstd support, you should change the
option \texttt{FIRECompressor} of \texttt{FIRECreateConfigFile} to
\texttt{"lz4"}. However, for performance reasons it is better to use the
zstd compression algorithm.

\hypertarget{linux-1}{%
\subsubsection{Linux}\label{linux-1}}

The instructions for compiling FIRE from source on Linux are provided
\href{https://bitbucket.org/feynmanIntegrals/fire/src/master/README.md}{here}.
\href{https://bitbucket.org/feynmanIntegrals/fire/src/master/}{here}.

\hypertarget{macos-1}{%
\subsubsection{macOS}\label{macos-1}}
Expand All @@ -107,25 +119,42 @@ \subsubsection{Windows}\label{windows-1}}
compile FIRE on WSL with an Ubuntu installation, but currently there is
no support for that in FeynHelpers.

\hypertarget{looptools}{%
\subsection{LoopTools}\label{looptools}}
\hypertarget{kira}{%
\subsection{Kira}\label{kira}}

On the \href{http://www.feynarts.de/looptools/}{developer's website} you
can download not only the source code but also precompiled binaries
You can download the source code of Kira from the
\href{https://gitlab.com/kira-pyred/kira}{developer's website}.
FeynHelpers does not require Kira to \emph{generate} the corresponding
yaml files. However, in order to actually do the reduction one has to
run those scripts, which is possible only when Kira is installed.

\hypertarget{linux-or-macos}{%
\subsubsection{Linux or macOS}\label{linux-or-macos}}
\hypertarget{linux-and-macos}{%
\subsubsection{Linux and macOS}\label{linux-and-macos}}

Copy the self-compiled or precompiled MathLink executable
\texttt{LoopTools} to
\texttt{FileNameJoin[\allowbreak{}\{\allowbreak{}\$UserBaseDirectory,\ \allowbreak{}"Applications",\ \allowbreak{}"FeynCalc",\ \allowbreak{}"AddOns",\ \allowbreak{}"FeynHelpers",\ \allowbreak{}"ExternalTools",\ \allowbreak{}"LoopTools"\}]}.
The instructions for compiling Kira from source on Linux or macOS are
provided \href{https://gitlab.com/kira-pyred/kira}{here}.

\hypertarget{windows-2}{%
\subsubsection{Windows}\label{windows-2}}

Rename the self-compiled or precompiled MathLink executable
\texttt{LoopTools.exe} to \texttt{LoopTools} and copy it to
\texttt{FileNameJoin[\allowbreak{}\{\allowbreak{}\$UserBaseDirectory,\ \allowbreak{}"Applications",\ \allowbreak{}"FeynCalc",\ \allowbreak{}"AddOns",\ \allowbreak{}"FeynHelpers",\ \allowbreak{}"ExternalTools",\ \allowbreak{}"LoopTools"\}]}.
It should be possible to compile Kira on WSL with an Ubuntu
installation, but currently there is no support for that in FeynHelpers.

\hypertarget{package-x}{%
\subsection{Package-X}\label{package-x}}

Package-X is not being developed or even maintained anymore. However,
the author of the tool, Hiren H. Patel, kindly gave us permission to
ship \texttt{OneLoop.m} (part of Package-X containing library of
analytic results for Passarino-Veltman functions) together with
FeynHelpers.

Therefore, no separate installation of Package-X is needed.

Please notice that you are using this library on your own risk. The lack
of maintenance means that newly discovered bugs are not going to be
fixed and there is no guarantee that it will continue to work with newer
Mathematica versions.

\hypertarget{pysecdec}{%
\subsection{pySecDec}\label{pysecdec}}
Expand All @@ -137,8 +166,16 @@ \subsection{pySecDec}\label{pysecdec}}
given loop integrals one has to run those scripts, which is possible
only when pySecDec is installed.

\hypertarget{linux-or-macos-1}{%
\subsubsection{Linux or macOS}\label{linux-or-macos-1}}
Notice that the default sector decomposition method configured in the
pySecDec method is \texttt{geometric}, which requires an external
program called \href{https://www.normaliz.uni-osnabrueck.de}{normaliz}.
Please refer to the
\href{https://secdec.readthedocs.io/en/stable/installation.html?highlight=normaliz\#the-geomethod-and-normaliz}{corresponding
section} in the pySecDec manual for further details on setting
\texttt{normaliz} up.

\hypertarget{linux-or-macos}{%
\subsubsection{Linux or macOS}\label{linux-or-macos}}

It should be possible to install pySecDec via pip automatically.

Expand All @@ -148,30 +185,34 @@ \subsubsection{Windows}\label{windows-3}}
It could be possible to set up pySecDec on WSL, but currently it is
unclear whether this can work.

\hypertarget{package-x}{%
\subsection{Package-X}\label{package-x}}
\hypertarget{looptools}{%
\subsection{LoopTools}\label{looptools}}

Package-X is not being developed or even maintained anymore. However,
the author of the tool, Hiren H. Patel, kindly gave us permission to
ship \texttt{OneLoop.m} (part of Package-X containing library of
analytic results for Passarino-Veltman functions) together with
FeynHelpers.
On the \href{http://www.feynarts.de/looptools/}{developer's website} you
can download not only the source code but also precompiled binaries

Therefore, no separate installation of Package-X is needed.
\hypertarget{linux-or-macos-1}{%
\subsubsection{Linux or macOS}\label{linux-or-macos-1}}

Please notice that you are using this library on your own risk. The lack
of maintenance means that newly discovered bugs are not going to be
fixed and there is no guarantee that it will continue to work with newer
Mathematica versions.
Copy the self-compiled or precompiled MathLink executable
\texttt{LoopTools} to
\texttt{FileNameJoin[\allowbreak{}\{\allowbreak{}\$UserBaseDirectory,\ \allowbreak{}"Applications",\ \allowbreak{}"FeynCalc",\ \allowbreak{}"AddOns",\ \allowbreak{}"FeynHelpers",\ \allowbreak{}"ExternalTools",\ \allowbreak{}"LoopTools"\}]}.

\hypertarget{windows-4}{%
\subsubsection{Windows}\label{windows-4}}

Rename the self-compiled or precompiled MathLink executable
\texttt{LoopTools.exe} to \texttt{LoopTools} and copy it to
\texttt{FileNameJoin[\allowbreak{}\{\allowbreak{}\$UserBaseDirectory,\ \allowbreak{}"Applications",\ \allowbreak{}"FeynCalc",\ \allowbreak{}"AddOns",\ \allowbreak{}"FeynHelpers",\ \allowbreak{}"ExternalTools",\ \allowbreak{}"LoopTools"\}]}.

\hypertarget{qgraf}{%
\subsection{QGRAF}\label{qgraf}}

You can download the source code of QGRAF from the
\href{http://cfif.ist.utl.pt/~paulo/qgraf.html}{developer's website}.

\hypertarget{linux-and-macos}{%
\subsubsection{Linux and macOS}\label{linux-and-macos}}
\hypertarget{linux-and-macos-1}{%
\subsubsection{Linux and macOS}\label{linux-and-macos-1}}

The compilation instructions can be found in the section ``Compiling''
of the manual \texttt{qgraf-3.x.y.pdf} inside the tarball. For example,
Expand All @@ -185,8 +226,8 @@ \subsubsection{Linux and macOS}\label{linux-and-macos}}
binary file \texttt{qgraf} to
\texttt{FileNameJoin[\allowbreak{}\{\allowbreak{}\$UserBaseDirectory,\ \allowbreak{}"Applications",\ \allowbreak{}"FeynCalc",\ \allowbreak{}"AddOns",\ \allowbreak{}"FeynHelpers",\ \allowbreak{}"ExternalTools",\ \allowbreak{}"QGRAF",\ \allowbreak{}"Binary"\}]}.

\hypertarget{windows-4}{%
\subsubsection{Windows}\label{windows-4}}
\hypertarget{windows-5}{%
\subsubsection{Windows}\label{windows-5}}

To extract the source code tarball of QGRAF you need a tool that can
deal with tar.gz archives, e.g. \href{https://www.7-zip.org/}{7-zip}.
Expand Down
29 changes: 29 additions & 0 deletions pages/KiraBinaryPath.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
% !TeX program = pdflatex
% !TeX root = KiraBinaryPath.tex

\documentclass[../FeynHelpersManual.tex]{subfiles}
\begin{document}
\begin{Shaded}
\begin{Highlighting}[]

\end{Highlighting}
\end{Shaded}

\hypertarget{kirabinarypath}{
\section{KiraBinaryPath}\label{kirabinarypath}\index{KiraBinaryPath}}

\texttt{KiraBinaryPath} is an option for \texttt{KiraRunReduction} and
other Kira-related functions.

It specifies the path to the Kira binary. The default value is just
``kira''.

\subsection{See also}

\hyperlink{toc}{Overview},
\hyperlink{kiramassdimensions}{KiraMassDimensions},
\hyperlink{kirajobfilename}{KiraJobFileName},
\hyperlink{kiraintegrals}{KiraIntegrals}.

\subsection{Examples}
\end{document}
Loading

0 comments on commit 0ef7ad4

Please sign in to comment.