tsil-mma

Mathematica interface for TSIL

https://github.com/expander/tsil-mma

Science Score: 54.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: arxiv.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.1%) to scientific vocabulary

Keywords

cplusplus high-energy-physics mathematica
Last synced: 6 months ago · JSON representation ·

Repository

Mathematica interface for TSIL

Basic Info
  • Host: GitHub
  • Owner: Expander
  • License: gpl-3.0
  • Language: CMake
  • Default Branch: master
  • Size: 225 KB
Statistics
  • Stars: 5
  • Watchers: 3
  • Forks: 0
  • Open Issues: 0
  • Releases: 5
Topics
cplusplus high-energy-physics mathematica
Created over 7 years ago · Last pushed about 1 year ago
Metadata Files
Readme License Citation

README.md

TSIL-Mma

TSIL-Mma provides a Mathematica interface for the two-loop self-energy integral library TSIL [CPC 174 (2006) 133-151]. TSIL is written by Stephen P. Martin and David G. Robertson.

Building TSIL

First, TSIL must be downloaded and extracted. Afterwards, edit the TSIL Makefile and add -fPIC to TSIL_OPT:

mak TSIL_OPT = -O3 -funroll-loops -fPIC

In addition, we recommend to enable long double precision in the TSIL Makefile (enabled by default):

mak TSIL_SIZE = -DTSIL_SIZE_LONG

Afterwards, run

sh make

Building TSIL-Mma

To build TSIL-Mma, first create a build sub-directory and enter that directory:

sh mkdir build cd build

Then, call cmake to search for the Mathematica installation and for the TSIL library and header files:

sh cmake -DTSIL_DIR=/path/to/tsil -DCMAKE_CXX_FLAGS=-DTSIL_SIZE_LONG ..

The variable CMAKE_CXX_FLAGS must be set to the value of TSIL_SIZE that has been set in the TSIL Makefile (see above):

  • If TSIL has been build with long double precision (TSIL_SIZE = -DTSIL_SIZE_LONG), pass to cmake:

mak -DCMAKE_CXX_FLAGS=-DTSIL_SIZE_LONG

This is the default TSIL configuration.

  • If TSIL has been build with double precision (TSIL_SIZE = -DTSIL_SIZE_DOUBLE), pass to cmake:

mak -DCMAKE_CXX_FLAGS=-DTSIL_SIZE_DOUBLE

Finally TSIL-Mma can be build by running

sh make

Usage

To call the TSIL functions from Mathematica one has to first include the file src/LibraryLink.m (assuming one is currently in the build directory):

wl Get[FileNameJoin[{"..", "src", "LibraryLink.m"}]];

Afterwards, the TSIL-Mma LibraryLink library must be loaded using the function TSILInitialize[libName]. The function argument libName is the name of the created library, including the path. On Linux the library is called LibraryLink.so, on MacOS it is called LibraryLink.dylib. Thus, on Linux you may write:

wl libName = FileNameJoin[{"src", "LibraryLink.so"}]; TSILInitialize[libName];

When these two steps are done, the TSIL functions can be called, for example:

```wl x = 1; y = 2; z = 3; u = 4; v = 5; s = 10; qq = 1;

(* evaluate all TSIL integral functions *) Print[TSILEvaluate[x, y, z, u, v, s, qq]];

(* individual TSIL integral functions *) Print["A(x,qq) = ", TSILA[x, qq]]; Print["Ap(x,qq) = ", TSILAp[x, qq]]; Print["Aeps(x,qq) = ", TSILAeps[x, qq]]; Print["B(x,y,s,qq) = ", TSILB[x, y, s, qq]]; Print["Bp(x,y,s,qq) = ", TSILBp[x, y, s, qq]]; Print["dBds(x,y,s,qq) = ", TSILdBds[x, y, s, qq]]; Print["Beps(x,y,s,qq) = ", TSILBeps[x, y, s, qq]]; Print["I(x,y,z,qq) = ", TSILI[x, y, z, qq]]; Print["Ip(x,y,z,qq) = ", TSILIp[x, y, z, qq]]; Print["Ip2(x,y,z,qq) = ", TSILIp2[x, y, z, qq]]; Print["Ipp(x,y,z,qq) = ", TSILIpp[x, y, z, qq]]; Print["Ip3(x,y,z,qq) = ", TSILIp3[x, y, z, qq]]; Print["M(x,y,z,u,v,s) = ", TSILM[x, y, z, u, v, s]]; Print["S(x,y,z,s,qq) = ", TSILS[x, y, z, s, qq]]; Print["T(x,y,z,s,qq) = ", TSILT[x, y, z, s, qq]]; Print["Tbar(x,y,z,s,qq) = ", TSILTbar[x, y, z, s, qq]]; Print["U(x,y,z,u,s,qq) = ", TSILU[x, y, z, u, s, qq]]; Print["V(x,y,z,u,s,qq) = ", TSILV[x, y, z, u, s, qq]]; ```

A full example script can be found in example/example.m. It can be run from the build directory as:

wl math -run '<< "../example/example.m"'

Author

TSIL-Mma is written by Alexander Voigt, RWTH Aachen University.

Copying

TSIL-Mma is licenced under the GNU General Public License (GNU GPL) version 3.

Owner

  • Name: Alexander Voigt
  • Login: Expander
  • Kind: user
  • Location: Flensburg
  • Company: Hochschule Flensburg

since 2019 lecturer at HS Flensburg, 2016-2019 Researcher at RWTH Aachen University, 2014-2016 Researcher at DESY Hamburg, 2010-2014 Researcher at TU Dresden

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Voigt"
  given-names: "Alexander"
  orcid: "https://orcid.org/0000-0001-8963-6512"
title: "TSIL-Mma"
version: 1.2.0
date-released: 2022-09-04
url: "https://github.com/Expander/tsil-mma"
license: GPL-3.0

GitHub Events

Total
  • Push event: 2
Last Year
  • Push event: 2

Issues and Pull Requests

Last synced: over 1 year ago

All Time
  • Total issues: 2
  • Total pull requests: 1
  • Average time to close issues: about 4 hours
  • Average time to close pull requests: 1 minute
  • Total issue authors: 2
  • Total pull request authors: 1
  • Average comments per issue: 6.5
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • ammohseni (1)
  • Expander (1)
Pull Request Authors
  • Expander (1)
Top Labels
Issue Labels
Pull Request Labels