In what follows a very brief account of reversible evolution and, in particular, reversible computation by permutation will be presented. We shall follow Mermin’s account [368] (also available as his Lecture Notes on Quantum Computation [367]) and introduce reversible computation in terms of vector spaces: Thereby the computational states, and the state evolution are represented as elements of Cartesian standard bases, and permutation matrices acting on these base vectors, respectively.

1 Representation Entities by Vectors and Matrices

Let us repeat and rehearse some conventions involving the representation and creation of state related entities.

A ket vector \(\vert \mathbf{x}\rangle \) can be represented by a column vector, that is, by vertically arranged tuples of scalars, or, equivalently, as \(n \times 1\) matrices; that is,

$$\begin{aligned} \vert \mathbf{x}\rangle \equiv \begin{pmatrix} x_1, x_2, \ldots , x_n \end{pmatrix}^\intercal = \begin{pmatrix} x_1\\ x_2\\ \vdots \\ x_n \end{pmatrix} . \end{aligned}$$
(11.1)

Their linear span is a one-dimensional subspace.

A bra vector \(\langle \mathbf{x}\vert \) from the dual space can be represented by a row vector, that is, by horizontally arranged tuples of scalars, or, equivalently, as \(1 \times n\) matrices; that is,

$$\begin{aligned} \langle \mathbf{x} \vert = \left( \vert \mathbf{x}\rangle \right) ^\dagger \equiv \begin{pmatrix} \overline{x_1}, \overline{x_2}, \ldots , \overline{x_n} \end{pmatrix}. \end{aligned}$$
(11.2)

Their linear spans

$$\begin{aligned} {\mathfrak M} =\,&\text {span} (\vert \mathbf{x}\rangle ) = \left\{ \vert \mathbf{y}\rangle \mid \vert \mathbf{y}\rangle = \lambda \vert \mathbf{x}\rangle , \vert \mathbf{x}\rangle \in {\mathfrak V}, \lambda \in {\mathbb R}\text { or } {\mathbb C} \right\} ,\nonumber \\&\text {span} (\langle \mathbf{x} \vert ) = \left\{ \langle \mathbf{y} \vert \mid \langle \mathbf{y} \vert = \lambda \langle \mathbf{x} \vert , \langle \mathbf{x} \vert \in {\mathfrak V}^*, \lambda \in {\mathbb R}\text { or } {\mathbb C} \right\} \end{aligned}$$
(11.3)

are one-dimensional subspaces of the base space \({\mathfrak V}\) and the dual space \({\mathfrak V}^*\), respectively.

If \(\vert \mathbf{x}\rangle \) is a unit vector, the associated orthogonal projection \({{\mathbf {\mathsf{{E}}}}}_\mathbf{x}\) of \({\mathfrak V}\) onto \({\mathfrak M}\) can be written as the dyadic product, or tensor product, or outer product

$$\begin{aligned} \begin{aligned} {{\mathbf {\mathsf{{E}}}}}_\mathbf{x} = \vert \mathbf{x}\rangle \langle \mathbf{x}\vert \equiv \begin{pmatrix} x_1\\ x_2\\ \vdots \\ x_n \end{pmatrix} \begin{pmatrix}\overline{x_1},\overline{x_2},\ldots ,\overline{x_n}\end{pmatrix}\\ \\ = \begin{pmatrix} x_1\begin{pmatrix}\overline{x_1},\overline{x_2},\ldots ,\overline{x_n}\end{pmatrix}\\ x_2\begin{pmatrix}\overline{x_1},\overline{x_2},\ldots ,\overline{x_n}\end{pmatrix}\\ \vdots \\ x_n\begin{pmatrix}\overline{x_1},\overline{x_2},\ldots ,\overline{x_n} \end{pmatrix} \end{pmatrix} = \begin{pmatrix} x_1\overline{x_1}&{}x_1\overline{x_2}&{} \cdots &{}x_1\overline{x_n}\\ x_2\overline{x_1}&{}x_2\overline{x_2}&{} \cdots &{}x_2\overline{x_n}\\ \vdots &{} \vdots &{} \vdots &{}\vdots \\ x_n\overline{x_1}&{}x_n\overline{x_2}&{} \cdots &{}x_n\overline{x_n} \end{pmatrix} \end{aligned} \end{aligned}$$
(11.4)

