Skip to content

Special functions, first tranche: the error functions and the exponential, logarithmic, trigonometric and hyperbolic integrals #1501

Description

@Rafael-SOWNet

Agreed on #1469. Rubi's family 8 is 1949 problems that the corpus harness doesn't run. This first tranche is 791 of them:

functions Rubi file problems
erf, erfc, erfi 8.1 Error functions 311
Ei, li 8.3 Exponential integrals 208
Si, Ci 8.4 Trig integrals 136
Shi, Chi 8.5 Hyperbolic integrals 136

(On #1469 I wrote about 655. That count left out 8.5.)

The work goes in this order:

  1. Family 8 in the corpus harness, so the number is visible before anything lands.

  2. Each function as a node, with four parts:

    • its definition and branch convention written down: Ei(x) as the principal value for x > 0, li(x) = Ei(ln x) with the same cut, erfi(x) = -i erf(i x) exactly;
    • a numerical evaluation that agrees with the definition;
    • its derivative;
    • its LaTeX and SymPy forms.

    The derivative is what lets the checks verify every answer that uses the function.

  3. Integration rules, each naming the identity it uses. A special function is never a fallback for an elementary search that failed.

erf is refused by name today (#750). The refusal goes when its node lands.

8.10's 97 formal-derivative problems aren't part of this tranche. They integrate undefined functions, such as Derivative(1)(f)(x)/f(x) to log(f(x)), so they need f(x) as a function in its own right, not any special function.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions