<p>I think they just mean <span class="math-container">$\boldsymbol{a}\boldsymbol{b} = \begin{bmatrix} (x_a \boldsymbol{x} + y_a \boldsymbol{y}) &amp; (x_b \boldsymbol{x} + y_b \boldsymbol{y}) \end{bmatrix}$</span>, 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 <span class="math-container">$|\boldsymbol{a}\boldsymbol{b}| = det[\boldsymbol{a}\boldsymbol{b}]$</span> has the properties that they describe. If you wish you can pick a specific basis, e.g. <span class="math-container">$\boldsymbol{x} = \begin{bmatrix} 1 &amp; 0 \end{bmatrix}$</span> and <span class="math-container">$\boldsymbol{y} = \begin{bmatrix} 0 &amp; 1 \end{bmatrix}$</span>.</p>
<p>As for the expression that you were having an issue with: <span class="math-container">$|\boldsymbol{a}\boldsymbol{b}+\boldsymbol{a}\boldsymbol{c}| = |\boldsymbol{a}(\boldsymbol{b}+\boldsymbol{c})| = |\boldsymbol{a}\boldsymbol{b}| + |\boldsymbol{a}\boldsymbol{c}|$</span> from their 3rd rule.</p>
<p>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.</p>
<p>Edit:</p>
<p>They just assumed that distributivity holds like with normal addition and multiplication, so <span class="math-container">$\boldsymbol{a}(\boldsymbol{b}+\boldsymbol{c}) = \boldsymbol{a}\boldsymbol{b}+\boldsymbol{a}\boldsymbol{c}$</span>. In fact the only difference to the properties that you're used to for real numbers is that commutativity becomes anti-commutativity: <span class="math-container">$\boldsymbol{a}\boldsymbol{b}=-\boldsymbol{b}\boldsymbol{a}$</span>.</p>
<p>The product that they wrote is the <a href="https://en.wikipedia.org/wiki/Exterior_algebra#Areas_in_the_plane" rel="nofollow noreferrer">outer product</a>: <span class="math-container">$\boldsymbol{a}\boldsymbol{b} := \boldsymbol{a}\wedge\boldsymbol{b}$</span>. Or more generally for <span class="math-container">$n$</span> <span class="math-container">$n$</span>-D vectors: <span class="math-container">$\prod_{i=1}^n\boldsymbol{a}_i := \bigwedge_{i=1}^{n}\boldsymbol{a}_i$</span>. If you take the coefficient in front of the resulting object (<a href="https://en.wikipedia.org/wiki/Blade_(geometry)" rel="nofollow noreferrer"><span class="math-container">$n$</span>-blade)</a>, 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 <span class="math-container">$n$</span>.</p>
<p>This means that if you have two 2-D vectors <span class="math-container">$\boldsymbol{a}, \boldsymbol{b}$</span>, putting them together in a matrix <span class="math-container">$\begin{bmatrix} \boldsymbol{a} &amp; \boldsymbol{b} \end{bmatrix}$</span> and computing the determinant <span class="math-container">$|\boldsymbol{a}\boldsymbol{b}| = \operatorname{det}\left(\begin{bmatrix} \boldsymbol{a} &amp; \boldsymbol{b} \end{bmatrix}\right)$</span> yields the signed area of the parallelogram formed by those (<span class="math-container">$\boldsymbol{a},\boldsymbol{b}$</span> are two of its non-parallel edges). If you have three 3-D vectors <span class="math-container">$\boldsymbol{a},\boldsymbol{b},\boldsymbol{c}$</span>, putting them together in a matrix <span class="math-container">$\begin{bmatrix}\boldsymbol{a} &amp; \boldsymbol{b} &amp; \boldsymbol{c}\end{bmatrix}$</span> and computing the determinant <span class="math-container">$|\boldsymbol{a}\boldsymbol{b}\boldsymbol{c}| = \operatorname{det}\left(\begin{bmatrix}\boldsymbol{a} &amp; \boldsymbol{b} &amp; \boldsymbol{c}\end{bmatrix}\right)$</span> yields the signed volume of the parallelepiped spanned by those. Similarly, if you have <span class="math-container">$n$</span> <span class="math-container">$n$</span>-D vectors <span class="math-container">$\boldsymbol{a}_1,\ldots,\boldsymbol{a}_n$</span>, then putting them in a matrix <span class="math-container">$\begin{bmatrix}\boldsymbol{a}_1 &amp; \ldots &amp; \boldsymbol{a}_n\end{bmatrix}$</span> and computing the determinant <span class="math-container">$|\boldsymbol{a}_1\ldots\boldsymbol{a}_n|= \operatorname{det}\left(\begin{bmatrix}\boldsymbol{a}_1 &amp; \ldots &amp; \boldsymbol{a}_n\end{bmatrix}\right)$</span> yields the signed hypervolume of the <a href="https://en.wikipedia.org/wiki/Parallelepiped#Parallelotope" rel="nofollow noreferrer"><span class="math-container">$n$</span>-parallelotope</a> formed by those.</p>
<p>Naturally the question arises what happens when you wedge <span class="math-container">$n$</span> <span class="math-container">$d$</span>-D vectors where <span class="math-container">$d$</span> is not equal to <span class="math-container">$n$</span>. A simple example is wedging two 3-D vectors. The coefficients in front of the three resulting <span class="math-container">$2$</span>-blades that you get are <a href="https://en.wikipedia.org/wiki/Cross_product#As_an_external_product" rel="nofollow noreferrer">equal to the coefficients of the cross product</a>, and you have <span class="math-container">$\star(\boldsymbol{a}\wedge\boldsymbol{b}) = \boldsymbol{a}\times\boldsymbol{b}$</span>, where <span class="math-container">$\star$</span> is <a href="https://en.wikipedia.org/wiki/Hodge_star_operator" rel="nofollow noreferrer">the Hodge star operator</a>. 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 <a href="https://en.wikipedia.org/wiki/Levi-Civita_symbol" rel="nofollow noreferrer">Levi-Civita symbol</a> and extract the relevant coefficient.</p>