is the projection associated with \(\vert \mathbf{x}\rangle \).

If the vector \(\mathbf{x}\) is not normalized, then the associated projection is \( {{\mathbf {\mathsf{{E}}}}}_\mathbf{x} = \vert \mathbf{x}\rangle \langle \mathbf{x}\vert / \left( \langle \mathbf{x}\vert \mathbf{x}\rangle \right) \).

The product (state) of two ket vectors \(\vert \mathbf{x}\rangle \equiv \begin{pmatrix} x_1, x_2, \ldots , x_n \end{pmatrix}^\intercal \) and \(\vert \mathbf{y}\rangle \equiv \begin{pmatrix} y_1, y_2, \ldots , y_n \end{pmatrix}^\intercal \) can, up to normalization, be written as

$$\begin{aligned} \begin{aligned} \vert \mathbf{x}\rangle \vert \mathbf{y}\rangle \equiv \vert \mathbf{y} \mathbf{x}\rangle \equiv \begin{pmatrix} x_1\\ x_2\\ \vdots \\ x_n \end{pmatrix} \otimes \begin{pmatrix} y_1\\ y_2\\ \vdots \\ y_n \end{pmatrix} = \begin{pmatrix} x_1 \begin{pmatrix} y_1\\ y_2\\ \vdots \\ y_n \end{pmatrix} \\ x_2 \begin{pmatrix} y_1\\ y_2\\ \vdots \\ y_n \end{pmatrix} \\ \vdots \\ x_n \begin{pmatrix} y_1\\ y_2\\ \vdots \\ y_n \end{pmatrix} \end{pmatrix} =\begin{pmatrix} x_1y_1\\ x_1y_2\\ \vdots \\ x_1y_n \\ x_2 y_1\\ x_2y_2\\ \vdots \\ x_2y_n \\ \vdots \\ x_ny_1\\ x_ny_2\\ \vdots \\ x_ny_n \end{pmatrix} . \end{aligned} \end{aligned}$$
(11.5)

The product (state) of two bra vectors \(\langle \mathbf{x} \vert \equiv \begin{pmatrix} x_1, x_2, \ldots , x_n \end{pmatrix} \) and \(\langle \mathbf{y} \vert \equiv \begin{pmatrix} y_1, y_2, \ldots , y_n \end{pmatrix} \) can, up to normalization, be written as

$$\begin{aligned} \begin{aligned} \langle \mathbf{x} \vert \langle \mathbf{y} \vert \equiv \langle \mathbf{y} \mathbf{x}\vert \equiv \begin{pmatrix} x_1, x_2, \ldots , x_n \end{pmatrix} \otimes \begin{pmatrix} y_1, y_2, \ldots , y_n \end{pmatrix} =\\ = \begin{pmatrix} x_1 \begin{pmatrix} y_1, y_2, \ldots , y_n \end{pmatrix} , x_2 \begin{pmatrix} y_1, y_2, \ldots , y_n \end{pmatrix} , \ldots , x_n \begin{pmatrix} y_1, y_2, \ldots , y_n \end{pmatrix} \end{pmatrix} =\\ = \begin{pmatrix} x_1y_1, x_1y_2, \ldots , x_1y_n , x_2 y_1, x_2y_2, \ldots , x_2y_n , x_ny_1, x_ny_2, \ldots , x_ny_n \end{pmatrix} . \end{aligned} \end{aligned}$$
(11.6)

2 Reversibility by Permutation

