Projecting 8D dataset on onto skew coordinates

179 Views Asked by At

I have an 8 dimensional dataset (as an Nx8 matrix), and I am hypothesising that much of the dataset can be described simply by linear addition of two known non-orthogonal vectors (i.e. two 1x8 vectors).

As a result I want to project the data onto a skew coordinate system which lies on a 2D plane embedded within the larger 8-D space.

If the two vectors are orthogonal I am aware that it is a simple matrix multiplication of the Nx8 matrix by the 2x8 matrix (the two vectors together). For example consider the 3D simplification shown below. My data is analagously described by a Nx3 matrix along the x,y & z axes. However I want to project into onto the 3D skew coordinate system in red, described by the known vectors a and b. a 3D simplification of the 8D problem in the question My two questions are:

1) What is the analogous operation to project the 8D data onto a skewed 2D coordinate system?

2) If I perform the matrix multiplication described above with the non-orthogonal vectors what is the geometrical interpretation of the resultingNx2 matrix?

1

There are 1 best solutions below

3
On BEST ANSWER

1)

(I'm using geometric algebra.)

You can take the wedge product $I = a\wedge b$ to represent the plane. Then any vector $v$ can be decomposed into components parallel and perpendicular to the plane:

$$v = v_\parallel + v_\perp$$

$$v_\parallel = I^{-1}(I\cdot v)$$

$$v_\perp = I^{-1}(I\wedge v)$$

You can get the coefficients of $v_\parallel$ with respect to the basis $\{a,b\}$ by taking dot products with the dual basis $\{a^*,b^*\}$ :

$$a^* = bI^{-1},\quad b^* = -aI^{-1}$$

$$v_\parallel = v_a a + v_b b$$

$$v_\parallel\cdot a^* = v_a(a\cdot a^*) + v_b(b\cdot a^*) = v_a(1) + v_b(0) = v_a$$

$$v_\parallel\cdot b^* = v_a(a\cdot b^*) + v_b(b\cdot b^*) = v_a(0) + v_b(1) = v_b$$

Alternatively, using matrix algebra:

Take $M$ to be the $8\times2$ matrix with columns $a$ and $b$. If I remember correctly, the projection is

$$v_\parallel = M(M^TM)^{-1}M^Tv$$

and the coordinates are

$$\begin{bmatrix} v_a \\ v_b \end{bmatrix} = (M^TM)^{-1}M^Tv$$


2)

The $N\times2$ matrix product is composed of dot products $v\cdot a,\;v\cdot b$ ; these are the coordinates with respect to the dual basis. If $a$ and $b$ are orthonormal, then $a^* = a$ and $b^* = b$, so this also gives the coordinates $v_a,\;v_b$.