CC BY-SA 4.0
2022-06-10T02:30:02.140Z
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.
James B
CC BY-SA 4.0
2022-06-10T07:02:02.660Z
@JamesB I updated my answer to address this and then some more.
lightxbulb
CC BY-SA 4.0
2022-06-08T18:02:16.067Z
2022-06-10T07:01:37.917Z
2022-06-10T07:01:37.917Z
lightxbulb
<p>I'm reading section 6.1 (Determinants) of the book Fundamentals of Computer Graphics (5th Ed), in regards to the definition of the determinant:</p>
<p><span class="math-container">\begin{align}
|\textbf{ab}| &amp;= |(x_a \textbf{x} + y_a \textbf{y})(x_b \textbf{x} + y_b \textbf{y})|\\
&amp;= 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}</span></p>
<p>where the following have been declared beforehand:</p>
<p><span class="math-container">$$|(k \textbf{a})\textbf{b}| = |\textbf{a}(k \textbf{b})| = k|\textbf{ab}|$$</span>
<span class="math-container">$$|(\textbf{a}+k \textbf{b})\textbf{b}| = |\textbf{a}(\textbf{b} + k\textbf{a})| = |\textbf{ab}|$$</span>
<span class="math-container">$$| \textbf{a}(\textbf{b} + \textbf{c})| = |\textbf{ab}| + |\textbf{ac}|$$</span></p>
<p>First, I don't know how it's legal to just multiply out the two vectors <span class="math-container">$ \textbf{a}$</span> and <span class="math-container">$ \textbf{b}$</span> like that inside a determinant, but more importantly, even if I assume that, I get</p>
<p><span class="math-container">\begin{align}
|\textbf{ab}| &amp;= |(x_a \textbf{x} + y_a \textbf{y})(x_b \textbf{x} + y_b \textbf{y})|\\
&amp;= |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}</span></p>
<p>but it seems like I'd need something like:
<span class="math-container">$$|\textbf{ab} + \textbf{ac}| = |\textbf{ab}| + |\textbf{ac}|$$</span></p>
<p>to be able to get to that second line with the individual <span class="math-container">$|\textbf{xx}|$</span> type terms. Am I just missing something here?</p>
<p>UPDATE:</p>
<p>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
<span class="math-container">\begin{align}
|\textbf{a}(\textbf{b} + \textbf{c})| &amp;= |\textbf{ab}| + |\textbf{ac}|
\end{align}</span>
and
<span class="math-container">\begin{align}
|(\textbf{b} + \textbf{c})\textbf{a}| = |\textbf{ba}| + |\textbf{ca}|
\end{align}</span>
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
<span class="math-container">\begin{align*}
\textbf{a} &amp;= (x_a \textbf{x} + y_a \textbf{y}) \\
\textbf{b} &amp;= x_b \textbf{x} \\
\textbf{c} &amp;= y_b \textbf{y}
\end{align*}</span>
so that, applying (1) followed by (2), we have
<span class="math-container">\begin{align*}
|(x_a \textbf{x} + y_a \textbf{y})(x_b \textbf{x} + y_b \textbf{y})| &amp;= |\textbf{a}(\textbf{b} + \textbf{c})| \\
&amp;= |(x_a \textbf{x} + y_a \textbf{y})x_b \textbf{x}| + |(x_a \textbf{x} + y_a \textbf{y})y_b \textbf{y}| \\
&amp;= |x_a x_b \textbf{xx}| + |y_a x_b \textbf{yx}| + |x_a y_b \textbf{xy}| + |y_a y_b \textbf{yy}| \\
&amp;= 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*}</span>
where we used the first identity <span class="math-container">$|(k \textbf{a})\textbf{b}| = k|\textbf{ab}|$</span> to pull out the coefficients. This is nice because we're not using e.g. FOIL for &quot;multiplying out the two vectors&quot; as I had originally supposed (even though it looks like that). All we're doing is just applying identities.</p>

CC BY-SA 4.0
2022-06-08T17:11:47.937Z
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$?
lightxbulb
CC BY-SA 4.0
2022-06-08T17:39:12.720Z
@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.
James B
<linear-algebra>
Determinants as another way to multiply two vectors
James B
# Determinants as another way to multiply two vectors

(Asked by: username_0 on 2022-06-08)

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.

**Tags:** linear-algebra

> **Comments:**
> **username_1**: 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$?  
> **username_0**: @username_1 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.  

---

## 1 answers

### Answer by username_1 on 2022-06-08. Score: 1 | Accepted answer

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](https://en.wikipedia.org/wiki/Exterior_algebra#Areas_in_the_plane): $\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)](https://en.wikipedia.org/wiki/Blade_(geometry)), 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](https://en.wikipedia.org/wiki/Parallelepiped#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](https://en.wikipedia.org/wiki/Cross_product#As_an_external_product), and you have $\star(\boldsymbol{a}\wedge\boldsymbol{b}) = \boldsymbol{a}\times\boldsymbol{b}$, where $\star$ is [the Hodge star operator](https://en.wikipedia.org/wiki/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](https://en.wikipedia.org/wiki/Levi-Civita_symbol) and extract the relevant coefficient.

> **Comments:**
> **username_0**: 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.  
> **username_1**: @username_0 I updated my answer to address this and then some more.  

---