A more restricted universe than a quantized one would be rendered by real finite dimensional Hilbert spaces \({\mathbb R}^n\), and by the permutations – more precisely, orthonormal (orthogonal) transformations; that is, a one-to-one (injective) transformation of identical (co)domains \({\mathbb R}^n\) preserving the scalar product therein. An even greater restriction comes with a discretization of states as elements of Cartesian standard bases and the use of permutation matrices.

Recall that a function \(f(x)=y\) from a set X to a set Y maps inputs (or arguments) x from X into outputs (or values) y from Y such that each element of X has a single and thus unique output. X is called the domain and Y is called the codomain. The image f(X) of the entire domain X is a subset of the codomain Y.

A function f is one-to-one or injective if different functional outputs originate from different functional inputs; that is, if “\(f(x)=f(y)\) implies \(x=y\),” which is logically equivalent to the contrapositive “\(x\ne y\) implies \(f(x)\ne f(y)\)” – that is, if different functional inputs result in different functional outputs.

As a consequence, if f is one-to-one it can be “inverted” (and thus its action “undone”) by another function \(f^{-1}\) from its image f[X] into its domain X such that \(f^{-1}(y)=x\) if \(f(x)=y\). Therefore, the functional mapping can be inverted through \( x {\mathop {\mapsto }\limits ^{f}} y {\mathop {\mapsto }\limits ^{f^{-1}}} x \); in particular, \(f^{-1}(f(x))=x\).

A function f is onto , or surjective if every element y in its codomain Y corresponds to some (not necessarily unique) element x of its domain, such that \(y=f(x)\). In this case, the functional image is the codomain.

A function f is bijective , or a one-to-one correspondence if it is both one-to-one (injective) and onto (surjective).

A function f is a permutation if it is a one-to-one correspondence (bijective), and if the domain X is identical with the codomain \(Y=X\).

Usually, the (co)domain is a finite set. The symmetric group \(\text {S}(n)\) on a finite set of n elements (or symbols) is the group whose elements are all the permutations of the n elements, and whose group operation is the composition of such permutations. The identity is the identity permutation. The permutations are bijective functions from the set of elements onto itself. The order (number of elements) of \(\text {S}(n)\) is n!.

Cayley’s theorem [436] states that every group \({\mathfrak G}\) can be imbedded as – equivalently, is isomorphic to – a subgroup of the symmetric group; that is, it is isomorphic to some permutation group. In particular, every finite group \({\mathfrak G}\) of order n can be imbedded as – equivalently, is isomorphic to – a subgroup of the symmetric group \(\text {S}(n)\).

Stated pointedly: permutations exhaust the possible structures of (finite) groups. The study of subgroups of the symmetric groups is no less general than the study of all groups.

A particular case where the codomain needs not to be finite is quantum mechanics. In quantum mechanics, the (co)domain will be identified with the Hilbert spaces. We will restrict our attention to complex finite dimensional Hilbert spaces \({\mathbb C}^n\) with the Euclidean scalar product. In one of the axioms of quantum mechanics the evolution is identified with some isometric permutation preserving the scalar product (or, equivalently, a mapping of one orthomodular basis into another one); that is, with unitary transformations \({{\mathbf {\mathsf{{U}}}}}\), for which the adjoint (the conjugate transpose) is the inverse; that is, \({{\mathbf {\mathsf{{U}}}}}^*={{\mathbf {\mathsf{{U}}}}}^\dagger ={{\mathbf {\mathsf{{U}}}}}^{-1}\).

We shall now turn our attention to an even more restricted type of universe whose evolution is based upon permutations [193] on countable or even finite (co)domains [368]. Thereby we shall identify these (co)domains with very particular sets of unit vectors in \({\mathbb R}^n\): the Cartesian standard bases ; namely all those ket (that is, column) vectors \(\vert \mathbf{x}\rangle \) with a single coordinate being one, and all other components zero.

