cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

A106831 Define a triangle in which the entries are of the form +-1/(b!c!d!e!...), where the order of the factorials is important; read the triangle by rows and record and expand the denominators.

Original entry on oeis.org

2, 6, 4, 24, 12, 12, 8, 120, 48, 36, 24, 48, 24, 24, 16, 720, 240, 144, 96, 144, 72, 72, 48, 240, 96, 72, 48, 96, 48, 48, 32, 5040, 1440, 720, 480, 576, 288, 288, 192, 720, 288, 216, 144, 288, 144, 144, 96, 1440, 480, 288, 192, 288, 144, 144, 96, 480, 192, 144, 96, 192
Offset: 0

Views

Author

N. J. A. Sloane, May 22 2005

Keywords

Comments

Row n has 2^n terms. Row 0 is +1/2!. An entry +-1/b!c!d!... has two children, a left child -+1/(a+1)!b!c!... and a right child +-1/2!b!c!d!...
Let S_n = sum of entries in row n of the triangle. Then for n > 0, n!S_{n-1} is the Bernoulli number B_n.

Examples

			Woon's "Bernoulli Tree" begins like this (see also the given Wikipedia-link). This sequence gives the values of the denominators:
                                     +1
                                    ────
                                     2!
                 -1                 /  \                  +1
                ──── ............../    \.............. ─────
                 3!                                      2!2!
        +1        .         -1                 -1         .         +1
       ────      / \       ────               ────       / \      ──────
        4! ...../   \..... 2!3!               3!2! ...../   \.... 2!2!2!
       / \                 / \                 / \                 / \
      /   \               /   \               /   \               /   \
     /     \             /     \             /     \             /     \
    -1      +1         +1       -1         +1      -1          -1       +1
   ────    ────       ────     ──────     ────   ──────      ──────  ────────
    5!     2!4!       3!3!     2!2!3!     4!2!   2!3!2!      3!2!2!  2!2!2!2!
etc.
		

Crossrefs

Cf. A242179 (numerators), A050925, A050932, A000142.
Cf. A323505 (mirror image), and also A005940, A283477, A322827 for other similar trees.

Programs

  • Haskell
    a106831 n k = a106831_tabf !! n !! n
    a106831_row n = a106831_tabf !! n
    a106831_tabf = map (map (\(, , left, right) -> left * right)) $
       iterate (concatMap (\(x, f, left, right) -> let f' = f * x in
       [(x + 1, f', f', right), (3, 2, 2, left * right)])) [(3, 2, 2, 1)]
    -- Reinhard Zumkeller, May 05 2014
    
  • Maple
    Contribution from Peter Luschny, Jun 12 2009: (Start)
    The routine computes the triangle row by row and gives the numbers with their sign.
    Thus A(1)=[2]; A(2)=[ -6,4]; A(3)=[24,-12,-12,8]; etc.
    A := proc(n) local k, i, j, m, W, T; k := 2;
    W := array(0..2^n); W[1] := [1,`if`(n=0,1,2)];
    for i from 1 to n-1 do for m from k by 2 to 2*k-1 do
    T := W[iquo(m,2)]; W[m] := [ -T[1],T[2]+1,seq(T[j],j=3..nops(T))];
    W[m+1] := [T[1],2,seq(T[j],j=2..nops(T))]; od; k := 2*k; od;
    seq(W[i][1]*mul(W[i][j]!,j=2..nops(W[i])),i=iquo(k,2)..k-1) end:
    seq(print(A(i)),i=1..5); (End)
  • Mathematica
    a [n_] := Module[{k, i, j, m, w, t}, k = 2; w = Array[0&, 2^n]; w[[1]] := {1, If[n == 0, 1, 2]}; For[i = 1, i <= n-1, i++, For[m = k, m <= 2*k-1 , m = m+2, t = w[[Quotient[m, 2]]]; w[[m]] = {-t[[1]], t[[2]]+1, Sequence @@ Table[t[[j]], {j, 3, Length[t]}]}; w[[m+1]] = {t[[1]], 2, Sequence @@ Table[t[[j]], {j, 2, Length[t]}]}]; k = 2*k]; Table[w[[i, 1]]*Product[w[[i, j]]!, {j, 2, Length[w[[i]]]}], {i, Quotient[k, 2], k-1}]]; Table[a[i] , {i, 1, 6}] // Flatten // Abs (* Jean-François Alcover, Dec 20 2013, translated from Maple *)
  • PARI
    A106831off1(n) = if(!n,1, my(rl=1, m=1); while(n,if(!(n%2), rl++, m *= ((1+rl)!); rl=1); n >>= 1); (m));
    A106831(n) = A106831off1(1+n); \\ Antti Karttunen, Jan 16 2019
    
  • PARI
    A001511(n) = (1+valuation(n,2));
    A106831r1(n) = if(!n,1,if(n%2, 2*A106831r1((n-1)/2), (1+A001511(n))*A106831r1(n/2))); \\ Implements the given recurrence.
    A106831(n) = A106831r1(1+n); \\ Antti Karttunen, Jan 16 2019

Formula

From Antti Karttunen, Jan 16 2019: (Start)
If sequence is shifted one term to the right, then the following recurrence works:
a(0) = 1; and for n > 0, a(2n) = (1+A001511(2n))*a(n), a(2n+1) = 2*a(n).
(End)

Extensions

More terms from Franklin T. Adams-Watters, Apr 28 2006
Example section reillustrated by Antti Karttunen, Jan 16 2019