login
The OEIS Foundation is supported by donations from users of the OEIS and by a grant from the Simons Foundation.

 

Logo


Hints
(Greetings from The On-Line Encyclopedia of Integer Sequences!)
A163332 Self-inverse permutation of the integers for constructing the Peano curve in an N X N grid. 15
0, 1, 2, 5, 4, 3, 6, 7, 8, 15, 16, 17, 14, 13, 12, 9, 10, 11, 18, 19, 20, 23, 22, 21, 24, 25, 26, 47, 46, 45, 48, 49, 50, 53, 52, 51, 44, 43, 42, 39, 40, 41, 38, 37, 36, 29, 28, 27, 30, 31, 32, 35, 34, 33, 54, 55, 56, 59, 58, 57, 60, 61, 62, 69, 70, 71, 68, 67, 66, 63, 64, 65 (list; graph; refs; listen; history; text; internal format)
OFFSET

0,3

COMMENTS

The integers [0,(3^k)-1] are confined to range [0,(3^k)-1].

From Kevin Ryde, Sep 04 2020: (Start)

To calculate a(n), write n in ternary digits n[k],..,n[0], where n[0] is the least significant digit.  Then the ternary digits of a(n) are a[j] = k^{n[j+1]+n[j+3]+...}(n[j]) where Peano's complement operator k^{s}(d) = d if s even or 2-d if s odd.

A single complement is k(d) = 2-d and the "exponent" is repeats k(k(k(...))).  Sum s = n[j+1] + n[j+3] + ... is every second digit above j, so digit j flips 0 <-> 2 when an odd number of odd digits (1's) among these.  The complement does not change digit parity so a second transformation re-complements back to the original digits and so self-inverse a(a(n)) = n.

Peano's curve is formed by digits of a(n) put alternately to x and y coordinates, so a(n) maps between the Peano curve the ternary Z-order curve per the formulas in A163528, A163529.

(End)

LINKS

Antti Karttunen, Table of n, a(n) for n = 0..59048

Giuseppe Peano, Sur une courbe, qui remplit toute une aire plane, Mathematische Annalen, volume 36, number 1, 1890, pages 157-160.  Also EUDML (link to GDZ).

Index entries for sequences that are permutations of the natural numbers

FORMULA

a(n) = A163327(A163333(A163327(n))).

MATHEMATICA

a[n_] := FromDigits[With[{d = Reverse@IntegerDigits[n, 3]}, Reverse@Table[

  If[EvenQ@Total@d[[j+1 ;; ;; 2]], d[[j]], 2-d[[j]]], {j, Length@d}]], 3];

Array[a, 100] (* Andrey Zabolotskiy, Apr 08 2021, after Kevin Ryde *)

PROG

(MIT Scheme:)

(define (A163332 n) (let loop ((z 0) (n n) (i 0)) (let ((x (modulo n 3)) (y (modulo (floor->exact (/ n 3)) 3))) (cond ((zero? n) z) ((and (= 1 x) (= 1 y)) (loop (+ (* 4 (expt 3 i)) (complement-i-lsts z i)) (floor->exact (/ n 9)) (+ i 2))) ((= 1 x) (loop (+ (* (+ (* y 3) 1) (expt 3 i)) (complement-i-oddpos-lsts z (/ i 2))) (floor->exact (/ n 9)) (+ i 2))) ((= 1 y) (loop (+ (* (+ 3 (- 2 x)) (expt 3 i)) (complement-i-evenpos-lsts z (/ i 2))) (floor->exact (/ n 9)) (+ i 2))) (else (loop (+ (* (+ (* y 3) x) (expt 3 i)) z) (floor->exact (/ n 9)) (+ i 2)))))))

(define (complement-i-lsts n i) (if (zero? i) n (+ (- 2 (modulo n 3)) (* 3 (complement-i-lsts (floor->exact (/ n 3)) (-1+ i))))))

(define (complement-i-evenpos-lsts n i) (if (zero? i) n (+ (- 2 (modulo n 3)) (* 3 (complement-i-oddpos-lsts (floor->exact (/ n 3)) (-1+ i))))))

(define (complement-i-oddpos-lsts n i) (+ (* 3 (complement-i-evenpos-lsts (floor->exact (/ n 3)) i)) (modulo n 3)))

(PARI) a(n) = my(v=digits(n, 3)); for(start=2, 3, my(s=0); forstep(i=start, #v, 2, s+=v[i-1]; if(s%2, v[i]=2-v[i]))); fromdigits(v, 3); \\ Kevin Ryde, Sep 04 2020

CROSSREFS

Coordinates using this transform: A163528, A163529.

A163334 & A163336 give two variants of the Peano curve in an N X N grid.

Cf. A163355 (Hilbert curve).

Sequence in context: A111449 A210800 A222235 * A275105 A128173 A265362

Adjacent sequences:  A163329 A163330 A163331 * A163333 A163334 A163335

KEYWORD

nonn

AUTHOR

Antti Karttunen, Jul 29 2009

EXTENSIONS

Name corrected by Kevin Ryde, Aug 27 2020

STATUS

approved

Lookup | Welcome | Wiki | Register | Music | Plot 2 | Demos | Index | Browse | More | WebCam
Contribute new seq. or comment | Format | Style Sheet | Transforms | Superseeker | Recent
The OEIS Community | Maintained by The OEIS Foundation Inc.

License Agreements, Terms of Use, Privacy Policy. .

Last modified July 26 12:20 EDT 2021. Contains 346294 sequences. (Running on oeis4.)