|
|
A048723
|
|
Binary "exponentiation" without carries: {0..y}^{0..x}, where y (column index) is binary encoding of GF(2)-polynomial and x (row index) is the exponent.
|
|
22
|
|
|
1, 0, 1, 0, 1, 1, 0, 1, 2, 1, 0, 1, 4, 3, 1, 0, 1, 8, 5, 4, 1, 0, 1, 16, 15, 16, 5, 1, 0, 1, 32, 17, 64, 17, 6, 1, 0, 1, 64, 51, 256, 85, 20, 7, 1, 0, 1, 128, 85, 1024, 257, 120, 21, 8, 1, 0, 1, 256, 255, 4096, 1285, 272, 107, 64, 9, 1
(list;
table;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
0,9
|
|
LINKS
|
|
|
FORMULA
|
a(n) = Xpower( (n-((trinv(n)*(trinv(n)-1))/2)), (((trinv(n)-1)*(((1/2)*trinv(n))+1))-n) );
|
|
EXAMPLE
|
1 0 0 0 0 0 0 0 0 ...
1 1 1 1 1 1 1 1 1 ...
1 2 4 8 16 32 64 128 256 ...
1 3 5 15 17 51 85 255 257 ...
1 4 16 64 256 1024 4096 16384 65536 ...
|
|
MAPLE
|
# Xmult and trinv have been given in A048720.
Xpower := proc(nn, mm) option remember; if(0 = mm) then RETURN(1); # By definition, also 0^0 = 1. else RETURN(Xmult(nn, Xpower(nn, mm-1))); fi; end;
|
|
MATHEMATICA
|
trinv[n_] := Floor[(1 + Sqrt[1 + 8*n])/2];
Xmult[nn_, mm_] := Module[{n = nn, m = mm, s = 0}, While[n > 0, If[1 == Mod[n, 2], s = BitXor[s, m]]; n = Floor[n/2]; m = m*2]; s];
Xpower[nn_, mm_] := Xpower[nn, mm] = If[0 == mm, 1, Xmult[nn, Xpower[nn, mm - 1]]];
a[n_] := Xpower[n - (trinv[n]*(trinv[n] - 1))/2, (trinv[n] - 1)*((1/2)* trinv[n] + 1) - n];
|
|
CROSSREFS
|
|
|
KEYWORD
|
|
|
AUTHOR
|
|
|
STATUS
|
approved
|
|
|
|