# Wiki

Clone wiki# HyperInt / Home

# HyperInt

This Maple program can integrate some rational linear combinations of multiple polylogarithms. The name `HyperInt`

reflects that it uses hyperlogarithms to achieve this. The main focus is the application to compute Feynman integrals, but it can be useful more generally. Developed by Erik Panzer.

## Getting started

Download the package and extract it. Start a Maple session (version 16 or above) and enter

```
read "HyperInt.mpl";
```

This is it - `HyperInt`

is ready to use. For example you can integrate `Li[2](-x)*Li[3](-1/x)/x`

with

hyperInt(polylog(2,-x)*polylog(3,-1/x)/x, x=0..infinity): fibrationBasis(%);

which gives the result `8/7*zeta[2]^3`

.
To make sure everything works properly, run "HyperTests.mpl" (which is part of the package) by either loading

```
read "HyperTests.mpl";
```

in a Maple session or calling

```
maple HyperTests.mpl
```

from the command line. **Please report any errors in the issue tracker or by email.**

## Documentation

- An extended documentation (work in progress) is available here.
- The read me file.
- The Maple worksheet "Manual.mw" (which is part of the package) is highly recommend to get used to HyperInt. It contains many commented examples and a special long section on Feynman integral computations.
- The algorithms and implementation are explained in the article:
Algorithms for the symbolic integration of hyperlogarithms with applications to Feynman integrals,

*Computer Physics Communications*, 188:148-166, March 2015. (arXiv version)

## Features added since version 1.0

`suggestIntegrationOrder(table)`

automatically determines a linearly reducible integration order (if such exists), given a polynomial reduction table computed with`cgReduction()`

.-
This is further automatized in hyperInt: Specifying the integration variables as a set (and not as a list), the order is determined automatically. For example,

hyperInt(1/((1+x)^2+y)/(y+z^2)/(1+z),{x, y, z}): fibrationBasis(%);

triggers a reduction, then one of the linearly reducible orders [y,x,z] or [y,z,x] is found and integrated. The result should be

```
7/4*zeta[3]+3*ln(2)*zeta[2]
```

# Additional material

## Periods

The `HyperInt`

package comes with reduction tables for multiple zeta values up to weight 12 and for alternating sums up to weight 8. If you use `HyperInt`

for computations involving higher weights, the lack of basis can result in poor runtime and huge expressions. Therefore you should use `loadPeriods(filename)`

(after `read "HyperInt.mpl"`

) to make reduction tables to your preferred basis available for `HyperInt`

.

The documentation explains how such files have to be set up. Below I provide alternating sums up to weigth 11, computed from the basis in `zeta_procedures`

by Oliver Schnetz, which in turn used the data (available online here) from

The Multiple Zeta Value data mine, by J. Bluemlein, D. J. Broadhurst, J. A. M. Vermaseren,

Computer Physics Communications181 (3) (2010) pages 582-625. (arXiv version)

- alternating sums of weight 9 (14 MB)
- alternating sums of weight 10 (78 MB)
- alternating sums of weight 11 (437 MB)

## Worksheets and scripts

I provide here several worksheets which might be useful if you want to use HyperInt.

# Share and contribute

If you did any calculations with HyperInt and want to share your scripts or tips, please let me know and I will upload them here.

If you want to contribute in any way (ideas for improvements, new features, extend the wiki), please do so and contact me! This wiki uses the Markdown syntax and you can use

$ git clone https://PanzerErik@bitbucket.org/PanzerErik/hyperint.git/wiki

Updated