login
Fast "exotic addition" a o b = [ a[1]+b[1], a[1]*b[2]+a[2]*b[1] ].
0

%I #23 Jan 02 2023 12:30:47

%S 1,2,4,8,12,24,30,64,72,120,130,288,300,420,434,1024,1040,1296,1314,

%T 2400,2420,2860,2882,6912,6936,7800,7826,11760,11788,13020,13050,

%U 32768,32800,35360,35394,46656,46692,49932,49970,96000,96040,101640,101682

%N Fast "exotic addition" a o b = [ a[1]+b[1], a[1]*b[2]+a[2]*b[1] ].

%C Define binary operation "o" on pairs of vectors a,b: a o b = [ a[1]+b[1], a[1]*b[2]+a[2]*b[1] ], define scalar multiplication "x" on vector p: 2n x p = (n x p) o (n x p) (2n+1) x p = ((n x p) o (n x p)) o p 1 x p = p. Sequence is: a(n) = (n x p)[2] for p=[1,1] (the first component is n). Other sequences with o associative?

%H Maximilian Hasler, <a href="http://list.seqfan.eu/oldermail/seqfan/2009-December/003299.html">structure & sequences defined by "exotic multiplication"</a>, SeqFan Dec 2009. See the whole thread.

%e Set p=[1,1], a(2)=o(p,p) [2] = [1+1,1*1+1*1] [2]=[2,2] [2]=2; a(3)=o(o(p,p),p) [2]=o([2,2],[1,1]) [2] =[2+1,2*1+1*2] [2] = [3,4] [2] = 4 (note that computation is fast as in fast exponentiation because of the definition of x).

%o (PARI) \\ code by _M. F. Hasler_ |vector(20,i,a(i)[2])|

%o addi(x,y)=[x[1]+y[1],x[1]*y[2]+x[2]*y[1]];

%o a(n,poi=[1,1])=if(n<=1,poi,if(n%2,n==1&return(poi);addi(a(n-1,poi),poi),poi=a(n\2,poi);addi(poi,poi)))

%K nonn,uned

%O 1,2

%A _Georgi Guninski_, Sep 21 2010