1- and 2-Bit Polarization
Updated June 2016

This page shows some simple Javascript programs for performing splunge math on 1 and 2-bit polarization states. A 1-bit state is a vector of 2 complex numbers, although for most purposes the first component can be a non-negative real number, since only the phase difference between the two components matters. 1-bit values can be visualized as 2d ellipses, having an orientation (of the major axis), an eccentricity, and a sense of chirality (usually depicted as green or red color). 1-bit values can also be displayed as a point on the surface of a sphere, where the longitude shows the orientation of the ellipse, and the latitude shows the degree of circularity. Operations are performed on 1-bit values using 2x2 matrix multiplication. There are several well-known operators, with names like "Pauli X" and "Hadamard". These operators are usually either "hermitian", or "unitary", or both.

2-bit states are vectors of 4 complex numbers, where again only the phase differences between the various components matters. It is difficult to visualize 2-bit values, although the logical extension from 1-bit values is that of a 4-dimensional ellipse. On the computer screen, only the 2d and 3d cross-sections of this ellipse can be shown. A 2-bit value can be constructed from 2 1-bit values (a "separable" 2-bit value), or the individual components can be set independently so that it cannot be represented as the combination of 2 1-bit values (a "non-separable" 2-bit value). Almost all 2-bit values are of the latter kind (e.g. random values). This property makes multi-bit splunge computing very different from conventional computing. However, this distinction (separable/non-separable) is not necessarily a binary one, and many 2-bit values can be decomposed into a best-fit combination of 1-bit values. There are also 2-bit states called the Bell states that are maximally non-separable (also called "entangled") such that there is no preferred nearby combination of 1-bit values that approximate them. Operations are performed on 2-bit values using 4x4 matrix multiplication. There are several well-known operators, with names like "c-not". Again, 2-bit operators are usually either hermitian, unitary, or both, the combination of the two being especially important.

Javascript programs:

These programs have been tested only with Chrome/Chromium and Firefox on Linux (Ubuntu 14.04) and the Mac (10.13.5).

©Copyright Sky Coyote, 2015-2016.