Let us assume we know the Bernoulli numbers $B_{2n}$ for $n \ge 1$ and want to define them for an arbitrary index $\alpha$ (say $\alpha$ is a value in a region of the complex plane which include $\alpha$ with $\Re(\alpha) \gt 0 $). Note that we do not pretend to know (or even are interested in) $B_{0}$ or $B_{1}$.

For this so-called archaic setup the $B_{2n}$ for $n \ge 1$
just *are* the Bernoulli numbers and $B_{0}$ and $B_{1}$
only were added later by convention to make some formulas more
convenient to use. Bernoulli himself did not spell out $B_{0}$ and $B_{1}$
in his *Ars Conjectandi*, Whittaker and Watson's *A Course of Modern Analysis*
uses this enumeration and Jean-Pierre Serre, the first Abel Prize winner, in his book
*A Course in Arithmetic*.

One way to attack our problem goes back to Leonhard Euler's formula

\[ \zeta(2m) = (-1)^{m+1} 2^{2m-1} \pi^{2m} \frac{B_{2m}}{(2m)!}. \]This route was chosen by S. Ramanujan who introduced

\[ B_{\alpha}^{*} = \frac{2 \Gamma(\alpha+1) \zeta(\alpha)} {(2\pi)^\alpha}. \]Here $B_{2m}^{*} = (-1)^{m-1} B_{2m} $ for $\alpha = 2m$. However this proposal is not satisfying as Ramanujan ignores the factor $(-1)^{m+1}$ in Euler's formula and thereby deprives it of its oscillating character.

A better way to proceed was described in my blog post from August 2011
*
The Euler-Bernoulli diamond and the lost Bernoulli numbers*.
I'm going to use the definitions given there without repeating them
here. In particular the reader should look up the
*tangent Bernoulli function*,
the *secant Bernoulli function*
and the *generalized Bernoulli function*
which will show up in the plots below.

Last week I stumbled across a simple formula which might also serve as a definition and reflects the oscillating character of the Bernoulli numbers in a natural way. I haven't seen the formula elsewhere although I leafed through some literature.

