Source: http://tamivox.org/xovimat/rad_int_qtrn/index.html
Timestamp: 2019-04-23 08:03:49+00:00

Document:
Radicalized integer quaternions. Radicalized integer quaternions.
Version of Saturday 30 April 2016.
§ 1 covers a few basics of quaternions.
§ 2 defines the radicalized integer quaternions (RIQs).
§ 3 talks about RIQ norms.
§ 4 is a note about RIQ factorizations.
§ 5 is a generalization to biquaternions.
§ 6 is a generalization to octonions.
§ 7 is a generalization to the cross product.
§ 1a. A quaternion is an ordered quadruple, typically with real numbers as components, interpreted and manipulated according to specific rules.
Although associative, multiplication is not commutative, as illustrated by i · j = +k ≠ j · i = −k.
Important is that the norm is preserved under multiplication: || p · q || = || p || · || q ||.
Few if any researchers regard items in the "neither" column as integer quaternions for any purpose.
Easy to see is that the set of Lipschitz quaternions is closed under addition, subtraction and multiplication; for the Hurwitz quaternions, this same is true but less obvious. Each Hurwitz has, in a special sense, an essentially unique prime factorization, while a Lipschitz might have several prime factorizations that are not particularly related.
§ 2a. The main point of this report is to introduce a variant of the integer quaternion.
The norm of any RIQ-L is necessarily a real integer; but that is not true for a RIQ-H.
§ 2b. The set of RIQ-Ls is closed under addition, subtraction, and multiplication; and constitutes a ring. Although ordinary quaternions form a division algebra, RIQ-Ls fail to do so because most RIQ-Ls lack a reciprocal. The same properties apply to RIQ-Hs.
For addition, subtraction, or multiplication to perform as intended, all the operands must be using the same gubernatrices in the same positions. For instance, if p is being evaluated with # [3, 5, 7] but q is using # [7, 3, 5], then for most values of p and q, their product will not be a RIQ.
Note that √(b · c) and the other square roots need not be re-evaluated for every calculation; instead they can be extracted only once, when the gubernatrices are selected.
With # [1, 1, 1], ordinary quaternion operations result. If any gubernatrices are zero, an uninteresting degeneracy ensues, so we exclude that case.
These exist whenver the four components of the result quaternion conform to the Lipschitz or Hurwitz criterion as appropriate. The four components of the result, although rational numbers, usually turn out to be neither wholes nor halves.
If such cycling is performed on all the RIQs in an equation, the equation will remain true. There is no obvious way for the real part to participate in any sort of cycling.
§ 2e. An example will show why we have not chosen to attach a radical to the real part of a RIQ. With w as a positive real integer, consider a quaternion whose imaginary parts are all zero, for instance 5 · √w. Squared, it becomes 25 · w, which cannot be written in the form n · √w for real integer n, unless w is a perfect square; and in that case the effect of having a radical is lost. A further consideration is that if the real part of a RIQ had a radical, there would no longer be a multiplicative identity, namely 〈 1, 0, 0, 0 〉.
Since the Hurwitz criterion allows a divisor of two, the question arises whether other divisors, particularly small primes, might give interesting results. For that matter, the hash triple could conceivably contain fractions. However, our experiments with these generalizations did not yield anything fruitful.
§ 3. Let hash triple #[1, 1, 1] be selected, yielding ordinary Lipschitz quaternions. Then for any nonnegative real integer n there exists a RIQ-L q such that || q || = n; this is established by a famous theorem. We consequently say that every nonnegative real integer is attainable as a norm using #[1, 1, 1].
which in modulo 4 can never equal 3. Hence q can never have a norm in the sequence 3, 7, 11, 15 … .
For many hash triples, the set of unattainable norms is difficult to characterize, although in most cases it thins out for larger norms. For instance, with #[3, 5, 7] there are 118 norms unattainable with RIQ-Ls in the thousand-integer range 0 to 999, as in the table below. These results come from a brute-force search. An open question is whether there is a maximum unattainable norm with #[3, 5, 7].
Some norms unattainable with RIQ-Ls become possible with RIQ-Hs. If #[3, 5, 7] is reconsidered using RIQ-Hs, there are only 81 unattainable norms in the range 0-999.
§ 4. If || p || > 1, || q || > 1, and r = p · q, then we say that r has the factorization p · q. Recall that norms are preserved under quaternion multiplication, so that if || s || is a real prime number, s cannot have a factorization, and we call s a weak prime. If s fails to have a factorization even when || s || is non-prime, then s is a strong prime.
The existence of a factorization depends on the gubernatrices. For instance, s below has a norm of 13, which is a real prime, so s itself must be prime. This is true even though s has the same four components as p · q, which is patently factorizable.
need not be limited to the reals. Instead, they can be complex integers, yielding a subset of the biquaternions. A RIQ with complex components we call a RIBQ.
By postulate, g commutes in multiplication with i, j, and k; but the product cannot be simplified.
An open question is how to meaningfully define RIBQ-Hs.
§ 6a. Octonions are another way to generalize quaternions, and are themselves susceptible to integer radicalization.
Multiplication is neither associative nor commutative.
As with quaternions, norms are preserved under multiplication: || p · q || = || p || · || q ||.
§ 6d. Radicalized integer octonions (RIOs) can now be developed. For simplicity, we confine ourselves to Lipschitz-style octonions (RIO-Ls), where every component is a real integer. Extending this to Hurwitz-style octonions (RIO-Hs), where a component might be sometimes half of an odd integer, is certainly possible but not covered here.
The norm of any RIO-L is inevitably a real integer; but this might not be true for a RIO-H.
§ 6e. The set of RIO-Ls is closed under addition, subtraction, and multiplication. Note that octonions are not classified as rings due to the lack of multiplicative associativity.
The same principle applies in the quaternion case, but it is not as obvious. The patterns gives a clue how integer radicalization might be extended to other kinds of numbers. Another observation is that the letters a through g and i through o frequently appear in alphabetical order, so that the numbers they represent might instead be stored in an array whose subscripts are managed with modular arithmetic.
Recall the usual requirement that all seven of the gubernatrices be positive. If that constraint is relaxed, and exactly one of them is zero, then four of the imaginary components vanish, and the consequent behavior becomes isomorphic to that of RIQs. If exactly two gubernatrices are zero, then RIO behavior becomes that of radicalized integer complex numbers.
§ 6f. Provided is source code for a C++11 program to demonstrate RIO-Ls. Anyone may download, use, modify, and redistribute it.
⇒ The template parameters are the gubernatrices.
⇒ big_int should be at least a 64-bit signed integer, or an extended-precision integer of the user's choice. A 32-bit integer is likely to exhibit overflow in even the simplest of examples.
⇒ h, i, j, k, l, m, n, o are public because they can be any combination of big_int values; there is no invariant to enforce.
However, there is no simple relationship between x * y and y * x.
⇒ squ_mag is this program's name for the norm. Its square root is mag, which is the Euclidean magnitude. Both of these figures take the gubernatrices into account.
lexico_EQ tells if two rad_int_octs have the same components. Caution: Two RIO-Ls must of course be equal if their respective gubernatrices and components match. On the other hand, two RIO-Ls that are equal might nonetheless fail to have matching gubernatrices or components.
lexico_LT establishes an ordering in case the user wants to store rad_int_octs in an associative container such as std::map or std::set. Mathematicians rarely try to define a less-than relation for octonions, or indeed for quaternions or complex numbers, but sometimes computer programmers have a need.
⇒ view displays the rad_int_oct to the indicated ostream. The integer parameter selects the level of verbosity, with minimum 1 and maximum 4.
As always, the real part does not participate in rotation.
The parameter may be any integer. For instance, rotate<2> has the same effect as two successive invocations of rotate<1>, and rotate<−1> will undo rotate<1>. Meanwhile, rotate<0> and rotate<7> do nothing.
⇒ test_squ_mag verifies that the squ_mag of the product of two rad_int_octs equals the product of the individual squ_mags.
⇒ test_alt_assoc verifies that the alternate associativity of octonions is preserved.
⇒ test_split_mult verifies that mult_comm and mult_anti work as described above.
⇒ test_distrib verifies that multiplication distributes over addition.
⇒ test_rotate verifies that rotation works.
⇒ test_rotate_mult verifies that the unrotated product of two rotated rad_int_octs equals the rotated product of the unrotated rad_int_octs.
§ 7a. Integer radicalization can also be applied to the cross product of vectors. In fact, if the quaternion arithmetic mentioned above is modified so that zero is substituted for the real part of every quaternion, no matter what its value might otherwise have been, then quaternion multiplication becomes isomorphic to the widely-used cross product of two three-dimensional vectors — for brevity we call that operation the 2-in-3. Similarly, forcing the real part of octonions in multiplication to zero gives the 2-in-7. In the radicalized case, the procedure of forcing the real part to zero still works in because, among other reasons, no radical is attached to the real part of a RIQ or RIO.
The cross product can be extended to n vectors in n + 1 dimensions; in this report we elaborate the 3-vectors-in-4-dimensions case (the "3-in-4") to show that integer radicalization can work with a multiplication that uses three factors rather than two. Perhaps surprisingly, we still have square roots and not cube roots.
Then p × q × r = − s0 + s1 − s2 + s3.
The 0-in-1, as the degenerate case, would have zero gubernatrices.

References: § 1

§ 2

§ 3

§ 4

§ 5

§ 6

§ 7

§ 1

§ 2

§ 2

§ 2

§ 3

§ 4

§ 6

§ 6

§ 6

§ 6

§ 7