# Verifying DLMF with Maple and Mathematica

This wiki provides an overview of LaCASt, our LaTeX to Computer Algebra Systems (CAS) Translator, and its translations of the Digital Library of Mathematical Functions (DLMF). Specifically, we provide access to the translations for Maple and Mathematica. Additionally, each translation was verified with symbolic and numeric evaluation techniques. In the following, we present the results of our translations and evaluations.

For legal inquiries, use the methods described at https://wikitech.wikimedia.org/.

# Bug Reports

You can find a PDF with commands that illustrate the encountered errors in Mathematica here: File:Mathematica Bugs Overview.pdf

We provide the same file in the Wolfram system notebook format (NB) here: File:Mathematica Bugs Notebook File.nb

# DLMF Translations and Results

This section explains the data you can access. Below, you will find a large table that shows the overall results of translations, symbolic and numeric verifications, as well as a number of errors and aborted calculations for each DLMF chapter. Before you move on to investigating the results, please have a look at how to read the data first.

## How to read the data?

The data on this website can be considered as an extension of the DLMF but not a copy. Some labeled equations in the DLMF do not appear in this data because they were skipped or caused translation errors in both systems (Maple and Mathematica). In addition, the result tables on this website do not provide context! For checking the context, every equation in our dataset is linked directly to the equation in the DLMF. You can access the original DLMF equation by clicking on the label in the most-left column in the result tables.

You can access the results by clicking on a particular chapter below. This will load a page showing links to each section. Red links indicate that this section is empty, i.e., no results are available for that section. Clicking on a blue-inked link will load the result table for that section. Below you see an example of such a table with just two equations from different chapters. As you can see, the first entry 4.12.E1 is grayed out. This happens when the entry was skipped due to missing semantic macros in the source of the test case (flagged as `Skipped - no semantic math`

). You can see the actual semantic LaTeX source of every test case below the equation. Since most of these cases are not translated properly by LCT, we skipped them directly, i.e., they were not further processed for symbolic or numeric evaluations. In fact, those cases have not even been translated into our pipeline. However, we added the translations just for our result tables because they may provide further interesting insights into the translation process.

The most-right columns in the table show the numeric evaluation results. If an equation was not numerically verified, it shows `Failed [x/y]`

where is the number of failed calculations and is the number of all test calculations for this test case. As you can see in the second entry below 11.5.E2, 15 test calculations failed out of 25, so 10 were successful. When you click on the little `Expand`

, we show the first couple of results for the failed test cases. Since the tables are already very large, we cannot show all failed test calculations.

Clicking on `expand`

for the second entry in our example table below, we see the test result and the test values that produced this result. As explained in the paper, the calculation was simply performed on the difference of the left- and right-hand sides of the equation `LHS - RHS`

. Further explanations on why this test failed can be found in the paper.

```
Result: Complex[0.9495382353861556, -0.46093572348323536]
Test Values: {Rule[z, Power[E, Times[Complex[0, Rational[1, 6]], Pi]]], Rule[ν, 1.5]}
```

```
Result: Complex[0.7706973036767981, -0.20650772012904173]
Test Values: {Rule[z, Power[E, Times[Complex[0, Rational[1, 6]], Pi]]], Rule[ν, 0.5]}
```

DLMF | Formula | Constraints | Maple | Mathematica | Symbolic Maple |
Symbolic Mathematica |
Numeric Maple |
Numeric Mathematica |
---|---|---|---|---|---|---|---|---|

4.12.E1 | `\phi(x+1) = e^{\phi(x)}` |
`phi(x + 1) = exp(phi(x))` |
`\[Phi][x + 1] == Exp[\[Phi][x]]` |
Skipped - no semantic math | Skipped - no semantic math | - | - | |

