# Determinants as another way to multiply two vectors

I'm reading section 6.1 (Determinants) of the book Fundamentals of Computer Graphics (5th Ed), in regards to the definition of the determinant:

\begin{align} |\textbf{ab}| &= |(x_a \textbf{x} + y_a \textbf{y})(x_b \textbf{x} + y_b \textbf{y})|\\ &= x_a x_b|\textbf{xx}| + x_a y_b |\textbf{xy}| + y_a x_b|\textbf{yx}| + y_a y_b|\textbf{yy}| \end{align}

where the following have been declared beforehand:

$$|(k \textbf{a})\textbf{b}| = |\textbf{a}(k \textbf{b})| = k|\textbf{ab}|$$ $$|(\textbf{a}+k \textbf{b})\textbf{b}| = |\textbf{a}(\textbf{b} + k\textbf{a})| = |\textbf{ab}|$$ $$| \textbf{a}(\textbf{b} + \textbf{c})| = |\textbf{ab}| + |\textbf{ac}|$$

First, I don't know how it's legal to just multiply out the two vectors $$\textbf{a}$$ and $$\textbf{b}$$ like that inside a determinant, but more importantly, even if I assume that, I get

\begin{align} |\textbf{ab}| &= |(x_a \textbf{x} + y_a \textbf{y})(x_b \textbf{x} + y_b \textbf{y})|\\ &= |x_a x_b\textbf{xx} + x_a y_b \textbf{xy} + y_a x_b\textbf{yx} + y_a y_b\textbf{yy}| \end{align}

but it seems like I'd need something like: $$|\textbf{ab} + \textbf{ac}| = |\textbf{ab}| + |\textbf{ac}|$$

to be able to get to that second line with the individual $$|\textbf{xx}|$$ type terms. Am I just missing something here?

UPDATE:

I finally figured out why this is ok, but wanted to leave accepted answer below as it has useful info. Anyway, for posterity, here it is. We'll need both \begin{align} |\textbf{a}(\textbf{b} + \textbf{c})| &= |\textbf{ab}| + |\textbf{ac}| \end{align} and \begin{align} |(\textbf{b} + \textbf{c})\textbf{a}| = |\textbf{ba}| + |\textbf{ca}| \end{align} in addition to the first identity above in the original post. Figure 6.5 of the text shows the geometry behind both of these for intuition. Then, let \begin{align*} \textbf{a} &= (x_a \textbf{x} + y_a \textbf{y}) \\ \textbf{b} &= x_b \textbf{x} \\ \textbf{c} &= y_b \textbf{y} \end{align*} so that, applying (1) followed by (2), we have \begin{align*} |(x_a \textbf{x} + y_a \textbf{y})(x_b \textbf{x} + y_b \textbf{y})| &= |\textbf{a}(\textbf{b} + \textbf{c})| \\ &= |(x_a \textbf{x} + y_a \textbf{y})x_b \textbf{x}| + |(x_a \textbf{x} + y_a \textbf{y})y_b \textbf{y}| \\ &= |x_a x_b \textbf{xx}| + |y_a x_b \textbf{yx}| + |x_a y_b \textbf{xy}| + |y_a y_b \textbf{yy}| \\ &= x_a x_b |\textbf{xx}| + x_a y_b |\textbf{xy}| + y_a x_b |\textbf{yx}| + y_a y_b |\textbf{yy}| \end{align*} where we used the first identity $$|(k \textbf{a})\textbf{b}| = k|\textbf{ab}|$$ to pull out the coefficients. This is nice because we're not using e.g. FOIL for "multiplying out the two vectors" as I had originally supposed (even though it looks like that). All we're doing is just applying identities.

• Is there a definition of what $|\boldsymbol{a}\boldsymbol{b}|$ expands to in the book? As far as I am aware this is non-standard notation. I would have expected the argument of the determinant to be a matrix, I am not sure what the object $\boldsymbol{a}\boldsymbol{b}$ is. Is it supposed to be $\boldsymbol{a}\boldsymbol{b}^T$? Jun 8, 2022 at 17:11
• @lightxbulb Yes that was my confusion as well. a and b are definitely declared to be vectors, so I thought perhaps it was assuming that |ab| meant e.g. the 2x2 matrix where a is first row, b is second row, but then when they showed that FOIL binomial expansion, it became unclear. And yes I also thought maybe they were just being sloppy and really meant ab^T but that would just end up being the dot product so I really don't get it. And no, there's isn't a definition beyond what is shown above. Jun 8, 2022 at 17:39

