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.

A358369 Euler transform of 2^floor(n/2), (A016116).

Original entry on oeis.org

1, 1, 3, 5, 12, 20, 43, 73, 146, 250, 475, 813, 1499, 2555, 4592, 7800, 13761, 23253, 40421, 67963, 116723, 195291, 332026, 552882, 932023, 1544943, 2585243, 4267081, 7094593, 11662769, 19281018, 31575874, 51937608, 84753396, 138772038, 225693778, 368017636
Offset: 0

Views

Author

Peter Luschny, Nov 17 2022

Keywords

Crossrefs

Sequences that can be represented as a EulerTransform(BinaryRecurrenceSequence()) include A000009, A000041, A000712, A001970, A002513, A010054, A015128, A022567, A034691, A111317, A111335, A117410, A156224, A166861, A200544, A261031, A261329, A358449.

Programs

  • Maple
    BinaryRecurrenceSequence := proc(b, c, u0:=0, u1:=1) local u;
    u := proc(n) option remember; if n < 2 then return [u0, u1][n + 1] fi;
    b*u(n - 1) + c*u(n - 2) end; u end:
    EulerTransform := proc(a) local b;
    b := proc(n) option remember; if n = 0 then return 1 fi; add(add(d * a(d),
    d = NumberTheory:-Divisors(j)) * b(n-j), j = 1..n) / n end; b end:
    a := EulerTransform(BinaryRecurrenceSequence(0, 2, 1)): seq(a(n), n=0..36);
  • Python
    from typing import Callable
    from functools import cache
    from sympy import divisors
    def BinaryRecurrenceSequence(b:int, c:int, u0:int=0, u1:int=1) -> Callable:
        @cache
        def u(n: int) -> int:
            if n < 2:
                return [u0, u1][n]
            return b * u(n - 1) + c * u(n - 2)
        return u
    def EulerTransform(a: Callable) -> Callable:
        @cache
        def b(n: int) -> int:
            if n == 0:
                return 1
            s = sum(sum(d * a(d) for d in divisors(j)) * b(n - j)
                for j in range(1, n + 1))
            return s // n
        return b
    b = BinaryRecurrenceSequence(0, 2, 1)
    a = EulerTransform(b)
    print([a(n) for n in range(37)])
  • Sage
    # uses[EulerTransform from A166861]
    b = BinaryRecurrenceSequence(0, 2, 1)
    a = EulerTransform(b)
    print([a(n) for n in range(37)])