Sequences Related to "Floretions"
A little over 200 sequences in the OEIS contain references to something called floretions. I have two other pages listing integer sequences, here and here.
Contents
Introduction
Definitions
Catalog of Sequences I Have Verified
Extended Quaternions
Glossary
A List of Floretion-related Sequences
Introduction
This web page explains some of the algorithms that can be used to calculate those sequences. The specific sequences I have verified are listed here.
In essence, most of the "floretion" sequences come from an iterated function that begins with some initial value and produces one integer at each step of the iteration. The process is similar to how one generates sequence A014390, which gives the last two digits of the powers of 7. To calculate this sequence, you can start with 1, repeatedly multiply by 7, and write down the last 2 digits each time. Some iteration algorithms, like the example I just gave, operate on integers. Some, like the basic formula used to draw the Mandelbrot set, operate on complex numbers.
The floretion algorithms operate on a 16-element quantity that can be thought of as either a 4×4 matrix or something akin to a sedenion. Such a 16-element quantity is called a floretion. The name is deliberately similar to "quaternion", "octonion" and "sedenion" because the operations performed with them are similar. If you understand group theory, the description by Richard Mather [6] might be useful.
Complex numbers have two "dimensions", called real and imaginary. The real dimension is represented by an ordinary number, and the imaginary dimension is an ordinary number attached to a special "variable" usually called i (or in electrical engineering, j). i is commonly defined as a square root of -1, although it is important to realize that you don't have to know this to think about and work with complex numbers.
Quaternions have four "dimensions", and three of them have special variables usually called i, j and k, with the 4th dimension being an ordinary number without a special variable. Octonions have eight dimensions with 7 special variables, some of which are combinations of two of the others.
Similarly, because floretions have 16 dimensions, they have 15 special variables. There are different sets of names for these; for a list of alternatives see [5]. Here we will use the "left-right notation, ASCII version", in which the 15 special variables are called:
'i 'j 'k i' 'ii' 'ji' 'ki' j' 'ij' 'jj' 'kj' k' 'ik' 'jk' 'kk'
In addition the 16th quantity, which can be thought of as an ordinary real number, can be shown with a variable e or 'ee'.
Multiplication
For the following definitions we will assume that two floretions X and Y are defined by the following, in which all the coefficients A, B, C, ..., P, a, b, c, ..., p are ordinary numbers:
X = P + A'i + B'j + C'k + Di' + G'ii' + L'ji' + N'ki' + Ej' + J'ij' + H'jj' + O'kj' + Fk' + K'ik' + M'jk' + I'kk'
Y = p + a'i + b'j + c'k + di' + g'ii' + l'ji' + n'ki' + ej' + j'ij' + h'jj' + o'kj' + fk' + k'ik' + m'jk' + i'kk'
Fundamental to the iterative process for these sequences is the definition of floretion multiplication. Given the above X and Y, their floretion product is:
|
There is a pattern to the location and signs of the terms. If you are good at understanding groups, rings, abstract algebras and so on, see Richard Mathar's paper [6], or Creighton Dement's paper [5]. These give more elegant explanations using formal mathematical jargon.
Here I will point out just the more obvious patterns:
- Every combination of uppercase and lowercase coefficients appears exactly once.
- Each coefficient appears exactly once in each term — for example, the coefficient "k" appears once in each of the 16 terms.
- All of the "double-pairs" (Aa, Bb, Cc, Dd, and so on) appear in the first row, which is the coefficient of 'ee' for the product. (If you wish, you can think of this as meaning that each of the 6 "special variables" 'i, 'j, 'k, i', j' and k' is a square root of -1, and each of the others ('ii', 'ki', etc.) is a square root of 1).
- I have arranged the uppercase coefficients in the same order within each term and then divided the whole formula into sixteen 4x4 "blocks". Within each block there are only 4 different lowercase letters and each appears 4 times. In the top row of blocks matching uppercase letters are present (for example, block 2 has D,G,L,N and d,g,l,n). The lowercase letters appear in the same 4x4 arrangement in each of the 4 blocks they appear in.
- In each of the first six terms there are 10 minus signs; in each of the other ten terms there are 6 minus signs. (This is related to the fact that the floretions act like an extended version of quaternions; see this section for more.
- Each pair and its "case-swapped" version appear in the same term: "Ah" is in the same term as "Ha", "Ad" is on the same term as "Da", and so on. The sign is the same except when two "special variables" from the same set are being multiplied together. This is because of the property: 'i times 'j equals 'k, 'j times 'i equals -'k, and similarly for other combinations. In other words, multiplication within each set of 3 special variables works like that of quaternions (there is more in the implications of this here).
Repeated multiplication can be expressed using an exponential notation with an integer exponent. For example, X^2 is X*X, and X^3 is (X*X)*X.
Simple Coefficient Functions
There are a large number of special functions that are used to talk about floretions, and to define different types of iterative processes. These functions are mentioned by name in many of the OEIS database entries.
There are 16 functions that simply "extract" one of the coefficients of a floretion. These are all listed in the glossary. To give a couple examples, given the coeficient names A, B, etc. defined above:
ibase(X) = ieb(X) = A
ibasej(X) = ijb(X) = J
eeb(X) = tes(X) = P
Most of these functions' names follow a pattern related to the names of the 15 special quantities 'i, 'j, etc.
There are several more special functions that combine multiple coefficients by adding them:
jesleft(X) = A+B+C
jesright(X) = D+E+F
jes(X) = A+B+C+D+E+F les(X) = G+H+I+J+K+L+M+N+O
ves(X) = A+B+C+D+E+F+G+H+I+J+K+L+M+N+O+P
It is fairly easy to see, give these definitions, that:
jes(X) = jesright(X) + jesleft(X)
and
ves(X) = jes(X) + les(X) + tes(X) = jes(X) + les(X) + P
Nonlinear Coefficient Functions
There are a number of special functions that can be expressed in terms of absolote values or the Heaviside step function:
|
where abs(A) is the absolute value function, and H(A) is the Heaviside step function.
Similarly we have:
|
It is easy to see that ibasepos(X) + ibaseneg(X) = ibase(X)
Other "pos" and "neg" functions are defined similarly for all the other simple coefficient functions. We also have "pos" and "neg" versions of the summed coefficient functions jes(), jesright(), and so on, for example:
jesleftpos(X) = ibasepos(X) + jbasepos(X) + kbasepos(X)
jesrightpos(X) = baseipos(X) + basejpos(X) + basekpos(X)
vespos(X) = ibasepos(X) + jbasepos(X) + ... + kbaseipos(X) + kbasejpos(X) + tespos(X)
Sequence Functions
Most of the OEIS sequences coming out of floretions are produced using a sequence function like one of the following. Each iterates the multiplication operation with a given initial floretion "vector", extracting one or more coefficients at each step to produce a sequence of numbers:
vesseq(X) = { ves(X), ves(X^2), ves(X^3), ... }
jesseq(X) = { jes(X), jes(X^2), jes(X^3), ... }
lesseq(X) = { les(X), les(X^2), les(X^3), ... }
tesseq(X) = { tes(X), tes(X^2), tes(X^3), ... }
A Practical Example
Using the definitions so far, we can calculate sequences A113249 and A090390. Using the sample code at the bottom of this page (see here), we get the following:
Calculating A113249 : A = 'i - 'k + i' - k' - 3'jj' - 'ij' - 'ji' - 'jk' - 'kj' B = .5'kk' + .5'ij' + .5'ji' + .5 X = 'i - 1.5'k + i' - 1.5k' - .5'ii' - 2.5'jj' + 'kk' - 'jk' - 'kj' - 1 tesseq(X) == 1, -1, 4, 11, 1, 59, 484, -1009, 6241, -2761, 13924, 87251, 57121, 49139, 4072324, -7165609, 35058241, 10350959, 30492484, 559712411, 973502401, -1957852501, 30450948004, -41421000289, 174055005601, 241428053159, 9658565284, 2872244917091, 11300885699041, -25300162140061, 205383809363524, ... Calculating A090390 : X = - .5'j + .5'k - .5j' + .5k' - 2'ii' + 'jj' - 'kk' + .5'ij' + .5'ik' + .5'ji' + 'jk' + .5'ki' + 'kj' + 1 tesseq(X) == 1, 1, 9, 49, 289, 1681, 9801, 57121, 332929, 1940449, 11309769, 65918161, 384199201, 2239277041, 13051463049, 76069501249, 443365544449, 2584123765441, 15061377048201, 87784138523761, 511643454094369, ...Complex Behavior from Simple Iterations
This section shows some the more interesting patterns that floretion iteration can produce. We will start with far simpler types of iteration.
Oscillation and Exponential Growth
Consider iterating just a single integer. There are many interesting sequences of numbers calculated by an iterative formula, including the powers of 2, the Fibonacci numbers, the factorials, etc. One common type of formula for computing such a sequence is called a recurrence relation.
If the formula depends on just the previous term in the sequence, it is a 1st order recurrence relation:
1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536, 131072, 262144, 524288, 1048576, 2097152, 4194304, 8388608, 16777216, ...
MCS15520 : A0 = 1; AN+1 = 2 AN
(A000079, the powers of 2)
If it requires two previous terms, it is 2nd-order:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711, 28657, 46368, 75025, 121393, 196418, 317811, ...
MCS840 : A0 = 0; A1 = 1; AN+1 = AN + AN-1
(A000045, the Fibonacci numbers)
Both of those examples involve exponential growth. Recurrence formulas can also produce sequences that oscillate up and down:
1, 1, 2, 3, 3, 2, 1, 1, 2, 3, 3, 2, 1, 1, 2, 3, 3, 2, 1, 1, 2, 3, 3, 2, 1, 1, 2, 3, 3, 2, 1, 1, 2, 3, 3, 2, 1, 1, 2, 3, 3, 2, 1, 1, 2, 3, 3, 2, 1, 1, 2, 3, 3, 2, 1, 1, 2, 3, 3, 2, 1, 1, 2, 3, 3, 2, 1, 1, 2, 3, 3, 2, 1, 1, 2, 3, 3, 2, 1, 1, 2, 3, 3, 2, 1, 1, 2, 3, 3, 2, 1, 1, 2, 3, 3, 2, 1, 1, 2, 3, ...
MCS6988550 : A0 = 1; A1 = 1; AN+1 = AN - AN-1 + 2 (score: 6.1)
and sequences that simultaneously grow and oscillate:
2, 4, 6, 7, 8, 11, 14, 13, 12, 19, 26, 17, 8, 31, 54, 13, -28, 59, 146, -23, -192, 151, 494, -187, -868, 499, 1866, -863, -3592, 1871, 7334, -3587, -14508, 7339, 29186, -14503, -58192, 29191, 116574, -58187, -232948, 116579, 466106, -232943, -931992, 466111, 1864214, -931987, -3728188, 1864219, 7456626, -3728183, ...
MCS3616484370 : A0 = 2; A1 = 4; AN+1 = - 2 AN-1 + 5 N + 5
A "two steps forward, one step back" increasing sequence is possible with 1st-order recurrence:
1, 0, 2, 1, 3, 2, 4, 3, 5, 4, 6, 5, 7, 6, 8, 7, 9, 8, 10, 9, 11, 10, 12, 11, 13, 12, 14, 13, 15, 14, 16, 15, 17, 16, 18, 17, 19, 18, 20, 19, 21, 20, 22, 21, 23, 22, 24, 23, 25, 24, 26, 25, 27, ...
MCS125344 : A0 = 1; AN+1 = - AN + N + 1
And this one does the same thing but with a longer cycle:
1, 0, 1, 4, 5, 4, 5, 8, 9, 8, 9, 12, 13, 12, 13, 16, 17, 16, 17, 20, 21, 20, 21, 24, 25, 24, 25, 28, 29, 28, 29, 32, 33, 32, 33, 36, 37, 36, 37, 40, 41, 40, 41, 44, 45, 44, 45, 48, 49, ...
MCS6859798 : A0 = 1; A1 = 0; AN+1 = - AN-1 + 2 N
Sequences can start with apparently slow, "quiet" behavior, then suddenly go into oscillations of widely varying periods. Here are five examples all of which start with the same five numbers 2, 4, 6, 7, 6:
1, 2, 4, 6, 7, 6, 6, 6, 9, 2, 44, -202, 1535, -12386, 113126, -1143506, 12691857, -153445598, 2007484852, -28258233274, 425880984247, -6842353980906, 116745898660006, -2108268529860618, 40173847966012185, -805585227850103838, ...
MCS1769335200 : A0 = 1; A1 = 2; AN+1 = (4-N) AN + AN-1 + N2 - 4 N
(Period is 2)
1, 2, 4, 6, 7, 6, 6, 6, 5, 6, 8, -2, 3, 70, -102, -426, 2049, 1094, -28740, 42254, 346687, -1369338, -3154898, 30957990, -1972803, -615214074, 1271857136, 10990995486, -51234704965, -161314481594, 1603496587458, 987183346678, -45268774554567, 62896415402310, 1187001631277988, -4260895724625106, -28275259120367241, ...
MCS884446988 : A0 = 1; A1 = 2; AN+1 = - 2 AN - N AN-1 + 4 AN-1 + 5 N
(Period is about 3.5)
2, 4, 6, 7, 6, 4, 6, 19, 42, 52, 6, -113, -210, -44, 582, 1339, 978, -2012, -6906, -7721, 5334, 33892, 51846, 2083, -151302, -308780, -163578, 599263, 1689342, 1580980, -1905978, -8554805, -11391582, 2881348, 39937542, 71231143, 22649766, -168393788, -404736762, -304292045, 605626314, 2124128884, 2431378950, ...
MCS1784118290 : A0 = 2; A1 = 4; AN+1 = 2 AN - 3 AN-1 + 3 N + 1
(Period is about 6.5)
2, 4, 6, 7, 6, 3, 0, 1, 10, 27, 44, 45, 14, -49, -112, -111, 18, 275, 532, 533, 22, -1001, -2024, -2023, 26, 4123, 8220, 8221, 30, -16353, -32736, -32735, 34, 65571, 131108, 131109, 38, -262105, -524248, -524247, 42, 1048619, 2097196, 2097197, 46, -4194257, -8388560, -8388559, 50, 16777267, 33554484, 33554485, 54, ...
MCS445983762 : A0 = 2; A1 = 4; AN+1 = 2 AN - 2 AN-1 + N + 1
(period is exactly 8)
2, 4, 6, 7, 6, 4, 10, 55, 218, 660, 1630, 3319, 5246, 4532, -7934, -54201, -176910, -436380, -860682, -1260505, -738250, 3349924, 17091386, 51616407, 121009226, 225955444, 298776270, 65328535, -1232566482, -5256907820, -14864798030, -33174652121, -58374617374, -67625207868, 21372256486, 423615066439, ...
MCS7204960786 : A0 = 2; A1 = 4; AN+1 = 4 AN - 5 AN-1 + N2 - 1
(period is about 13.5)
Notice the similarity in the formulas of the oscillating sequences: they all start with 2 or 3 terms defined explicitly, then a very simple formula like AN+1 = N-AN-1-AN-2.
All of this is possible with just 2nd-order recurrence; even more variety is seen in 3rd and higher orders.
MCS13246852 - appears to start out with a very slow long-period
oscillation, then switches over to a steadily growing "ping-pong"
MCS796209 - similar, except that the oscillation has a longer period, about 4.5 terms per cycle
MCS206182547 - oscillation period is longer still, a bit less than 9 terms per oscillation
MCS3412692077 - staggering seqeunce with period 4 (stays at the same value for 3 terms, then jumps up by 4, then down by 3)
MCS6504710 - oscillating sequence with a secondary oscillation in the amgnitudes of the high points (and low points)
Rotation and Spirals in Complex Numbers
Let X and Y be complex numbers. We will consider the values of Yi created by the following formula:
Y0 = 1
Yi+1 = Yi * X
If X=i, the sequence of Yi values is: 1, i, -1, -i, 1, i, -1, ... If plotted in the standard way (a 2-dimensional graph with a real axis and a perpendicular imaginary axis) we see that the 4 values are arranged in a circle of radius 1 centered at the origin.
When X=1+i we get: 1, 1+i, 2i, -2+2i, -4, -4-4i, -8i, 8-8i, 16, 16+16i, ... This is a sequence that progressively gets larger while also spiraling around the origin.
The value X=(5+12i)/13 gives a sequence of values that circles around, but goes not get larger, and does not repeat: As long as you go, you will never get the same exact value twice. Expressed as exact rational numbers, the sequence is:
1, (12+5i)/13, (119+120i)/169, (828+2035i)/2197, (-239+28560i)/28561, (-145668+341525i)/371293, (-3455641+3369960i)/4826809, (-58317492+23161315i)/62748517, ...
The numerators and denominators keep getting larger, but the actual values of the fractions always remain below 1. If we express them as approximate decimal fractions, the sequence is:
1, 0.923 + 0.385i, 0.704 + 0.710i, 0.377 + 0.926i, -0.008 + 0.999i, -0.392 + 0.920i, -0.716 + 0.698i, -0.929 + 0.369i, -0.999 - 0.017i, -0.917 - 0.400i, -0.692 - 0.721i, -0.361 - 0.932i, 0.025 - 0.999i, 0.408 - 0.913i, 0.728 - 0.686i, ...
The sequence never produces exact integers again; the first 0.999 comes from the fraction 28560/28561 in the 5th term, and similar near-misses occur several more times. (5+12i)/13 happens to be close approximation of an 8th root of -1 (or a 16th root of 1).
What is the Connection?
If you look at a single component (the real component, say) of the complex number iteration, you can see patterns that are similar to those shown in the integer sequences defined by a recurrence relation. But how is this relevant? The complex number sequences are a 1st-order recurrence, in which only a single (complex) number is used at each step to compute the next value. 1st order recurrence relations in normal integer sequences can create a very simple period-2 oscillation:
1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, ...
MCS7776: A0 = 1; AN+1 = - AN
And as seen above, many different higher periods are possible in a 2nd or higher order recurrence. This one is particularly notable, it gives the imaginary component of the powers of i:
0, 1, 0, -1, 0, 1, 0, -1, 0, 1, 0, -1, 0, 1, 0, -1, 0, 1, 0, -1, 0, 1, 0, -1, 0, 1, 0, -1, 0, 1, 0, -1, ...
MCS3217541: A0 = 0; A1 = 1; A2 = 0; AN+1 = AN - AN-1 + AN-2
A Catalog of Sequences I Have Verified
Here the sequences are presented in lexicographic order, as if minus signs and any leading 0 or 1 terms were ignored. For example, "1, -1, -2, 1, 6, 5, -6, ..." is treated as if it starts "2, 1, 6, 5, 6, ...".
-1, 1, 2, 1, 1, 4, 7, 9, 14, 25, 41, 64, 103, 169, 274, 441, 713, 1156, 1871, 3025, 4894, 7921, 12817, 20736, 33551, 54289, 87842, 142129, 229969, 372100, 602071, 974169, 1576238, 2550409, 4126649, 6677056, 10803703, 17480761, 28284466, 45765225, 74049689, 119814916, 193864607, 313679521, 507544126, 821223649, 1328767777, 2149991424, 3478759199, 5628750625, 9107509826, 14736260449, 23843770273, 38580030724, 62423800999, 101003831721, 163427632718, 264431464441, 427859097161, 692290561600, 1120149658759, 1812440220361, 2932589879122, 4745030099481, 7677619978601, 12422650078084, 20100270056687, 32522920134769, 52623190191454, 85146110326225, 137769300517681, 222915410843904, 360684711361583, 583600122205489, 944284833567074, ...
A111569 : a(n) = a(n-1) + a(n-3) + a(n-4), a(0) = -1, a(1) = 1, a(2) = 2, a(3) = 1.
Floretion formula:
B = - .25'i + .25'j - .25i' + .25j' + k' - .5'kk' - .25'ik' - .25'jk' - .25'ki' - .25'kj' - .5e
H = + .75'ii' + .75'jj' + .75'kk' + .75e
4 kbaseiseq(B+H)
1, 2, -1, -2, -3, -6, -6, 1, 4, 3, 0, -5, -10, -8, 3, 8, 5, -2, -9, -12, -6, 7, 16, 10, -9, -18, -11, 4, 15, 14, -2, -16, -20, -3, 14, 17, 6, -12, -24, -11, 10, 21, 14, -8, -22, -20, 3, 20, 17, -2, -21, -24, -6, 19, 28, 10, -21, -36, -18, 19, 40, 22, -21, -42, -23, 16, 39, 26, -14, -40, -32, 9, 38, 29, -8, -39, -36, 2, 36, 38, -1, -38, -39, -6, 32, 42, 7, -34, -43, -14, 28, 46, 15, -30, -47, -22, 24, 50, 23, -26, -51, ...
A108618 : A quaternion-generated sequence calculated using the rules given in the comment box with initial seed x = .5'i + .5'j + .5'k + .5e; version: "tes".
Floretion formula:
X = .5'i + .5'j + .5'k + .5e
2 tessumseq(X)
1, -1, -2, 1, 6, 5, -6, -15, -2, 29, 34, -23, -90, -43, 138, 225, -50, -499, -398, 601, 1398, 197, -2598, -2991, 2206, 8189, 3778, -12599, -20154, 5045, 45354, 35265, -55442, -125971, -15086, 236857, 267030, -206683, -740742, -327375, 1154110, 1808861, -499358, -4117079, -3118362, 5115797, 11352522, 1120929, -21584114, -23825971, ...
A105225 : a(n+3) = 2a(n+2) - 3a(n+1) + 2a(n); a(0) = 1, a(1) = -1, a(2) = -2.
Recurrence relation: A0 = -1; A1 = -2; AN+1 = AN - 2 AN-1 + 1 (MCS111433773, score: 8.0)
Floretion formula: 2 tesseq(.5'j + .5'k + .5j' + .5k' + .5'ii' + .5)
1, 2, 11, 44, 189, 798, 3383, 14328, 60697, 257114, 1089155, 4613732, 19544085, 82790070, 350704367, 1485607536, 6293134513, 26658145586, 112925716859, 478361013020, 2026369768941, 8583840088782, 36361730124071, 154030760585064, 652484772464329, 2763969850442378, 11708364174233843, 49597426547377748, ...
A110679 : a(n+3) = 3*a(n+2) + 5*a(n+1) + a(n), a(0) = 1, a(1) = 2, a(2) = 11.
Recurrence relation: A0 = 0; A1 = 1; A2 = 2; AN+1 = 3 AN + 5 AN-1 + AN-2 (MCS204016, score: 10.9)
Floretion formula:
A = - 'j + 'k - 'ii' - 'ij' - 'ik'
B = - .5'i - .5i' - .5'ii' + .5'jj' - .5'kk' + .5'jk' + .5'kj' - .5e
C = cyc(A)
X = A*B
Y = X*C
-1 jesseq(Y)
NOTE This sequence's OEIS entry omits the -1 in front of jesseq. %%%
1, 2, 16, 64, 336, 1568, 7680, 36864, 178432, 860672, 4157440, 20070400, 96915456, 467935232, 2259419136, 10909384704, 52675280896, 254338531328, 1228055511040, 5929575645184, 28630525673472, 138240403177472, 667483719598080, 3222896482713600, 15561520826023936, 75137669201395712, ...
A110048 : Expansion of 1/((2*x+1)*(1-4*x-4*x2)).
Floretion formula:
A = + 'i - .5'j + .5'k - .5j' + .5k' - 'ii' - .5'ij' - .5'ik' - .5'ji' - .5'ki'
B = - .5'i + .5'j + 'k - .5i' + .5j' - 'kk' - .5'ik' - .5'jk' - .5'ki' - .5'kj'
-1 kbasejseq(A*B)
-3, 1, -9, 25, -33, 49, -129, 289, -513, 961, -2049, 4225, -8193, 16129, -32769, 66049, -131073, 261121, -524289, 1050625, -2097153, 4190209, -8388609, 16785409, -33554433, 67092481, -134217729, 268468225, -536870913, 1073676289, -2147483649, 4295098369, -8589934593, 17179607041, -34359738369, 68720001025, -137438953473, 274876858369, -549755813889, 1099513724929, -2199023255553, 4398042316801, -8796093022209, 17592194433025, -35184372088833, 70368727400449, -140737488355329, 281475010265089, -562949953421313, 1125899839733761, ...
A105951 : a(2n) = -(22n+1 + 1), a(2n+1) = (2n+1 - (-1)n)2.
Floretion formula:
X = - .75'i - .75i' - .75'ii' + .25'jj' + .25'kk' + .25'jk' + .25'kj' - .75
4 tesseq(X)
1, 0, 1, 3, 2, 10, 16, 28, 72, 120, 256, 528, 992, 2080, 4096, 8128, 16512, 32640, 65536, 131328, 261632, 524800, 1048576, 2096128, 4196352, 8386560, 16777216, 33558528, 67100672, 134225920, 268435456, 536854528, 1073774592, 2147450880, 4294967296, 8590000128, 17179738112, 34359869440, 68719476736, 137438691328, 274878431232, 549755289600, 1099511627776, 2199024304128, 4398044413952, 8796095119360, 17592186044416, 35184367894528, 70368752566272, 140737479966720, 281474976710656, ...
A038519 : Number of elements of GF(2n) with trace 0 and subtrace 1.
Recurrence relation: A0 = 0; A1 = 1; A2 = 3; AN+1 = 2 AN-1 + 4 AN-2 (MCS1583288, score: 9.3)
Floretion formula: tesseq(- 'i - 'j - 'k - .5i' - .5k' + .5'ii' - 'jj' + .5'kk' + 'ij' - .5'ik' - .5'ji' - .5'jk' - .5'ki' + 'kj')
0, 0, -3, 4, 0, -3, 7, -4, -3, 10, -11, 1, 13, -21, 12, 12, -34, 33, 0, -46, 67, -33, -46, 113, -100, -13, 159, -213, 87, 172, -372, 300, 85, -544, 672, -215, -629, 1216, -887, -414, 1845, -2103, 473, 2259, -3948, 2576, 1786, -6207, 6524, -790, -7993, 12731, -7314, -7203, 20724, -20045, 111, 27927, -40769, 20156, 27816, -68696, 60925, 7660, -96512, 129621, -53265, -104172, 226133, -182886, -50907, 330305, -409019, 131979, 381212, -739324, 540998, 249233, -1120536, 1280322, -291765, -1369769, 2400858, -1572087, -1078004, 3770627, -3972945, 494083, 4848631, -7743572, 4467028, 4354548, -12592203, 12210600, -112480, -16946751, 24802803, -12323080, -16834271, 41749554, ...
A110061 : Expansion of x2(-3+4x)/(1-x3+x4).
Floretion formula:
A = + .5'i + .5'j + .5'k + .5e
B = - .5'i - .25'j + .25'k - .5i' - .25j' + .25k' - .5'ii' - .25'ij' - .25'ik' - .25'ji' - .25'ki' - .5e
-4 tesseq(A*B)
1, 3, 4, 7, 11, 18, 29, 47, 76, 123, 199, 322, 521, 843, 1364, 2207, 3571, 5778, 9349, 15127, 24476, 39603, 64079, 103682, 167761, 271443, 439204, 710647, 1149851, 1860498, 3010349, 4870847, 7881196, 12752043, 20633239, 33385282, 54018521, 87403803, 141422324, 228826127, 370248451, 599074578, 969323029, 1568397607, 2537720636, 4106118243, 6643838879, 10749957122, 17393796001, 28143753123, 45537549124, 73681302247, 119218851371, 192900153618, 312119004989, 505019158607, 817138163596, 1322157322203, 2139295485799, 3461452808002, 5600748293801, 9062201101803, 14662949395604, 23725150497407, 38388099893011, 62113250390418, 100501350283429, 162614600673847, 263115950957276, 425730551631123, 688846502588399, 1114577054219522, 1803423556807921, 2918000611027443, 4721424167835364, ...
A000204 : Lucas numbers (beginning with 1): L(n) = L(n-1) + L(n-2) with L(1) = 1, L(2) = 3.
Recurrence relation: A0 = 1; A1 = 3; AN+1 = AN + AN-1 MCS860676, score: 5.3)
Floretion formula:
4 tesseq(- .25'i + .5'k - .25i' - .5j' + .5k' - .75'ii' + .75'jj' - .25'kk' + .25'jk' - .5'ki' + .25'kj' + .25)
1, 1, 3, 7, 17, 41, 99, 239, 577, 1393, 3363, 8119, 19601, 47321, 114243, 275807, 665857, 1607521, 3880899, 9369319, 22619537, 54608393, 131836323, 318281039, 768398401, 1855077841, 4478554083, 10812186007, 26102926097, 63018038201, 152139002499, 367296043199, 886731088897, 2140758220993, 5168247530883, 12477253282759, 30122754096401, 72722761475561, 175568277047523, 423859315570607, 1023286908188737, 2470433131948081, 5964153172084899, ...
A001333 : Numerators of continued fraction convergents to sqrt(2).
Recurrence relation: A0 = 1; A1 = 1; AN+1 = 2 AN + AN-1 MCS1724934, (score: 5.3)
Floretion formula: 2 tesseq(- .5'ii' - .5'jj' + .5'kk' - .5'jk' - .5'kj' + .5e)
1, 3, 7, 18, 46, 120, 316, 840, 2248, 6048, 16336, 44256, 120160, 326784, 889792, 2424960, 6613120, 18043392, 49247488, 134450688, 367134208, 1002645504, 2738510848, 7480215552, 20433258496, 55818559488, 152486858752, 416577282048, 1138061172736, 3109142691840, 8494139293696, 23206027100160, 63399259045888, 173208424808448, 473211072741376, 1292830405165056, 3532065775943680, 9649758002479104, 26363578837368832, 72026536240742400, ...
A094297 : Number of (s(0), s(1), ..., s(n)) such that 0 < s(i) < 6 and |s(i) - s(i-1)| ≤ 1 for i = 1,2,....,n, s(0) = 2, s(n) = 2.
Recurrence relation: A0 = 1; A1 = 3; A2 = 7; AN+1 = 4 AN - 2 AN-1 - 4 AN-2 (MCS26547371124, score: 15.7)
Floretion formula:
X = -2'i + 2'j + 2'k - 2i' + 2j' + 2k' - 2'ii' + 2'jj' - 'kk' - 2.5'ik' - 1.5'jk' - 2.5'ki' - 1.5'kj' - 1)
|tesseq(X)|
0, 1, -3, 13, -48, 181, -675, 2521, -9408, 35113, -131043, 489061, -1825200, 6811741, -25421763, 94875313, -354079488, 1321442641, -4931691075, 18405321661, -68689595568, 256353060613, -956722646883, 3570537526921, -13325427460800, 49731172316281, -185599261804323, 692665874901013, -2585064237799728, ...
A108946 : a(2n) = A001570(n), a(2n+1) = -A007654(n+1).
Floretion formula:
A = + .5'i - .5'k + .5i' - .5k' - 'jj' - .5'ij' - .5'ji' - .5'jk' - .5'kj'
B = + .5'i + .5i' + .5'jj' + .5'kk'
C = cyc(A)
X = A*B*C
ibaseiseq(X)
NOTE: This sequence's OEIS entry omits the "cyc(A)" part of the formula.
NOTE: tesseq(X) gives A097948
1, -4, -6, 15, 23, -56, -86, 209, 321, -780, -1198, 2911, 4471, -10864, -16686, 40545, 62273, -151316, -232406, 564719, 867351, -2107560, -3236998, 7865521, 12080641, -29354524, -45085566, 109552575, 168261623, -408855776, -627960926, 1525870529, 2343582081, -5694626340, -8746367398, 21252634831, 32641887511, -79315912984, -121821182646, 296011017105, 454642843073, -1104728155436, -1696750189646, 4122901604639, 6332357915511, -15386878263120, -23632681472398, 57424611447841, 88198367974081, -214311567528244, ...
A109731 : a(n) = - 4*a(n-2) - a(n-4), a(0) = 1, a(1) = -4, a(2) = -6, a(3) = 15.
Floretion formula:
A = + .25'i + .25i' + 'ij' + .25'jk' + .25'kj'
B = + j' + k' + 'ii'
lestesseq(A*B)
1, 4, 7, 18, 41, 100, 239, 578, 1393, 3364, 8119, 19602, 47321, 114244, 275807, 665858, 1607521, 3880900, 9369319, 22619538, 54608393, 131836324, 318281039, 768398402, 1855077841, 4478554084, 10812186007, 26102926098, 63018038201, 152139002500, 367296043199, 886731088898, 2140758220993, 5168247530884, 12477253282759, 30122754096402, 72722761475561, 175568277047524, 423859315570607, 1023286908188738, 2470433131948081, 5964153172084900, ...
A100828 : A floretion-generated sequence relating NSW and Pell numbers.
Recurrence relation: A0 = -1; A1 = 2; A2 = 1; AN+1 = AN + 3 AN-1 + AN-2 - 2 (MCS13641728725, score: 14.2)
Floretion formula:
B = - .25'i + .25'j + .5'k - .25i' + .25j' + .5k' - .5'kk' - .25'ik' - .25'jk' - .25'ki' - .25'kj' - .5
C = .5'i - .25'j + .25'k + .5i' - .25j' + .25k' - .5'ii' - .25'ij' - .25'ik' - .25'ji' - .25'ki' - .5
2 tesseq(B*C)
-1, 4, 11, 1, 59, 484, -1009, 6241, -2761, 13924, 87251, 57121, 49139, 4072324, -7165609, 35058241, 10350959, 30492484, 559712411, 973502401, -1957852501, 30450948004, -41421000289, 174055005601, 241428053159, 9658565284, 2872244917091, 11300885699041, -25300162140061, 205383809363524, -182051514004249, 732771960597121, 2413416161353439, ...
A113249 : Corresponds to m = 3 in a family of 4th order linear recurrence sequences given by a(m,n) = m4*a(n-4) + (2*m)2*a(n-3) - 4*a(m-1), a(m,0) = -1, a(m,1) = 4, a(m,2) = -13 + 6*(m-1) + 3*(m-1)2, a(m,3) = (-8+m2)2.
Floretion formula:
A(M) = 'i - 'k + i' - k' - M'jj' - 'ij' - 'ji' - 'jk' - 'kj'
B = .5'kk' + .5'ij' + .5'ji' + .5
tesseq(A(3)*B)
1, 4, 11, 27, 66, 161, 389, 940, 2271, 5483, 13238, 31961, 77161, 186284, 449731, 1085747, 2621226, 6328201, 15277629, 36883460, 89044551, 214972563, 518989678, 1252951921, 3024893521, 7302738964, 17630371451, 42563481867, 102757335186, 248078152241, 598913639669, 1445905431580, 3490724502831, 8427354437243, 20345433377318, 49118221191881, 118581875761081, 286281972714044, 691145821189171, 1668573615092387, 4028293051373946, 9725159717840282, 23478612487054508, ...
A108985 Expansion of (x+1)(x^3-x^2-x-1)/((1-x)(x^2+2x-1)(x^2+x+1)).
Floretion formula:
2 tessum(*)seq(- .5'ii' - .5'jj' + .5'kk' - .5'jk' - .5'kj' + .5e)
-1, 4, -13, 49, -181, 676, -2521, 9409, -35113, 131044, -489061, 1825201, -6811741, 25421764, -94875313, 354079489, -1321442641, 4931691076, -18405321661, 68689595569, -256353060613, 956722646884, -3570537526921, 13325427460801, -49731172316281, 185599261804324, -692665874901013, 2585064237799729, ...
A097948 : G.f.: -(1-3x2-x3)/(1+4x-4x3-x4).
Floretion formula:
A = + .5'i - .5'k + .5i' - .5k' - 'jj' - .5'ij' - .5'ji' - .5'jk' - .5'kj'
B = + .5'i + .5i' + .5'jj' + .5'kk'
C = cyc(A)
X = A*B*C
tesseq(X)
NOTE: This sequence's OEIS entry does not give any formula %%%
NOTE: ibaseiseq(X) gives A108946.
0, 1, 6, 28, 136, 656, 3168, 15296, 73856, 356608, 1721856, 8313856, 40142848, 193826816, 935878656, 4518821888, 21818802176, 105350496256, 508677193728, 2456110759936, 11859151814656, 57261050298368, 276480808452096, 1334967435001856, 6445792973815808, 31123041635270656, 150275338436345856, 725593520286466048, ...
A108051 : a(n+1) = 4*(a(n)+a(n-1)), a(1)=1, a(2)=6 (without initial term zero).
Recurrence relation: A0 = 1; A1 = 6; AN+1 = 4 AN + 4 AN-1 (MCS442284078, score: 11.3)
Floretion formula:
A = .5'i - .5'j + .5'k + .5i' - .5j' + .5k' - .5'ij' - .5'ik' - .5'ji' - .5'ki'
B = - .5'i + .5'j + .5'k - .5i' + .5j' + .5k' - .5'ik' - .5'jk' - .5'ki' - .5'kj'
tesseq(A*B)
1, 6, 28, 144, 688, 3360, 16192, 78336, 378112, 1826304, 8817664, 42577920, 205582336, 992649216, 4792926208, 23142334464, 111741042688, 539533639680, 2605098729472, 12578530000896, 60734514921472, 293252181786624, 1415946786832384, 6836795882864640, 33010970678788096, ...
A110047 : Expansion of (1+4x-12x2-16x3) / [(2x+1)(2x-1)*(4x2+4x-1)].
Floretion formula:
A = + 'i - .5'j + .5'k - .5j' + .5k' - 'ii' - .5'ij' - .5'ik' - .5'ji' - .5'ki'
B = - .5'i + .5'j + 'k - .5i' + .5j' - 'kk' - .5'ik' - .5'jk' - .5'ki' - .5'kj'
-1 tesseq(A*B)
1, 7, 31, 157, 781, 3907, 19531, 97657, 488281, 2441407, 12207031, 61035157, 305175781, 1525878907, 7629394531, 38146972657, 190734863281, 953674316407, 4768371582031, 23841857910157, 119209289550781, 596046447753907, 2980232238769531, ...
A102239 : a(n) = Sum[5i, {i, 0, n}] + 1 - Mod[Sum[5i, {i, 0, n}], 2]
Recurrence relation: A0 = 1; A1 = 1; AN+1 = 4 AN + 5 AN-1 - 2 (MCS896245254, score: 10.4)
Floretion formula: tesseq('ij' + 'ik' + 'ji' + 'jk' + 'ki' + 'kj' + 1)
1, 8, 28, 144, 656, 3200, 15296, 73984, 356608, 1722368, 8313856, 40144896, 193826816, 935886848, 4518821888, 21818834944, 105350496256, 508677324800, 2456110759936, 11859152338944, 57261050298368, 276480810549248, 1334967435001856, 6445792982204416, 31123041635270656, ...
A110046 : Expansion of (1+4x-12x2-16x3)/[(2x+1)*(2x-1)*(4x2+4x-1)].
Floretion formula:
A = + 'i - .5'j + .5'k - .5j' + .5k' - 'ii' - .5'ij' - .5'ik' - .5'ji' - .5'ki'
B = - .5'i + .5'j + 'k - .5i' + .5j' - 'kk' - .5'ik' - .5'jk' - .5'ki' - .5'kj'
tesseq(A*B)
1, 9, 7, 25, 31, 81, 127, 289, 511, 1089, 2047, 4225, 8191, 16641, 32767, 66049, 131071, 263169, 524287, 1050625, 2097151, 4198401, 8388607, 16785409, 33554431, 67125249, 134217727, 268468225, 536870911, 1073807361, 2147483647, 4295098369, 8589934591, 17180131329, 34359738367, 68720001025, 137438953471, 274878955521, 549755813887, 1099513724929, 2199023255551, 4398050705409, 8796093022207, 17592194433025, 35184372088831, 70368760954881, 140737488355327, 281475010265089, 562949953421311, 1125899973951489, ...
A107663 : a(2n) = 2*4n-1, a(2n+1) = (2(n+1)+1)2; interlaces A083420 with A028400.
Floretion formula:
A = .25'i + .25'j + .25'k + .25i' + .25j' + .25k' + .25'ii' + .25'jj' + .25'kk' + .25'ij' + .25'ik' + .25'ji' + .25'jk' + .25'ki' + .25'kj' + .25
B = .5'i + .5i' + 'ii' + 1.
4 tesseq(A*B)
NOTE, This sequence's OEIS entry omits the initial factor of 4.
1, 1, 9, 49, 289, 1681, 9801, 57121, 332929, 1940449, 11309769, 65918161, 384199201, 2239277041, 13051463049, 76069501249, 443365544449, 2584123765441, 15061377048201, 87784138523761, 511643454094369, 2982076586042449, ...
A090390 : Repeatedly multiply (1,0,0) by ([1,2,2],[2,1,2],[2,2,3]); sequence gives leading entry.
Recurrence relation: A0 = 1; A1 = 1; A2 = 1; AN+1 = 5 AN + 5 AN-1 - AN-2 (MCS1674020406, score: 11.6)
Floretion formula: tesseq(- .5'j + .5'k - .5j' + .5k' - 2'ii' + 'jj' - 'kk' + .5'ij' + .5'ik' + .5'ji' + 'jk' + .5'ki' + 'kj' + 1)
1, 10, 37, 162, 681, 2890, 12237, 51842, 219601, 930250, 3940597, 16692642, 70711161, 299537290, 1268860317, 5374978562, 22768774561, 96450076810, 408569081797, 1730726404002, 7331474697801, 31056625195210, 131557975478637, 557288527109762, 2360712083917681, 10000136862780490, ...
A110528 : a(n+3) = 3*a(n+2) + 5*a(n+1) + a(n), a(0) = 1, a(1) = 10, a(2) = 37.
Floretion formula:
A = - 'i + 'j - i' + j' - 'kk' - 'ik' - 'jk' - 'ki' - 'kj'
B = .5'i + .5i' + .5'jj' + .5'kk'
2 tesseq(A*B)
-1, 1, -25, 49, -1, 529, -1849, 289, -9025, 58081, -38809, 108241, -1560001, 2283121, -525625, 35796289, -95863681, 2666689, -681575449, 3261894769, -1289169025, 9906021841, -94109673529, 99199171681, -84332740801, 2327696411041, -4753075824025, 46970592529, -48635546218561, 176827681689649, -32189249032249, 814865951864449, -5492645610388225, ...
A106632 : G.f. (1+27x2)/[(1+3x)*(1-2x+9x2)].
Floretion formula:
A = .5'i - .5'k + .5i' - .5k' - 3'jj' - .5'ij' - .5'ji' - .5'jk' - .5'kj'
B = .5'i + .5'j + .5i' + .5j' + .5'kk' + .5'ij' + .5'ji' + .5
tesseq(A*B)
Extended Quaternions
This section is for readers who want to understand "floretions" on a more conceptual level. If you just want to calculate the various floretion-related integer sequences in OEIS, this section is not necessary.
Quaternions have four components. Notice (as defined here) that floretions have 16 components. Let's consider quantities in which the coefficients are zero in all components except the first 3 components 'i, 'j, and 'k and the final 'ee' component. If this is true, then the examples X and Y become:
X = A'i + B'j + C'k + P
Y = a'i + b'j + c'k + p
and the multiplication formula becomes:
X*Y
= ( Pa-Cb+Ap+Bc)'i
+ (+Bp-Ac+Pb+Ca)'j
+ ( Ab+Cp-Ba+Pc)'k
+ (-Aa-Bb-Cc+Pp)
Using this formula it is easy to verify that:
'i2 = 'j2 = 'k2 = 'i*'j*'k = -1
'i*'j = 'k, 'j*'i = -'k
'j*'k = 'i, 'k*'j = -'i
'k*'i = 'j, 'i*'k = -'j
Because of this and the linear nature of the multiplication definition, all floretion operations on quantities of this type produce the same answers as the corresponding quaternion operations.
What if we chose the second set of three "special variables", i' j' and k'? Our X and Y become:
X = Di' + Ej' + Fk' + P
Y = di' + ej' + fk' + p
and the multiplication formula is:
X*Y
= (-Fe+Dp+Ef+Pd)i'
+ ( Fd+Ep+Pe-Df)j'
+ ( Pf-Ed+Fp+De)k'
+ (-Dd-Ee-Ff+Pp)
Again, it is easy to verify that:
i'2 = j'2 = k'2 = i'*j'*k' = -1
i'*j' = k', j'*i' = -k'
j'*k' = i', k'*j' = -i'
k'*i' = j', i'*k' = -j'
So the floretions "emulate" the quaternions in two different ways.
Glossary
Function that takes a floretion argument X and gives the (real-valued) coefficient of the i' component. Equivalent to eib.
Function that takes a floretion argument X and gives the (real-valued) coefficient of the j' component. Equivalent to ejb.
Function that takes a floretion argument X and gives the (real-valued) coefficient of the k' component. Equivalent to ekb.
Function that takes a floretion argument X and gives the (real-valued) coefficient of the 'ee' component. Equivalent to tes.
Function that takes a floretion argument X and gives the (real-valued) coefficient of the i' component. Equivalent to basei.
Function that takes a floretion argument X and gives the (real-valued) coefficient of the j' component. Equivalent to basej.
Function that takes a floretion argument X and gives the (real-valued) coefficient of the k' component. Equivalent to basek.
Function that takes a floretion argument X and gives the (real-valued) coefficient of the 'i component. Equivalent to ieb.
Function that takes a floretion argument X and gives the (real-valued) coefficient of the 'ii' component. Equivalent to iib.
Function that takes a floretion argument X and gives the (real-valued) coefficient of the 'ij' component. Equivalent to ijb.
Function that takes a floretion argument X and gives the (real-valued) coefficient of the 'ik' component. Equivalent to ikb.
Function that takes a floretion argument X and gives the (real-valued) coefficient of the 'i component. Equivalent to basei.
Function that takes a floretion argument X and gives the (real-valued) coefficient of the 'ii' component. Equivalent to ibasei.
Function that takes a floretion argument X and gives the (real-valued) coefficient of the 'ij' component. Equivalent to ibasej.
Function that takes a floretion argument X and gives the (real-valued) coefficient of the 'ik' component. Equivalent to ibasek.
Function that takes a floretion argument X and gives the (real-valued) coefficient of the 'j component. Equivalent to jeb.
Function that takes a floretion argument X and gives the (real-valued) coefficient of the 'ji' component. Equivalent to jib.
Function that takes a floretion argument X and gives the (real-valued) coefficient of the 'jj' component. Equivalent to jjb.
Function that takes a floretion argument X and gives the (real-valued) coefficient of the 'jk' component. Equivalent to jkb.
Function that takes a floretion argument X and gives the (real-valued) coefficient of the 'j component. Equivalent to basej.
Function that takes a floretion argument X and gives the sum of the (real-valued) coefficients of the 'i, 'j, 'k, i', j' and k' components. For any X, jes(X) = jesleft(X) + jesright(X) = ieb(X) + jeb(X) + keb(X) + eib(X) + ejb(X) + ekb(X).
Function that takes a floretion argument X and gives the sum of the (real-valued) coefficients of the 'i, 'j and 'k components. For any X, jesleft(X) = ieb(X) + jeb(X) + keb(X).
Function that takes a floretion argument X and gives the sum of the (real-valued) coefficients of the i', j' and k' components. For any X, jesleft(X) = eib(X) + ejb(X) + ekb(X).
Function that takes a floretion argument X and gives the (real-valued) coefficient of the 'ji' component. Equivalent to jbasei.
Function that takes a floretion argument X and gives the (real-valued) coefficient of the 'jj' component. Equivalent to jbasej.
Function that takes a floretion argument X and gives the (real-valued) coefficient of the 'jk' component. Equivalent to jbasek.
Function that takes a floretion argument X and gives the (real-valued) coefficient of the 'k component. Equivalent to keb.
Function that takes a floretion argument X and gives the (real-valued) coefficient of the 'ki' component. Equivalent to kib.
Function that takes a floretion argument X and gives the (real-valued) coefficient of the 'kj' component. Equivalent to kjb.
Function that takes a floretion argument X and gives the (real-valued) coefficient of the 'kk' component. Equivalent to kkb.
Function that takes a floretion argument X and gives the (real-valued) coefficient of the 'k component. Equivalent to basek.
Function that takes a floretion argument X and gives the (real-valued) coefficient of the 'ki' component. Equivalent to kbasei.
Function that takes a floretion argument X and gives the (real-valued) coefficient of the 'kj' component. Equivalent to kbasej.
Function that takes a floretion argument X and gives the (real-valued) coefficient of the 'kk' component. Equivalent to kbasek.
Function that takes a floretion argument X and gives the sum of the (real-valued) coefficients of the 'ii', 'ij', 'ik', 'ji', 'jj', 'jk', 'ki', 'kj' and 'kk' components. For any X, les(X) = iib(X) + ijb(X) + ikb(X) + jib(X) + jjb(X) + jkb(X) + kib(X) + kjb(X) + kkb(X).
A one-dimensional quantity, that is a property of any real, complex, quaternion or floretion quantity.
The magnitude of a real number is its absolute value.
The magnitude of a complex number a+bi is sqrt(a2+b2).
The magnitude of a quaternion a+bi+cj+dk is sqrt(a2+b2+c2+d2). Because a quaternion has 4 components and 4 is a perfect square, any quaternion in which all 4 coefficients have the same absolute value, will have a magnitude that is twice that absolute value.
The magnitude of a floretion quantity is the square root of the sum of the squares of all 16 of the floretion's coefficients.
I use "sqrt(x)" to refer to the square root of x. If x is a positive real number, I am referring to its positive square root unless noted otherwise.
A function that converts one floretion value into another, written swap(Y) or σ(Y). The result is the value you get by exchanging the coefficient of 'ie' with that of 'ei', and similarly for each of the other 5 pairs of "asymmetrical" basis elements. So, for example, σ('i + 2j' + 2'ik' + 3'jj' + 4) = i' + 2'j + 2'ki' + 3 'jj' + 4.
It can be computed by:
σ(Y) = 0.25 ('ii' + 'jj' + 'kk' - 1) Y ('ii' + 'jj' + 'kk' - 1)
The constant ('ii'+'jj'+'kk'-1) appears twice; its magnitude is 2, so the 0.25 at the beginning merely cancels out the increase in magnitude. The swap operation can equivalently, and more succinctly, be expressed as
σ(Y) = (S Y) S where S = ('ii'+'jj'+'kk'-1)/2
Function that takes a floretion argument X and gives the (real-valued) coefficient of the 'ee' component. Equivalent to eeb.
Early Investigations
This section is a bit of a blog or journal describing my investigations into and related work on this topic.
Floretions came to my attention in November 2009, when a seqfan member posted the following comment:
I have received over the Web all the way from Germany, Creighton Dement's excellent film "Floretions: Sights and Sounds," in which not just the images but even the music is based on floretion algebra. I will screen it this Wednesday in the WSU College of Engineering's Danto Auditorium at 8 PM. I foresee some of the engineering professors in attendance will inquire about floretions; I plan to refer them to the OEIS for further information.
Someone took the advice and found that there was in fact fairly little information in the OEIS:
I did an OEIS search on "floretion" and the first two pages consisted of: 1. sequences related to floretions with few references or links, and 2. big sequences like the prime numbers or the squares which have some note about floretions buried in them. It wasn't very useful for someone looking to learn more about floretions.
This suggested to me that "floretions" would be a useful test of my Sloandora auto-recommendation system. I used it to find Floretion-related sequences in an August 2007 version of the OEIS database.
Findings From the Sloandora Investigation
As reported by the 2nd seqfan member, there were lots of OEIS entries that had little or no explanatory references, and a few (like A000330, A001541, A001792 and A001834) that had a reference buried in the middle of their dozens or hundreds of other references.
There were many sequences in OEIS that contained %o fields with text like FAMP Code: 1tesforzapseq[(.5i' + .5j' + .5'ki' + .5'kj')*(.5'i + .5'j + .5'ik' + .5'jk')]. I did not find any information on how to take such text and actually convert it into an integer sequence.
With Google searches I was able to find an old, dead website that is still available through web.archive.org:
www.crowdog.de/20801/home.html
From that archive I was able to download a JAVA archive of "FAMP version Moonlice", along with the page www.crowdog.de/Explanations.html which provided a few clues about Creighton Dement's work underlying the sequences.
I began to figure out that "1tesforzapseq" in the previous example is an example of a naming system which was still fairly obscure. In this naming system, one or more three-letter "syllables" represent different types of calculations that can be performed in each step of an iterative process.
A few OEIS entries gave tantalizing clues as to what the syllables were. For example A100213 stated:
... The elements 'i, 'j, 'k, i', j', k', 'ii', 'jj', 'kk', 'ij', 'ik', 'ji', 'jk', 'ki', 'kj', e ("floretions") are members of the quaternion product factor space Q × Q /{(1,1), (-1,-1)}. "pos" sums over positive coefficients of the above basis vectors.
Similarly A100215 stated:
... "ves" sums over all floretion basis vector coefficients for each n.
and A100216 stated:
... "les" sums over coefficients belonging to basis vectors which squared give the unit e (excluding e itself).
An actual coherent explanation of the algorithm could be found in A108618, which detailed a procedure by which that sequence could be calculated. Its %N says the algorithm described is "version: "tes"" which is another "syllable". A109620 had another example. I also found a description in A096252 that appeared to be intended for readers who understand the jargon of groups, rings or related algebras.
I also found A119953, which referred to this PDF file, which (on pages 2-3) appeared to define syllable "jes".
Sequence A108930 seemed to provide more clues, including how the spiral-like graphical plots in the videos had been produced.
Ambiguities and Omissions
There was inaccurate (or at best, confusing) use of standard terminology in some comments. For example, A103135 called itself "A floretion-generated sequence which emerges as a transformation of A000004", with a %E line from NJAS stating "Definition not clear to me. A000004 is the zero sequence! njas". Its %o line noted that the "vesforcycseq", "4lesforseq" and "vesseq" iteration algorithms, each using the same initial vector of 16 elements, gave three different sequences one of which is A000004. I guessed that this was probably what the "transformation of A000004" comment meant. (If that were a valid use of the word "transformation", then we could say that A000079 is a transformation of A000004 because both can be produced by the iteration A(n)=2*A(n-1) with different initial terms.) A102871 and A105580 made similar confusing claims. A101386, written earlier, made the same error but also explained its nonstandard word usage.
Similarly, A105770 made the bizarre statement "This sequence is 'tesrokseq' at the link 'Sequences in Context'." and also "Link to Sequences in Context contains futher details on the 'roktype' used". Inasmuch as the "Sequence in Context" field of an OEIS entry gives the three previous and three subsequent sequences when the database is ordered as in the books ([3],[4]), and inasmuch as this field is automatically generated by the OEIS server when generating the eisBTfryNNN.txt files (now obsolete), it seemed clear to me that the writer of those comments did not understand what the "%Y Sequence in context:" links are2. A105660 was similar.
A few, like A119560, gave only part of a FAMP formula without even referring to FAMP.
I found evidence (from comments added to sequences like A001834, A005251, A005319, A007483, A046717, A049611, A088137 and A094297) that Creighton Dement generated huge numbers of floretion sequences using his software, with different combinations of "syllables" and initial quaternion vectors, checking each result against existing sequences in OEIS to find matches.
What Are Floretions Useful For?
After looking at all this evidence, I concluded that the floretion algorithms used an iterative process comprised of individual steps which were similar to multiplying quaternions, but with many different types of "multiplication". At any point the state of the calculation was embodied in one or two multi-element "vectors". Each vector had 16 components, rather than 4 for normal quaternions. The algorithms appeared to have a general purpose computation capability similar in both versatility and obscurity to John Conway's FRACTRAN. It seemed difficult to see what a given formula will produce without actually performing the iteration to find out what happens; similarly it seemed that it would be difficult even for an expert to write a formula that would produce a given desired output.
This notion of universal computation seemed evident from the fact that so many different types of sequences could be produced. It was also believable because of the diversity of primitive functions ("syllables") that were available, and the large number of degrees of freedom (16 or 32 scalar quantities) that served as the "current state" of the calculation.
Soliciting and Getting Help
I wrote up most of the foregoing three sections into a single long message to the seqfan list1. It immediately precipitated several responses that developed into several threads of discussion.
- Creighton Dement turned out to be an active seqfan reader, and responded fairly soon with some apologies for the more confusing aspects. In addition he explained that much critical information had been lost because of a website that had no backups, and was unexpectedly taken down and replaced with something so dangerous that all links thereto had to be removed from OEIS (which N.J.A. Sloane reluctantly proceeded to do).
- A couple other members suggested that the notation I initially developed, derived from the Java source code and an early response from Creighton Dement, was too complex because of the profusion of coefficients with distinct alphabetic letters. For this and other reasons, these members suggested using a more abstract and indirect notation using one or two levels of subscripts.
- I began to develop this page, and N.J.A.Sloane offered to add new links to replace what was lost; I have decided to add links only after I have documented the sequences in question clearly and unambiguously (at least to the mutual satisfaction of myself and Mr. Dement).
- Several people seemed bent on convincing me to take time learning about groups, rings, and related algebras, on the impression that might help me somehow. (Since I am only interested in practical algorithms, and not theory or abstract proof, I have resisted these persuasions.)
- Eventually it seemed readers got tired of hearing about it so I began to work more quietly, resorting to individual emails to get simple answers from Creighton and others as seemed necessary.
By the 10th December 2009, I had a good solid list of 20 or so sequences thoroughly worked out, and submitted links to NJAS.
A List of Floretion-related Sequences
During my November 2009 investigation I spent a few hours in Sloandora viewing sequences and giving them "up" (related) and "down" (unrelated) ratings (read the Sloandora page for more on what that means). It found a lot of sequences that were authored by Creighton Dement but have nothing to do with his Floretion work. After a while I started down-rating sequences like A100545 and A113166 that said they were floretion-generated but provided no further clues about the floretion definition or algorithm.
Here is a list of the sequences to which I gave a positive rating. In general, the more interesting ones are the ones near the beginning of this list, which Sloandora orders with the longest entries (by total byte size) first:
A108618 A109620 A119953 A101386 A108930 A104769 A105058 A100216 A097947 A113249 A103145 A102702 A103196 A090390 A100683 A109437 A101463 A096252 A108051 A105660 A104563 A104005 A106157 A119954 A126626 A104161 A108946 A104934 A106603 A105968 A108619 A100887 A113224 A085903 A102301 A113067 A110064 A097924 A098212 A108898 A120743 A105580 A103135 A102871 A110210 A117154 A111569 A104771 A102296 A104770 A109363 A110048 A104004 A111955 A111926 A100888 A107363 A108766 A108791 A116483 A110212 A110613 A100215 A100886 A110311 A102841 A105082 A111573 A038519 A116484 A113066 A110283 A113225 A110282 A110063 A110281 A110280 A111663 A102714 A100213 A110279 A107307 A110062 A105966 A103646 A110213 A100828 A104237 A111645 A108986 A111642 A111352 A110683 A102129 A107663 A111662 A111644 A110211 A105951 A110684 A111640 A111641 A111643 A131039 A105343 A110307 A094297 A110687 A110686 A111639 A099163 A110310 A110685 A105579 A111954 A110689 A111572 A111574 A115032 A111734 A110309 A110688 A114160 A100212 A099868 A109731 A110294 A104681 A110308 A111571 A110679 A105578 A103645 A109794 A109765 A110225 A099867 A108931 A108391 A114161 A111914 A109781 A108057 A108390 A105225 A105576 A023554 A110526 A109782 A131041 A108620 A105077 A131040 A108306 A099256 A105671 A111915 A106664 A108985 A102214 A105577 A106691 A110047 A110614 A059165 A105770 A049332 A107854 A114619 A105963 A110050 A110274 A109430 A105163 A104522 A117153 A110527 A108765 A110052 A110051 A109340 A129905 A102285 A110046 A102239 A109609 A114696 A103177 A110293 A109610 A109165 A111570 A109362 A110528 A111566 A119560 A111567 A104187 A102865 A109785 A106666 A109793 A109438 A114689 A111587 A102785 A109599 A109784 A109803 A103644 A109164 A114697 A101348 A111665 A105964 A109787 A111666 A109786 A110906 A107853 A107850 A107852 A114688 A107851 A114647 A109359 A109360 A109249 A110151 A107849 A112533 A110158 A098111 A116698
Footnotes
1 : Because it was submitted by Mr. Dement, I also found A124856, "Candidate sequence for theme song for OEIS", which lacks a defining formula or Floretion but really does suit its description. Perhaps he composed it. At any rate, you should listen to the Mpeg file!
2 : I later learned that Creighton Dement had used "Sequences in Context" as the title to a few dozen web links to (now-lost) web pages (on the aforementioned dead website). Their content (still preserved via archive.org) show that they served a purpose totally unrelated to that implied by the title "Sequence in context" that is found in the %Y fields of OEIS entries.
References
[3] Neil J. A. Sloane, A Handbook of Integer Sequences, Academic Press (1973), ISBN 0-12-648550-X.
This book encouraged my developing interest in integer sequences, something that was already a hobby at age 9 after beginning to memorize the powers of 2, 3, 5, 6 and 7. It established many of the guidelines I still follow in my catalogs of sequences (notably MCS and nu-sequences), showing how to put sequences in a definitive order and other important ideas.
[4] Neil J.A. Sloane and Simon Plouffe, The Encyclopedia of Integer Sequences, Academic Press (1995), ISBN 0-12-558630-2.
[5] Creighton Dement, Floretions 2009, (version of 2010 Jan 24).
[6] Richard Mathar, Structure of the Floretion group, 2010 July 8.
Sample Code
This code is written in C and shows how to calculate a basic "tesseq" type floretion iteration:
typedef double f64; typedef struct floret { f64 a; f64 b; f64 c; f64 d; f64 e; f64 f; f64 g; f64 h; f64 i; f64 j; f64 k; f64 l; f64 m; f64 n; f64 o; f64 p; } floret; /* prototypes */ void mul_ff(floret X, floret Y, floret * prod); f64 f_tes(floret X); f64 f_ibasetes(floret X); f64 f_jesleft(floret X); f64 f_jesright(floret X); f64 f_jes(floret X); f64 f_les(floret X); f64 f_ves(floret X); char * print_float_nlz(char * dst, char * fmt, f64 x); int fp_coeff(int leadingplus, f64 val, const char * var); void f_print(floret X); void f_print(floret X); void f_tesseq(floret X, int n, int verbose); void flor1(void); /* constants */ floret fk_1 = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}; /* functions and procedures */ void mul_ff(floret X, floret Y, floret * z) { /* 1 'i 'j 'k i' 'ii' 'ji' 'ki' j' 'ij' 'jj' 'kj' k' 'ik' 'jk' 'kk' */ f64 P, A, B, C, D, G, L, N, E, J, H, O, F, K, M, I ; f64 p, a, b, c, d, g, l, n, e, j, h, o, f, k, m, i ; A = X.a; B = X.b; C = X.c; D = X.d; E = X.e; F = X.f; G = X.g; H = X.h; I = X.i; J = X.j; K = X.k; L = X.l; M = X.m; N = X.n; O = X.o; P = X.p; a = Y.a; b = Y.b; c = Y.c; d = Y.d; e = Y.e; f = Y.f; g = Y.g; h = Y.h; i = Y.i; j = Y.j; k = Y.k; l = Y.l; m = Y.m; n = Y.n; o = Y.o; p = Y.p; z->p=+P*p-A*a-B*b-C*c-D*d+G*g+L*l+N*n-E*e+J*j+H*h+O*o-F*f+K*k+M*m+I*i;// 1 z->a=+P*a+A*p+B*c-C*b-D*g-G*d-L*n+N*l-E*j-J*e-H*o+O*h-F*k-K*f-M*i+I*m;// 'i z->b=+P*b-A*c+B*p+C*a-D*l+G*n-L*d-N*g-E*h+J*o-H*e-O*j-F*m+K*i-M*f-I*k;// 'j z->c=+P*c+A*b-B*a+C*p-D*n-G*l+L*g-N*d-E*o-J*h+H*j-O*e-F*i-K*m+M*k-I*f;// 'k z->d=+P*d-A*g-B*l-C*n+D*p-G*a-L*b-N*c+E*f-J*k-H*m-O*i-F*e+K*j+M*h+I*o;// i' z->g=+P*g+A*d+B*n-C*l+D*a+G*p+L*c-N*b+E*k+J*f+H*i-O*m-F*j-K*e-M*o+I*h;// 'ii' z->l=+P*l-A*n+B*d+C*g+D*b-G*c+L*p+N*a+E*m-J*i+H*f+O*k-F*h+K*o-M*e-I*j;// 'ji' z->n=+P*n+A*l-B*g+C*d+D*c+G*b-L*a+N*p+E*i+J*m-H*k+O*f-F*o-K*h+M*j-I*e;// 'ki' z->e=+P*e-A*j-B*h-C*o-D*f+G*k+L*m+N*i+E*p-J*a-H*b-O*c+F*d-K*g-M*l-I*n;// j' z->j=+P*j+A*e+B*o-C*h-D*k-G*f-L*i+N*m+E*a+J*p+H*c-O*b+F*g+K*d+M*n-I*l;// 'ij' z->h=+P*h-A*o+B*e+C*j-D*m+G*i-L*f-N*k+E*b-J*c+H*p+O*a+F*l-K*n+M*d+I*g;// 'jj' z->o=+P*o+A*h-B*j+C*e-D*i-G*m+L*k-N*f+E*c+J*b-H*a+O*p+F*n+K*l-M*g+I*d;// 'kj' z->f=+P*f-A*k-B*m-C*i+D*e-G*j-L*h-N*o-E*d+J*g+H*l+O*n+F*p-K*a-M*b-I*c;// k' z->k=+P*k+A*f+B*i-C*m+D*j+G*e+L*o-N*h-E*g-J*d-H*n+O*l+F*a+K*p+M*c-I*b;// 'ik' z->m=+P*m-A*i+B*f+C*k+D*h-G*o+L*e+N*j-E*l+J*n-H*d-O*g+F*b-K*c+M*p+I*a;// 'jk' z->i=+P*i+A*m-B*k+C*f+D*o+G*h-L*j+N*e-E*n-J*l+H*g-O*d+F*c+K*b-M*a+I*p;// 'kk' } /* Functions that extract one or more components */ f64 f_tes(floret X) { return(X.p); } f64 f_ibasetes(floret X) { return(X.a + X.p); } f64 f_jesleft(floret X) { return(X.a+X.b+X.c); } f64 f_jesright(floret X) { return(X.d+X.e+X.f); } f64 f_jes(floret X) { return(f_jesleft(X)+f_jesright(X)); } f64 f_les(floret X) { return(X.g+X.h+X.i+X.j+X.k+X.l+X.m+X.n+X.o); } f64 f_ves(floret X) { return(f_jes(X)+f_les(X)+X.p); } char * print_float_nlz(char * dst, char * fmt, f64 x) { char * rv; rv = dst; if (rv) { sprintf(rv, fmt, x); if ((rv[0] == '0') && (rv[1] = '.')) { rv++; } } return(rv); } /* Prints one coefficient with lots of special cases to avoid printing any redundant signs or coefficients. Used by f_print. */ int fp_coeff(int leadingplus, f64 val, const char * var) { char digits[20]; char * nlz; /* Digits without leading zero */ if (val == 0) { return(0); /* We don't even want the trailing space in this case */ } if (val < 0) { nlz = print_float_nlz(digits, "%.5g", - val); } else { nlz = print_float_nlz(digits, "%.5g", val); } if ((var == 0) && (val == 1) && leadingplus) { printf("+ 1"); } else if ((var == 0) && (val == 1)) { printf("1"); } else if ((var == 0) && (val == -1)) { printf("- 1"); } else if ((var == 0) && (val >= 0) && leadingplus) { printf("+ %s", nlz); } else if ((var == 0) && (val >= 0)) { printf("%s", nlz); } else if ((var == 0) && (val < 0)) { printf("- %s", nlz); } else if ((val == 1) && leadingplus) { printf("+ %s", var); } else if (val == 1) { printf("%s", var); } else if (val == -1) { printf("- %s", var); } else if ((val >= 0) & leadingplus) { printf("+ %s%s", nlz, var); } else if (val >= 0) { printf("%s%s", nlz, var); } else { printf("- %s%s", nlz, var); } printf(" "); return(1); } void f_print(floret X) { int ft; ft = 0; ft |= fp_coeff(ft, X.a, "'i"); ft |= fp_coeff(ft, X.b, "'j"); ft |= fp_coeff(ft, X.c, "'k"); ft |= fp_coeff(ft, X.d, "i'"); ft |= fp_coeff(ft, X.e, "j'"); ft |= fp_coeff(ft, X.f, "k'"); ft |= fp_coeff(ft, X.g, "'ii'"); ft |= fp_coeff(ft, X.h, "'jj'"); ft |= fp_coeff(ft, X.i, "'kk'"); ft |= fp_coeff(ft, X.j, "'ij'"); ft |= fp_coeff(ft, X.k, "'ik'"); ft |= fp_coeff(ft, X.l, "'ji'"); ft |= fp_coeff(ft, X.m, "'jk'"); ft |= fp_coeff(ft, X.n, "'ki'"); ft |= fp_coeff(ft, X.o, "'kj'"); ft |= fp_coeff(ft, X.p, 0); } void f_tesseq(floret X, int n, int verbose) { int i; floret P; // product printf("X = "); f_print(X); printf("\n"); printf("tesseq(X) == "); P = fk_1; for(i=0; i<=n; i++) { if (verbose) { f_print(P); printf(" => "); } printf("%.15g%s", f_tes(P), verbose ? "\n" : ", "); mul_ff(P, X, &P); } printf("...\n"); } /* Constants specific to the sequences being calculated by flor1 */ floret fk_A090390 = {0, -.5, .5, 0, -.5, .5, -2, 1, -1, .5, .5, .5, 1, .5, 1, 1}; floret fk_A113249_A = {1, 0, -1, 1, 0, -1, 0, -3, 0, -1, 0, -1, -1, 0, -1, 0}; floret fk_A113249_B = {0, 0, 0, 0, 0, 0, 0, 0, .5, .5, 0, .5, 0, 0, 0, .5}; void flor1(void) { floret C; int verbose = 0; /* Change to 1 to print whole vector at each step */ printf("\nCalculating A113249 :\n"); printf("A = "); f_print(fk_A113249_A); printf("\n"); printf("B = "); f_print(fk_A113249_B); printf("\n"); mul_ff(fk_A113249_A, fk_A113249_B, &C); f_tesseq(C, 30, verbose); printf("\nCalculating A090390 :\n"); f_tesseq(fk_A090390, 20, verbose); }
This page was written in the "embarrassingly readable" markup language RHTF, and was last updated on 2024 Apr 28. s.30