Suppose further that elements of the set \(\{1,2, \ldots , n\}\) of natural numbers are identified with the elements of the Cartesian standard bases \(\mathfrak {B}=\left\{ \vert \mathbf{e}_1 \rangle , \vert \mathbf{e}_2 , \ldots , \vert \mathbf{e}_n \rangle \right\} \) by \(i \equiv \vert \mathbf{e}_i\rangle \).

The symmetric group \(\text {S}(n)\) of all permutations of n basis elements of \(\mathfrak {B}\) can then be represented by the set of all \((n \times n)\) permutation matrices carrying only a single “1” in all rows and columns; all other entries vanish.

2.1 Representation as a Sum of Dyadic Products

For the sake of an example, consider the two-dimensional case with \(n=2\),

$$\begin{aligned} 1 \equiv \vert 1 \rangle = \begin{pmatrix}1\\ 0\end{pmatrix} \text {, and } 2 \equiv \vert 2 \rangle = \begin{pmatrix}0\\ 1\end{pmatrix}. \end{aligned}$$
(11.7)

Then there exist only two permutation matrices, interpretable as the identity and the not matrix, respectively:

$$\begin{aligned} {\mathbb I}_2 = \vert 1 \rangle \langle 1 \vert + \vert 2 \rangle \langle 2 \vert = \begin{pmatrix}1&{}0\\ 0&{}1\end{pmatrix} \text {, and } {{\mathbf {\mathsf{{X}}}}} = \vert 1 \rangle \langle 2 \vert + \vert 2 \rangle \langle 1 \vert = \begin{pmatrix}0&{}1\\ 1&{}0\end{pmatrix} . \end{aligned}$$
(11.8)

Note that the way these matrices are constructed follows the scheme of defining unitary transformations in terms of sums of basis state changes [460]. Indeed, all the n! permutation matrixes transforming the n basis elements of the Cartesian standard basis \(\mathfrak {B}=\left\{ \vert \mathbf{e}_1 \rangle , \vert \mathbf{e}_2 , \ldots , \vert \mathbf{e}_n \rangle \right\} \) in n dimensions can be constructed by varying the sums of such basis state changes. More explicitly, consider in Cauchy’s two-line notation the jth permutation \(\sigma _j = \begin{pmatrix}1&{}2&{}\ldots &{}n \\ \sigma _j (1)&{}\sigma _j (2)&{}\ldots &{}\sigma _j (n)\end{pmatrix}\) so that the input i is mapped into \(\sigma _j (i)\), with \(1\le i\le n\); then the jth permutation matrix can be defined by

$$\begin{aligned} {{\mathbf {\mathsf{{P}}}}}_j = \sum _{i=1}^n \vert \mathbf{e}_i \rangle \langle \mathbf{e}_{\sigma _j (i)} \vert = \sum _{i=1}^n \vert \mathbf{e}_{\sigma _j (i)} \rangle \langle \mathbf{e}_i \vert . \end{aligned}$$
(11.9)

2.2 No Coherent Superposition and Entanglement

Permutations cannot give rise to coherent superposition and entanglement – the latter one being just particular, non-factorizable superpositions in the multiple particle context. Syntactically this is due to the fact that, for a finite number of bits, permutation matrices contain only a single entry in each row and each column.

2.3 Universality with Respect to Boolean Functions

The following question arises naturally: is the set of permutations for arbitrary large-dimensional computationally universal in the sense of Turing; that is: can such a system of permutations compute all recursively enumerable functions [55, 222, 537]?

The three-bit Fredkin gate is universal with respect to the class of Boolean functions; that is, functions of binary inputs with binary output. Universality here means that any Boolean function can be constructed by the serial composition Fredki gates. Its permutation matrix \({{\mathbf {\mathsf{{P}}}}}_F = \text {diag}\begin{pmatrix}1,1,1,1,1,{{\mathbf {\mathsf{{X}}}}}, 1\end{pmatrix}\) is almost diagonal. Thereby “\(\text {diag} (\lambda _1 , \lambda _2 , \ldots , \lambda _n)\)” stands for the diagonal matrix with entries \(\lambda _1 , \lambda _2 , \ldots , \lambda _n\) in the main diagonal.