I think they just mean $$\boldsymbol{a}\boldsymbol{b} = \begin{bmatrix} (x_a \boldsymbol{x} + y_a \boldsymbol{y}) & (x_b \boldsymbol{x} + y_b \boldsymbol{y}) \end{bmatrix}$$, where the vectors are set as column vectors (you can also set them as row vectors if you wish and the determinant will not change). Then $$|\boldsymbol{a}\boldsymbol{b}| = det[\boldsymbol{a}\boldsymbol{b}]$$ has the properties that they describe. If you wish you can pick a specific basis, e.g. $$\boldsymbol{x} = \begin{bmatrix} 1 & 0 \end{bmatrix}$$ and $$\boldsymbol{y} = \begin{bmatrix} 0 & 1 \end{bmatrix}$$.

As for the expression that you were having an issue with: $$|\boldsymbol{a}\boldsymbol{b}+\boldsymbol{a}\boldsymbol{c}| = |\boldsymbol{a}(\boldsymbol{b}+\boldsymbol{c})| = |\boldsymbol{a}\boldsymbol{b}| + |\boldsymbol{a}\boldsymbol{c}|$$ from their 3rd rule.

I am not sure whether this generalizes to more than 2D. You should probably look into exterior products and Levi-Civita if you want something more general.

Edit:

They just assumed that distributivity holds like with normal addition and multiplication, so $$\boldsymbol{a}(\boldsymbol{b}+\boldsymbol{c}) = \boldsymbol{a}\boldsymbol{b}+\boldsymbol{a}\boldsymbol{c}$$. In fact the only difference to the properties that you're used to for real numbers is that commutativity becomes anti-commutativity: $$\boldsymbol{a}\boldsymbol{b}=-\boldsymbol{b}\boldsymbol{a}$$.

The product that they wrote is the outer product: $$\boldsymbol{a}\boldsymbol{b} := \boldsymbol{a}\wedge\boldsymbol{b}$$. Or more generally for $$n$$ $$n$$-D vectors: $$\prod_{i=1}^n\boldsymbol{a}_i := \bigwedge_{i=1}^{n}\boldsymbol{a}_i$$. If you take the coefficient in front of the resulting object ($$n$$-blade), it is equal to the determinant of the matrix where the vectors have been set as columns, provided that the dimension of the vectors is equal to $$n$$.

This means that if you have two 2-D vectors $$\boldsymbol{a}, \boldsymbol{b}$$, putting them together in a matrix $$\begin{bmatrix} \boldsymbol{a} & \boldsymbol{b} \end{bmatrix}$$ and computing the determinant $$|\boldsymbol{a}\boldsymbol{b}| = \operatorname{det}\left(\begin{bmatrix} \boldsymbol{a} & \boldsymbol{b} \end{bmatrix}\right)$$ yields the signed area of the parallelogram formed by those ($$\boldsymbol{a},\boldsymbol{b}$$ are two of its non-parallel edges). If you have three 3-D vectors $$\boldsymbol{a},\boldsymbol{b},\boldsymbol{c}$$, putting them together in a matrix $$\begin{bmatrix}\boldsymbol{a} & \boldsymbol{b} & \boldsymbol{c}\end{bmatrix}$$ and computing the determinant $$|\boldsymbol{a}\boldsymbol{b}\boldsymbol{c}| = \operatorname{det}\left(\begin{bmatrix}\boldsymbol{a} & \boldsymbol{b} & \boldsymbol{c}\end{bmatrix}\right)$$ yields the signed volume of the parallelepiped spanned by those. Similarly, if you have $$n$$ $$n$$-D vectors $$\boldsymbol{a}_1,\ldots,\boldsymbol{a}_n$$, then putting them in a matrix $$\begin{bmatrix}\boldsymbol{a}_1 & \ldots & \boldsymbol{a}_n\end{bmatrix}$$ and computing the determinant $$|\boldsymbol{a}_1\ldots\boldsymbol{a}_n|= \operatorname{det}\left(\begin{bmatrix}\boldsymbol{a}_1 & \ldots & \boldsymbol{a}_n\end{bmatrix}\right)$$ yields the signed hypervolume of the $$n$$-parallelotope formed by those.

Naturally the question arises what happens when you wedge $$n$$ $$d$$-D vectors where $$d$$ is not equal to $$n$$. A simple example is wedging two 3-D vectors. The coefficients in front of the three resulting $$2$$-blades that you get are equal to the coefficients of the cross product, and you have $$\star(\boldsymbol{a}\wedge\boldsymbol{b}) = \boldsymbol{a}\times\boldsymbol{b}$$, where $$\star$$ is the Hodge star operator. Then the definition from the book that you are reading is not applicable. It can be generalized though as the coefficients are made up of sub-determinants. More generally if you want to compute a specific coefficient of the wedge of multiple arbitrary dimensional vectors, then you can contract them with the Levi-Civita symbol and extract the relevant coefficient.

• The issue I'm having is that I can't see how to show that $|\textbf{ab} +\textbf{ac}| = | \textbf{a} (\textbf{b} + \textbf{c})|$, that is, that it's legal to distribute there. Jun 10, 2022 at 2:30
• @JamesB I updated my answer to address this and then some more. Jun 10, 2022 at 7:02