OFFSET
0,8
COMMENTS
The representation of {f(n)} corresponds to a Lévy C Curve.
LINKS
Rémy Sigrist, Table of n, a(n) for n = 0..8192
Michael Beeler, R. William Gosper, and Richard Schroeppel, HAKMEM, MIT Artificial Intelligence Laboratory report AIM-239, February 1972. Item 135, The "C" Curve, by Gosper, page 65. Also HTML transcription.
Robert Ferréol (MathCurve), Courbe du C (ou courbe de Lévy) [in French]
Paul Lévy, Les courbes planes ou gauches et les surfaces composées de parties semblables au tout, Journal de l'École Polytechnique, July 1938 pages 227-247, and continued October 1938 pages 249-292.
Kevin Ryde, Iterations of the Lévy C Curve, section Coordinates.
Rémy Sigrist, Colored representation of f(n) in the complex plane for n = 0..2^20 (where the hue is function of n)
Rémy Sigrist, Representation of f(n) for n=0..32 in the complex plan
Wikipedia, Lévy C Curve
FORMULA
For any k >= 0:
- a(2^(4*k)) = (-4)^k,
- a(2^(4*k+1)) = (-4)^k,
- a(2^(4*k+2)) = 0,
- a(2^(4*k+3)) = -2*(-4)^k.
From Kevin Ryde, Sep 24 2020: (Start)
With complex b = 1+i,
f(2*n) = b*f(n) and f(2*n+1) = f(2*n) + i^A000120(2*n), expand and step.
f(2^k + r) = b^k + i*f(r), for 0 <= r < 2^k, replication.
f(n) = Sum_{j=0..t} i^j*b^k[j] where binary n = 2^k[0] + ... + 2^k[t] with descending powers k[0] > ... > k[t] >= 0, so change binary to base b with rotating coefficient i^0, i^1, i^2, ... at each 1-bit.
(End)
EXAMPLE
The first terms, alongside f(n) and A000120(n), are:
n a(n) f(n) A000120(n)
-- ---- ------ ----------
0 0 0 0
1 1 1 1
2 1 1+i 1
3 1 1+2*i 2
4 0 2*i 1
5 0 3*i 2
6 -1 -1+3*i 2
7 -2 -2+3*i 3
8 -2 -2+2*i 1
9 -2 -2+3*i 2
10 -3 -3+3*i 2
11 -4 -4+3*i 3
12 -4 -4+2*i 2
13 -5 -5+2*i 3
14 -5 -5+i 3
15 -5 -5 4
16 -4 -4 1
From Kevin Ryde, Sep 24 2020: (Start)
n = 2^9 + 2^8 + 2^5 + 2^2 + 2^1 = 806
f(n) = 1*b^9 + i*b^8 + i^2*b^5 + i^3*b^2 + i^4*b^1 = 23 + 37*i
so a(806) = 23 and A332252(806) = 37.
(End)
PROG
(PARI) { z=0; for (n=0, 67, print1 (real(z) ", "); z += I^hammingweight(n)) }
(PARI) a(n) = my(v=binary(n), s=1); for(i=2, #v, if(v[i], v[i]=(s*=I))); real(subst(Pol(v), 'x, 1+I)); \\ Kevin Ryde, Sep 24 2020
CROSSREFS
KEYWORD
AUTHOR
Rémy Sigrist, Feb 08 2020
STATUS
approved