What this calculator does
This tool tabulates the hyperbolic sine integral Shi(x) and the hyperbolic cosine integral Chi(x) across a range of x-values you define, and plots both curves on a single graph. They are the hyperbolic analogues of the trigonometric sine and cosine integrals Si(x) and Ci(x), and appear in heat conduction, signal analysis, and the asymptotics of special functions.
How to use it
Enter three numbers: the initial value of x (the first row), the increment (step) between successive rows, and the number of iterations (how many rows to generate). The table then runs over \(x_i = \text{startX} + i\cdot\text{stepX}\) for \(i = 0\) to \(\text{count}-1\). For example, start 0, step 0.5, count 3 produces rows at x = 0, 0.5, and 1.0.
The formulas explained
By definition \(\operatorname{Shi}(x) = \int_0^x \frac{\sinh t}{t}\,dt\) and \(\operatorname{Chi}(x) = \gamma + \ln|x| + \int_0^x \frac{\cosh t - 1}{t}\,dt\), where \(\gamma \approx 0.5772156649\) is the Euler-Mascheroni constant. The calculator evaluates the equivalent fast-converging power series $$\operatorname{Shi}(x) = \sum_{k=0}^{\infty} \frac{x^{2k+1}}{(2k+1)\,(2k+1)!} \qquad \operatorname{Chi}(x) = \gamma + \ln x + \sum_{k=1}^{\infty} \frac{x^{2k}}{(2k)\,(2k)!}$$ Terms are accumulated by ratio update to avoid factorial overflow, stopping once a term is negligible.
Worked example
At x = 1: $$\operatorname{Shi}(1) = 1 + \frac{1}{18} + \frac{1}{600} + \frac{1}{35280} + \cdots \approx 1.0572509$$ $$\operatorname{Chi}(1) = 0.5772157 + \ln 1 + \frac{1}{4} + \frac{1}{96} + \frac{1}{4320} + \cdots \approx 0.8378695$$
FAQ
Why is Chi(0) shown as undefined? Chi(x) contains \(\ln x\), which diverges to \(-\infty\) as \(x \to 0\), so Chi is not finite at zero.
What about negative x? Shi is an odd function, so \(\operatorname{Shi}(-x) = -\operatorname{Shi}(x)\) and is computed normally. Chi(x) is real only for \(x > 0\) (for \(x < 0\) it gains an imaginary part \(-i\pi\)), so the table marks Chi as undefined when \(x \le 0\).
How accurate is it? For moderate |x| (up to roughly 10) the series gives full double precision; the iteration converges in about 20-40 terms.