\begin{equation} B_{\alpha} = \frac{\alpha !}{\pi ({4}^{\alpha}-{2}^{\alpha} ) } \int _{0}^{2\,\pi }\!{\frac {{{\rm e}^{it \left( 1-\alpha \right)}}} {1+{{\rm e}^{-2\,{{\rm e}^{it}}}}}}\, {\rm d} t \end{equation}
The formula interpolates all $B_n$ for $n \ge 2$
and obviously generalizes the relation between the Bernoulli numbers and
the tangent numbers which is D. Knuth's favorite approach to the
Bernoulli numbers (see for example the special `skipping'
section in CM 6.5 or his early writings on the computation of Bernoulli numbers).
The formula gives $B_1 = 1/2$ (which is undoubtedly the right value
for $B_1$ — see my *
Bernoulli Manifesto* for a discussion).
This is somewhat ironic since Knuth's favorite value for $B_1$ is $-1/2$.

Whether the formula may be considered as an adequate generalization in other respects remains subject of closer examination.

Below a plot comparing the zeta based tangent Bernoulli function
with the above formula over the reals $ \ge 2$.
In the plots *blue* will always denote the zeta related
function and *red* the trigonometric
related functions discussed here. The intersections of the two
curves at integer values indicate Bernoulli numbers.

However this is only the beginning of the story. If you look at my
*cheat sheet for the Euler-Bernoulli number family*
it becomes clear that the *Bernoulli tangent numbers*
have to be complemented by the *Bernoulli secant numbers*
very much like the *Euler secant numbers* $1,0,1,0,5,0,61,0,...$
have to be complemented by the *Euler tangent numbers*
$0,1,0,2,0,16,0,272,...$ — indeed only the addition of these two sequences
are called the *Euler numbers* by Richard Stanley. All four kinds of
numbers are simple transforms of the more fundamental *Euler zeta numbers*.
(If you are not familiar with these numbers I recommend Noam D. Elkies beautiful paper
*On the sums * $\sum_{k= -\infty}^{+\infty}((4k+1)^{-n}$
available from the arXiv.)

So let's denote the above *Bernoulli tangent numbers* by $B_{\alpha}^{\tau} = B_{\alpha}$
and try to find the analogous formula for the *Bernoulli secant numbers* $B_{\alpha}^{\sigma}$.
The details in my August 2011 blog post provide enough information to psych out

In the plot below the red graph represents this formula and the blue graph the zeta based secant Bernoulli function.

We can now define the *confluent Bernoulli numbers*
as the sum of the tangent Bernoulli and the secant Bernoulli numbers.

For $\alpha=1,2,\ldots,10$ we get for $\mathfrak{B}_{\alpha} $

\[ 1, \frac16, \frac{3}{56}, -\frac{1}{30}, -\frac{25}{992}, \frac{1}{42}, \frac{427}{16256}, -\frac{1}{30}, -\frac{12465}{261632}, \frac{5}{66}. \]Again we compare below the two functions, the red graph indicates $\mathfrak{B}_{\alpha}$ and the blue graph the generalized Bernoulli function. In the appendix you can find Maple code for all functions and plots.

Of course one can see things also the other way round:
Bernoulli numbers served as our *man in the middle* in our
the attack on an integral. Eliminating the Bernoulli numbers from the
formulas gives for integers $n \ge 1$

What is special about it is that the values of the integral
are *rational* multiples of $\pi$. They are listed in
the OEIS database but I leave it to your pleasure to identify them.
(And of course one can rewrite the left hand side as a contour integral.)

Looking at the integrands in the last formula we find
by superposition of the first 80 integrands
evaluated over $ [ 0, 2\pi ] $ *Bernoulli's
butterfly*:

plot([seq(Re(exp(I*t*(1-n))*(1+(exp(exp(I*t))-1)/(exp(2*exp(I*t))+1))), n=1..15)],t=0..2*Pi);

restart; with(plots): ZetaBS := z -> (Zeta(0,z,1/4) - Zeta(0,z,3/4))/(2^z-2): ZetaBG := z -> Zeta(z) + ZetaBS(z): # Tangent (classical) Bernoulli function BTF := z -> -z*Zeta(1-z): # Secant (lost) Bernoulli function BSF := z -> -z*ZetaBS(1-z): # Generalized Bernoulli function BGF := z -> -z*ZetaBG(1-z): Integral := (F,x) -> Int(F(x,t), t = 0..2*Pi)*x!/(Pi*(4^x-2^x)): List := F -> [seq([x/100,evalf(Re(Integral(F,x/100)))],x=200..1000)]: # --- Secant S := (x,t) -> exp(I*(1-x)*t)/(exp(exp(I*t))+exp(-exp(I*t))): PS := listplot(List(S), color='red'): BPS := plot(BSF(x), x=2..10, color='blue'): display(PS, BPS, title=`Secant`, thickness=2); # --- Tangent T := (x,t) -> exp(I*(1-x)*t)/(1+exp(-2*exp(I*t))): PT := listplot(List(T), color='red'): BPT := plot(BTF(x), x=2..10, color='blue'): display(PT, BPT, title=`Tangent`, thickness=2); # --- Confluent ST := (x,t) -> exp(I*t*(1-x))*(1+(exp(exp(I*t))-1)/(exp(2*exp(I*t))+1)): PST := listplot(List(ST), color='red'): BST := plot(BGF(x), x=2..10, color='blue'): display(PST,BST, title=`Secant and Tangent`, thickness=2);

zetaBS = lambda z: (hurwitz_zeta(z,1/4) - hurwitz_zeta(z,3/4))/(2^z-2) zetaBG = lambda z: zeta(z) + zetaBS(z) # Tangent (classical) Bernoulli function BTF = lambda z: -z*zeta(1-z) # Secant (lost) Bernoulli function BSF = lambda z: -z*zetaBS(1-z) # Generalized Bernoulli function BGF = lambda z: -z*zetaBG(1-z)

The plot functions are by fidbc given at 'ask sagemath'.

import numpy as np import matplotlib.pyplot as plt def secant( n ): i = np.complex(0,1) def func(t): return np.exp(i*t*(1-n))/(np.exp(np.exp(i*t))+ np.exp(-np.exp(i*t))) return func def tangent( n ): i = np.complex(0,1) def func(t): return np.exp(i*t*(1-n))*(1+(np.exp(-2*np.exp(i*t)))) return func def confluent( n ): i = np.complex(0,1) def func(t): return np.exp(i*t*(1-n))*(1+(np.exp(np.exp(i*t))-1)/ (np.exp(2*np.exp(i*t))+1)) return func def plot_butterfly(get_func, n ): t = np.arange(0.,2*np.pi,0.01) for i in range(n): func = get_func(i) plt.plot(t,np.real(func(t))) plt.show() plot_butterfly(secant, 80) plot_butterfly(tangent, 80) plot_butterfly(confluent, 80)

Copyright Peter Luschny, 2015. Maple and Sage code is licensed under a Creative Commons Attribution Share Alike 3.0 license.