11.5.E2 | `\StruveK{\nu}@{z} = \frac{2(\tfrac{1}{2}z)^{\nu}}{\sqrt{\pi}\EulerGamma@{\nu+\tfrac{1}{2}}}\int_{0}^{\infty}e^{-zt}(1+t^{2})^{\nu-\frac{1}{2}}\diff{t}` |
```
StruveH(nu, z) - BesselY(nu, z) = (2*((1)/(2)*z)^(nu))/(sqrt(Pi)*GAMMA(nu +(1)/(2)))*int(exp(- z*t)*(1 + (t)^(2))^(nu -(1)/(2)), t = 0..infinity)
``` |
```
StruveH[\[Nu], z] - BesselY[\[Nu], z] == Divide[2*(Divide[1,2]*z)^\[Nu],Sqrt[Pi]*Gamma[\[Nu]+Divide[1,2]]]*Integrate[Exp[- z*t]*(1 + (t)^(2))^(\[Nu]-Divide[1,2]), {t, 0, Infinity}, GenerateConditions->None]
``` |
Successful | Successful | - | Failed [15 / 25]
```
Result: Complex[0.9495382353861556, -0.46093572348323536]
Test Values: {Rule[z, Power[E, Times[Complex[0, Rational[1, 6]], Pi]]], Rule[ν, 1.5]}
``` ```
Result: Complex[0.7706973036767981, -0.20650772012904173]
Test Values: {Rule[z, Power[E, Times[Complex[0, Rational[1, 6]], Pi]]], Rule[ν, 0.5]}
``` ... skip entries to safe data |

As a summary, here is an explanation for every column of the result tables.

- DLMF
- Contains the equation label as a link to the actual equation in the DLMF. Click on the label if you need to check the context of a formula in the DLMF.
- Formula
- Contains the rendered formula and the actual semantic LaTeX source (sometimes also referred to as content-tex). More information about the semantic (or content) LaTeX can be found in
^{[1]} - Constraints
- This shows the constraints that LCT has generated by analyzing the definitions of the functions that are included in the equation. This also includes the constraints that are directly attached to a test case. For example, 11.5.E2 only has the constraint . LCT followed the definitions of the involved functions and identified several more constraints for this test case. A detailed explanation of this process was given in the paper. Note, however, that this list of constraints does not contain the manually defined global constraints that we applied for all test cases (as shown in Table 3 in the paper). This way, the result tables only show what LCT generated and applied for the numeric evaluations.
- Maple
- The translation to Maple
- Mathematica
- The translation to Mathematica
- Symbolic (Maple / Mathematica)
- The result of the symbolic evaluation. If this was skipped, no calculations have been performed on the test case.
- Numeric (Maple / Mathematica)
- The result of the numeric evaluation as explained above and in the paper.

## Links to the data

In the following, we present an overview of the translations of the DLMF equations to the CAS Maple and Mathematica.

DLMF | Formula | Translations Maple |
Translations Mathematica |
Symbolic Evaluation Maple |
Symbolic Evaluation Mathematica |
Numeric Evaluation Maple |
Numeric Evaluation Mathematica |
---|---|---|---|---|---|---|---|

DLMF | 6,545 | 4,114 (62.9%) | 4,713 (72.0%) | 1,084 (26.3%) | 1,235 (26.2%) | 698 (26.7%) | 784 (22.6%) |

The following links provide access to all results for each DLMF chapter. This will show the sections in each chapter. Please notice that many sections in a chapter might be empty (indicated by a red link color instead of a blue link). This happens when all formulae in a section have been skipped or the case analyzer was not able to parse the expression properly. In some cases, the section simply did not contain any formula.

- Algebraic and Analytic Methods
- Asymptotic Approximations
- Numerical Methods
- Elementary Functions
- Gamma Function
- Exponential, Logarithmic, Sine, and Cosine Integrals
- Error Functions, Dawson’s and Fresnel Integrals
- Incomplete Gamma and Related Functions
- Airy and Related Functions
- Bessel Functions
- Struve and Related Functions
- Parabolic Cylinder Functions
- Confluent Hypergeometric Functions
- Legendre and Related Functions
- Hypergeometric Function
- Generalized Hypergeometric Functions and Meijer
*G*-Function *q*-Hypergeometric and Related Functions- Orthogonal Polynomials
- Elliptic Integrals
- Theta Functions
- Multidimensional Theta Functions
- Jacobian Elliptic Functions
- Weierstrass Elliptic and Modular Functions
- Bernoulli and Euler Polynomials
- Zeta and Related Functions
- Combinatorial Analysis
- Functions of Number Theory
- Mathieu Functions and Hill’s Equation
- Lamé Functions
- Spheroidal Wave Functions
- Heun Functions
- Painlevé Transcendents
- Coulomb Functions
*3j,6j,9j*Symbols- Functions of Matrix Argument
- Integrals with Coalescing Saddles

