Pseudo-Hadamard transform

The pseudo-Hadamard transform is a reversible transformation of a bit string that provides cryptographic diffusion. See Hadamard transform.
The bit string must be of even length so that it can be split into two bit strings "a" and "b" of equal lengths, each of "n" bits. To compute the transform, "a"' and "b"', from these we use the equations:
To reverse this, clearly:
Generalization.
The above equations can be expressed in matrix algebra, by considering "a" and "b" as two elements of a vector, and the transform itself as multiplication by a matrix of the form:
The inverse can then be derived by inverting the matrix.
However, the matrix can be generalised to higher dimensions, allowing vectors of any power-of-two size to be transformed, using the following recursive rule:
For example:
See also.
This is the Kronecker product of an Arnold Cat Map matrix with a Hadamard matrix.