All the following presupposes that the basis vectors are defined recursively as given below, not for other methods of indexing.

- i
_{0}=1 - i
_{2p}=(i_{p},0) for all p≥0 - i
_{2p+1}=(0,i_{p}) for all p≥0

Suppose multiplication is defined on elements of a ring K with identity 1 and suppose there is an involution * on K satisfying (xy)*=y*x*, (x+y)*=x*+y* and a norm ||x|| satisfying ||x||^{2}=xx*=x*x.

A doubling product on KxK is a product on ordered pairs of elements of K for which

- (1,0) is both a left and right identity
- (a,b)(a,b)*=(||a||
^{2}+||b||^{2},0)=||(a,b)||^{2}where (a,b)*=(a*,–b).

If K is the set of real numbers, then there are 32 possible products (a,b)(c,d) satisfying the properties above. However, only eight of those products also satisfy the quaternion properties.

If p, q and r are three distinct positive integers and if i_{p}i_{q}=i_{r} then this fact is symbolized as (p,q,r). The basis vector products satisfy the quaternion properties if it is true that (p,q,r) implies that i_{q}i_{p}=–i_{r} and implies (q,r,p) [which in turn implies (r,p,q)].

The eight products satisfying properties 1 and 2 above plus the quaternion properties are as follows:

- P
_{0}⇒(a,b)(c,d)=(ca-b*d,da*+bc) - P
_{1}⇒(a,b)(c,d)=(ca-db*,a*d+cb) - P
_{2}⇒(a,b)(c,d)=(ac-b*d,da*+bc) - P
_{3}⇒(a,b)(c,d)=(ac-db*,a*d+cb) - P
^{T}_{0}⇒(a,b)(c,d)=(ca-bd*,ad+c*b) - P
^{T}_{1}⇒(a,b)(c,d)=(ca-d*b,da+bc*) - P
^{T}_{2}⇒(a,b)(c,d)=(ac-bd*,ad+c*b) - P
^{T}_{3}⇒(a,b)(c,d)=(ac-d*b,da+bc*)

The P_{3} is the one more commonly used today. P_{7} is the one used by R. Shafer in his 1954 paper
"On the algebras formed by the Cayley-Dickson process."

All eight of these products result in the imaginary i equaling i_{1}=0,1,0,0, . . .. For the first four, the quaternion j=i_{2}=0,0,1,0,0, . . . and k=i_{3}=0,0,0,1,0, . . . .
For the last four, k=i_{2}and j=i_{3}.

The eight corresponding sets of quaternion cycles for the octonions are

- P
_{0}⇒(1,2,3),(1,4,5),(1,6,7),(2,6,4),(2,5,7),(3,4,7),(3,5,6) - P
_{1}⇒(1,2,3),(1,4,5),(1,6,7),(2,6,4),(2,7,5),(3,7,4),(3,6,5) - P
_{2}⇒(1,2,3),(1,4,5),(1,6,7),(2,4,6),(2,5,7),(3,4,7),(3,5,6), - P
_{3}⇒(1,2,3),(1,4,5),(1,6,7),(2,4,6),(2,7,5),(3,7,4),(3,6,5) - P
^{T}_{0}⇒(1,3,2),(1,5,4),(1,7,6),(2,4,6),(2,7,5),(3,7,4),(3,6,5) - P
^{T}_{1}⇒(1,3,2),(1,5,4),(1,7,6),(2,4,6),(2,5,7),(3,4,7),(3,5,6) - P
^{T}_{2}⇒(1,3,2),(1,5,4),(1,7,6),(2,6,4),(2,7,5),(3,7,4),(3,6,5), - P
^{T}_{3}⇒(1,3,2),(1,5,4),(1,7,6),(2,6,4),(2,5,7),(3,4,7),(3,5,6)

The Cayley-Dickson Calculator is based on P_{3}.

All eight of these Cayley-Dickson products satisfy a property called "index cycling."

For 1≤p≤7 define the successor of p as the number p' following p in the permutation (1)(357)(246).

Then for each of these eight sets of quaternion cycles, (p,q,r) implies (p',q',r'). This property is called index cycling.

This is illustrated for P_{0} and P^{T}_{3}

P_{0}⇒(a,b)(c,d)=(ca-b*d,da*+bc)

Successor permutation: (1)(357)(246)

- (1,2,3)⇒(1,4,5)⇒(1,6,7)⇒(1,2,3)
- (2,6,4)⇒(4,2,6)⇒(6,4,2)⇒(2,6,4)
- (2,5,7)⇒(4,7,3)⇒(6,5,3)⇒(2,5,7)

P^{T}_{3}⇒(a,b)(c,d)=(ca-bd*,ad+c*b)

Successor permutation: (1)(357)(246)

- (1,3,2)⇒(1,5,4)⇒(1,7,6)⇒(1,3,2)
- (2,4,6)⇒(4,6,2)⇒(6,2,4)⇒(2,4,6)
- (2,7,5)⇒(4,3,7)⇒(6,3,5)⇒(2,5,7)

Some may complain that this is not really index cycling since we do not cycle through all seven states from any one given state. Point taken.

For P_{0}⇒(1,2,3),(1,4,5),(1,6,7),(2,6,4),(2,5,7),(3,4,7),(3,5,6) one may use the "successor" permutation (1376524) to cycle through all seven states beginning with
any one state. Notice that the permutation (1376524) may be recovered from the repeating binary sequence [0011101] by 'sliding' a three bit window from left to right.

(3,4,7)⇒(7,1,6)⇒(6,3,5)⇒(5,7,2)⇒(2,6,4)⇒(4,5,1)⇒(1,2,3)⇒(3,4,7)

There exist such permutations for P_{0}, P_{3}, P^{T}_{0} and P^{T}_{3}.

Diagram from "A catalog of Cayley-Dickson-like products" by J. W. Bales (2011); Dept. of Mathematics, Tuskegee University

John W. Bales, Department of Mathematics, Tuskegee University