### Examples

To provide you a starting point to investigate the data above, we suggest Hypergeometric Function - 15.4 Special Cases. For example, 15.4.E28

was successfully translated to Maple and Mathematica and verified symbolically and numerically in both systems despite the complexity of such a test case.

Maple | Mathematica |
---|---|

```
hypergeom([a, b], [(1)/(2)*a +(1)/(2)*b +(1)/(2)], (1)/(2)) = sqrt(Pi)*(GAMMA((1)/(2)*a +(1)/(2)*b +(1)/(2)))/(GAMMA((1)/(2)*a +(1)/(2))*GAMMA((1)/(2)*b +(1)/(2)))
``` |
```
Hypergeometric2F1[a, b, Divide[1,2]*a +Divide[1,2]*b +Divide[1,2], Divide[1,2]] == Sqrt[Pi]*Divide[Gamma[Divide[1,2]*a +Divide[1,2]*b +Divide[1,2]],Gamma[Divide[1,2]*a +Divide[1,2]]*Gamma[Divide[1,2]*b +Divide[1,2]]]
``` |

Another interesting section might be Combinatorial Analysis - 26.3 Lattice Paths: Binomial Coefficients. All expressions are relatively straight-forward. Nonetheless, 23.3.E8

failed numerically. This test case failed because Mathematica simplified the right-hand side directly to which would result in a division by zero for . Indeed, our result table show that the test evaluation failed for and (the last case was omitted because we only show the first two failed calculations to reduce the size of the result tables). This simple example shows the challenge of interpreting the data and working with computer algebra systems.

## Translations and Evaluations Overview Table

Meaning | |
---|---|

2C | Chapter Code |

S | Successful |

% | Percentage |

F | Fail |

P/T | Partially / Totally Failed |

A | Aborted |

E | Errors |

Base | The baseline performance of the translator |

Maple | The CAS Maple 2020 |

Mathematica | The CAS Mathematica |

Symbolic | Numeric | |||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|

Formulae | Translations | Maple | Mathematica | Maple | Mathematica | |||||||||||||||||

2C | Total | Base | Maple | Math | S | % | F | S | % | F | S | % | F | [P/T] | A | E | S | % | F | [P/T] | A | E |

1. AL | 227 | 60 | 102 | 103 | 36 | 35.3% | 60 | 34 | 33.0% | 69 | 14 | 23.3% | 35 | [ 12 / 23] | 7 | 4 | 14 | 20.3% | 40 | [ 9 / 31] | 11 | 4 |

2. AS | 136 | 33 | 65 | 65 | 6 | 9.2% | 47 | 6 | 9.2% | 59 | 7 | 14.9% | 33 | [ 5 / 28] | 1 | 5 | 4 | 6.8% | 38 | [ 6 / 32] | 7 | 9 |

3. NM | 53 | 36 | 40 | 40 | 6 | 15.0% | 31 | 5 | 12.5% | 35 | 1 | 3.2% | 27 | [ 9 / 18] | 0 | 2 | 0 | 0.0% | 29 | [ 8 / 21] | 6 | 0 |

4. EF | 569 | 353 | 494 | 564 | 270 | 54.7% | 221 | 304 | 53.9% | 260 | 88 | 39.8% | 126 | [ 64 / 62] | 0 | 6 | 110 | 42.3% | 146 | [ 55 / 91] | 2 | 0 |

5. GA | 144 | 38 | 130 | 139 | 41 | 31.5% | 76 | 65 | 46.8% | 74 | 39 | 51.3% | 25 | [ 12 / 13] | 4 | 8 | 30 | 40.5% | 20 | [ 9 / 11] | 13 | 9 |

6. EX | 107 | 21 | 56 | 77 | 13 | 23.2% | 43 | 18 | 23.4% | 59 | 10 | 23.2% | 31 | [ 13 / 18] | 0 | 2 | 23 | 39.0% | 32 | [ 6 / 26] | 4 | 0 |

7. ER | 149 | 35 | 101 | 120 | 52 | 51.5% | 47 | 45 | 37.5% | 75 | 21 | 44.7% | 23 | [ 10 / 13] | 2 | 1 | 21 | 28.0% | 43 | [ 13 / 30] | 9 | 1 |