Based on the permutation \(\sigma _F = \begin{pmatrix}1&{}2&{}3&{}4&{}5&{}6&{}7&{}8 \\ 1&{}2&{}3&{}4&{}5&{}7&{}6&{}8\end{pmatrix}\) this gate can be represented in terms of the sum decomposition (11.9) by \({{\mathbf {\mathsf{{P}}}}}_F = \sum _{i=1}^5 \vert \mathbf{e}_i \rangle \langle \mathbf{e}_i \vert + \vert \mathbf{e}_6 \rangle \langle \mathbf{e}_7 \vert + \vert \mathbf{e}_7 \rangle \langle \mathbf{e}_6 \vert + \vert \mathbf{e}_8 \rangle \langle \mathbf{e}_8 \vert \).

Likewise, the three-bit Toffoli gate is universal with respect to the class of Boolean functions. Its permutation matrix is \({{\mathbf {\mathsf{{P}}}}}_T = \text {diag}\begin{pmatrix}1,1,1,1,1,1,{{\mathbf {\mathsf{{X}}}}}\end{pmatrix}\). Based on the permutation \(\sigma _T = \begin{pmatrix}1&{}2&{}3&{}4&{}5&{}6&{}7&{}8 \\ 1&{}2&{}3&{}4&{}5&{}6&{}8&{}7\end{pmatrix}\) this gate can be represented in terms of the sum decomposition (11.9) by \({{\mathbf {\mathsf{{P}}}}}_T = \sum _{i=1}^6 \vert \mathbf{e}_i \rangle \langle \mathbf{e}_i \vert + \vert \mathbf{e}_7 \rangle \langle \mathbf{e}_8 \vert + \vert \mathbf{e}_8 \rangle \langle \mathbf{e}_7 \vert \).

Indeed, the Fredkin and the Toffoli gates are equivalent up to permutations; and so is any quasi-diagonal matrix with one entry in \(2\times 2\) matrix block form \({{\mathbf {\mathsf{{X}}}}}\), and all other entries 1 in the diagonal.

2.4 Universal Turing Computability from Boolean Functions

This author is not aware of any concrete, formal derivation of Turing universality from universality with respect to Boolean functions. Indeed, how could input-output circuits encode the kind of substitution and self-reference encountered in recursion theory [473–475]? One could conjectured that, of one allows an arbitrary sequence of Boolean functions, then this would entail universal Turing computability [69, 378], but this is still a far cry from coding, say, the Ackermann function in terms of reversible gates.

2.5 d-Ary Information Beyond Bits

While it is true that, at least in principle, Leibniz’s binary atoms of information suffice for the construction of higher-dimensional entities, it is not entirely unreasonable to consider 3-ary, 4-ary, and, in general d-ary atoms of information. One conjecture would be that the set of universal operations with respect to d-ary generalisations of binary functions – that is, functions \(f(x_1,\ldots , x_k) \in \{ 1 ,\ldots , d \}\) with k d-ary inputs \(x_i \in \{ 1 ,\ldots , d \}\) with a d-ary output – are representable by a set of generalized Toffoli gates \({{\mathbf {\mathsf{{P}}}}}_{T'} = \text {diag}\begin{pmatrix}1,1,1,1,1,1,{{\mathbf {\mathsf{{P}}}}}_d\end{pmatrix}\), where \({{\mathbf {\mathsf{{P}}}}}_d\) varies over all permutations of \(\{1, \ldots , d\}\).

2.6 Roadmap to Quantum Computing

Quantum computing is about generalized states, which can be in a superposition of classical states; and about generalized permutations; that is, about bijections in complex vector spaces. For this it is sufficient to consider classical reversible computation, “augmented” with gates producing coherent superpositions of a classical bit (such as the Hadamard gate or quantum Fourier transforms) [371, 466].