8. IG | 204 | 84 | 160 | 163 | 51 | 31.9% | 102 | 65 | 39.9% | 98 | 27 | 26.5% | 61 | [ 20 / 41] | 9 | 5 | 22 | 22.4% | 44 | [ 19 / 25] | 16 | 15 |

9. AI | 235 | 36 | 180 | 179 | 54 | 30.0% | 124 | 69 | 38.5% | 110 | 34 | 27.4% | 75 | [ 41 / 34] | 4 | 8 | 30 | 27.3% | 58 | [ 38 / 20] | 14 | 7 |

10. BS | 653 | 143 | 392 | 486 | 80 | 20.4% | 209 | 115 | 23.7% | 371 | 86 | 41.1% | 59 | [ 41 / 18] | 52 | 12 | 90 | 24.2% | 151 | [ 57 / 94] | 92 | 18 |

11. ST | 124 | 48 | 121 | 112 | 39 | 32.2% | 73 | 36 | 32.1% | 76 | 25 | 34.2% | 40 | [ 14 / 26] | 3 | 5 | 21 | 27.6% | 33 | [ 8 / 25] | 10 | 11 |

12. PC | 106 | 33 | 79 | 90 | 25 | 31.6% | 50 | 18 | 20.0% | 72 | 15 | 30.0% | 24 | [ 15 / 9] | 11 | 0 | 13 | 18.0% | 43 | [ 15 / 28] | 12 | 3 |

13. CH | 260 | 126 | 252 | 254 | 75 | 29.8% | 143 | 69 | 27.2% | 185 | 14 | 9.8% | 90 | [ 55 / 35] | 37 | 2 | 23 | 12.4% | 95 | [ 59 / 36] | 45 | 21 |

14. LE | 238 | 166 | 230 | 229 | 30 | 13.0% | 163 | 30 | 13.1% | 199 | 40 | 24.5% | 93 | [ 57 / 36] | 18 | 12 | 59 | 29.6% | 92 | [ 54 / 38] | 41 | 5 |

15. HY | 206 | 148 | 198 | 197 | 46 | 23.2% | 115 | 53 | 26.9% | 144 | 17 | 14.8% | 52 | [ 34 / 18] | 23 | 23 | 23 | 16.0% | 77 | [ 52 / 25] | 29 | 6 |

16. GH | 53 | 20 | 23 | 25 | 3 | 13.0% | 16 | 2 | 8.0% | 23 | 1 | 6.2% | 9 | [ 8 / 1] | 6 | 0 | 1 | 4.3% | 10 | [ 7 / 3] | 9 | 2 |

17. QH | 175 | 1 | 53 | 124 | 23 | 43.4% | 24 | 6 | 4.8% | 118 | 0 | 0.0% | 0 | [ 0 / 0] | 1 | 23 | 13 | 11.0% | 57 | [ 52 / 5] | 39 | 5 |

18. OP | 468 | 132 | 235 | 288 | 65 | 27.6% | 148 | 101 | 35.1% | 185 | 67 | 45.3% | 50 | [ 32 / 18] | 14 | 17 | 45 | 24.3% | 68 | [ 31 / 37] | 52 | 12 |

19. EL | 516 | 103 | 252 | 416 | 39 | 15.5% | 192 | 51 | 12.2% | 365 | 18 | 9.4% | 123 | [ 44 / 79] | 34 | 17 | 18 | 4.9% | 264 | [ 49 / 215] | 61 | 15 |

20. TH | 128 | 52 | 98 | 98 | 10 | 10.2% | 68 | 1 | 1.0% | 97 | 0 | 0.0% | 32 | [ 17 / 15] | 20 | 16 | 33 | 34.0% | 40 | [ 25 / 15] | 24 | 0 |

21. MT | 32 | 0 | 0 | 0 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |

22. JA | 264 | 115 | 232 | 238 | 46 | 19.8% | 176 | 30 | 12.6% | 206 | 20 | 11.4% | 116 | [ 25 / 91] | 36 | 4 | 22 | 10.7% | 131 | [ 39 / 92] | 51 | 0 |

23. WE | 164 | 7 | 19 | 34 | 1 | 5.3% | 16 | 4 | 11.8% | 30 | 0 | 0.0% | 14 | [ 2 / 12] | 1 | 1 | 2 | 6.7% | 23 | [ 9 / 14] | 2 | 3 |

24. BP | 175 | 31 | 117 | 148 | 15 | 12.8% | 101 | 23 | 15.5% | 125 | 67 | 66.3% | 32 | [ 19 / 13] | 1 | 1 | 78 | 62.4% | 33 | [ 22 / 11] | 14 | 0 |

25. ZE | 154 | 28 | 124 | 120 | 19 | 15.3% | 90 | 48 | 40.0% | 72 | 43 | 47.8% | 29 | [ 18 / 11] | 10 | 8 | 22 | 30.5% | 22 | [ 6 / 16] | 22 | 3 |

26. CM | 136 | 31 | 78 | 87 | 20 | 25.6% | 50 | 19 | 21.8% | 68 | 30 | 60.0% | 11 | [ 8 / 3] | 2 | 7 | 44 | 64.7% | 18 | [ 10 / 8] | 5 | 1 |

27. NT | 79 | 5 | 26 | 15 | 3 | 11.5% | 17 | 6 | 40.0% | 9 | 2 | 11.8% | 6 | [ 3 / 3] | 0 | 8 | 3 | 33.3% | 6 | [ 3 / 3] | 0 | 0 |

28. MA | 267 | 52 | 97 | 110 | 7 | 7.2% | 80 | 7 | 6.4% | 103 | 6 | 7.5% | 32 | [ 12 / 20] | 26 | 15 | 3 | 2.9% | 48 | [ 13 / 35] | 33 | 17 |

29. LA | 111 | 11 | 23 | 22 | 0 | 0.0% | 21 | 0 | 0.0% | 22 | 0 | 0.0% | 19 | [ 2 / 17] | 0 | 2 | 0 | 0.0% | 21 | [ 1 / 20] | 0 | 1 |

30. SW | 71 | 14 | 19 | 26 | 0 | 0.0% | 18 | 0 | 0.0% | 26 | 0 | 0.0% | 18 | [ 5 / 13] | 0 | 0 | 0 | 0.0% | 19 | [ 2 / 17] | 5 | 1 |

31. HE | 35 | 29 | 22 | 15 | 5 | 22.7% | 13 | 2 | 13.3% | 13 | 2 | 15.4% | 10 | [ 0 / 10] | 0 | 1 | 0 | 0.0% | 8 | [ 0 / 8] | 5 | 0 |

32. PT | 67 | 43 | 57 | 57 | 3 | 5.3% | 51 | 3 | 5.3% | 54 | 1 | 2.0% | 44 | [ 7 / 37] | 4 | 2 | 0 | 0.0% | 41 | [ 2 / 39] | 8 | 5 |

33. CW | 108 | 21 | 14 | 11 | 1 | 7.1% | 13 | 0 | 0.0% | 11 | 0 | 0.0% | 5 | [ 2 / 3] | 0 | 8 | 0 | 0.0% | 11 | [ 2 / 9] | 0 | 0 |

34. TJ | 57 | 0 | 1 | 37 | 0 | 0.0% | 1 | 0 | 0.0% | 37 | 0 | 0.0% | 1 | [ 0 / 1] | 0 | 0 | 14 | 37.8% | 10 | [ 5 / 5] | 13 | 0 |

35. FM | 46 | 0 | 0 | 0 | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |

36. IC | 106 | 12 | 24 | 24 | 0 | 0.0% | 19 | 0 | 0.0% | 24 | 3 | 15.8% | 12 | [ 1 / 11] | 3 | 1 | 3 | 12.5% | 13 | [ 1 / 12] | 1 | 6 |

6623 | 2067 | 4114 | 4713 | 1084 | 26.3% | 2618 | 1235 | 26.2% | 3474 | 698 | 26.7% | 1357 | [607 / 750] | 329 | 226 | 784 | 22.6% | 1784 | [687 / 1097] | 655 | 180 |

# References

- ↑ Abdou Youssef and Bruce R. Miller, "A Contextual and Labeled Math-Dataset Derived from NIST's DLMF." In: Intelligent Computer Mathematics (CICM) 2020: 324-330. DOI: 10.1007/978-3-030-53518-6_25