40
$\begingroup$

I have heard all kinds of great things about Clifford/Geometric algebra, but I can't find any good resources. I have been looking EVERYWHERE for just one actual example of a wedge product being calculated and for a bi-, tri- or any multivector to be written out with actual numbers! Every article and video just talks about properties, which is fine, but I have a hard time understand how to use something without a solid example.

Could you please actually compute a wedge product between some vectors? Like [1, 3, -2] ∧ [5, 2, 8] ? Or any other example with values. The more examples the better!

Thank so much!!

$\endgroup$
3
  • 4
    $\begingroup$ I share your frustration. My introduction to wedge products is Muirhead's "Aspects of Multivariate Statistical Theory", where they arise in only a differential sense (dealing with dx's and dy's). I am unaware of anyplace they arise in an absolute sense. $\endgroup$ Jul 6, 2018 at 15:15
  • $\begingroup$ This video dicusses bivectors youtube.com/… Norman Wildberger usually uses number based examples in all his videos. $\endgroup$
    – don bright
    Oct 6, 2021 at 7:04
  • $\begingroup$ Frederic Schuller's lectures on the geometrical anatomy of physics actually show how to calculate this stuff. Theres an online typed up set of notes for them too. I'll also add that I share your frustration too $\endgroup$
    – John
    Jan 9, 2022 at 4:33

6 Answers 6

34
$\begingroup$

I assume your notation $[v^1,v^2,v^3]$ means a vector $\mathbf v \in V \equiv \mathbb R^3$ where $$\mathbf v = v^1\ \mathbf e_1 + v^2\ \mathbf e_2 + v^3\ \mathbf e_3. $$ The wedge operator is a bilinear, antisymmetric operator takes in two vectors $\mathbf v, \mathbf w \in V$ and outputs a bivector $\mathbf v \wedge \mathbf w \in \Lambda^2(V)$ such that $$\begin{split} \mathbf v \wedge \mathbf w &= (v^1\ \mathbf e_1 + v^2\ \mathbf e_2 + v^3\ \mathbf e_3) \wedge (w^1\ \mathbf e_1 + w^2\ \mathbf e_2 + w^3\ \mathbf e_3) \\ &= v^1 w^1\ \mathbf e_1 \wedge \mathbf e_1 + (v^1 w^2 - v^2 w^1)\ \mathbf e_1 \wedge \mathbf e_2 + (v^1 w^3 - v^3 w^1)\ \mathbf e_1 \wedge \mathbf e_3 \\ &\quad + v^2w^2\ \mathbf e_2 \wedge \mathbf e_2 + (v^2 w^3 - v^3 w^2)\ \mathbf e_2 \wedge \mathbf e_3 + v^3w^3\ \mathbf e_3 \wedge \mathbf e_3 \\ &= (v^1 w^2 - v^2 w^1)\ \mathbf e_1 \wedge \mathbf e_2 + (v^1 w^3 - v^3 w^1)\ \mathbf e_1 \wedge \mathbf e_3 + (v^2 w^3 - v^3 w^2)\ \mathbf e_2 \wedge \mathbf e_3. \end{split}\tag1$$ If you're wondering why I have made these simplifications:

  • The wedge is bilinear, i.e. $(a\mathbf v + b \mathbf w) \wedge \mathbf x = a(\mathbf v \wedge \mathbf x) + b(\mathbf w \wedge \mathbf x)$ and the same in the second slot, so this allows us to distribute it through the linear combinations in parentheses after the first equal sign, and take out the coefficients;
  • The wedge is antisymmetric, i.e. $\mathbf v \wedge \mathbf w = - \mathbf w \wedge \mathbf v$, which implies $\mathbf v \wedge \mathbf v = \mathbf 0$, so this allows us to "reorder" $a(\mathbf e_2 \wedge \mathbf e_1) = - a (\mathbf e_1 \wedge \mathbf e_2)$, etc., in the second line, and simplify $b (\mathbf e_1 \wedge \mathbf e_1) = b\ \mathbf 0 = \mathbf 0$, etc., in the third.

Notice that if you set $$\begin{split} \mathbf e_1 \wedge \mathbf e_2 &\mapsto \mathbf e_3, \\ \mathbf e_1 \wedge \mathbf e_3 &\mapsto - \mathbf e_2, \\ \mathbf e_2 \wedge \mathbf e_3 &\mapsto \mathbf e_1, \end{split}\tag2$$ you get the cross product $\mathbf v \times \mathbf w$! Since $\{\mathbf e_i \wedge \mathbf e_j,\ 1\leq i < j\leq n\}$ turns out to be a basis for $\Lambda^2(V)$ when $\dim V = n$, $(2)$ defines a map $\star : \Lambda^2(V) \to \Lambda^1(V) \equiv V$ which is called Hodge dual and can actually be generalized to higher dimensions. However it is basically only in dimension $3$ that it takes this simple, familiar form (this is because $\dim \Lambda^2(V) = \dim V$ when $n=3$).

In the specific case where $$\mathbf v = \mathbf e_1 + 3 \mathbf e_2 -2 \mathbf e_3, \qquad \mathbf w = 5 \mathbf e_1 + 2 \mathbf e_2 + 8 \mathbf e_3, $$ you get, from $(1)$, $$\begin{split} \mathbf v \wedge \mathbf w &= -13\ \mathbf e_1 \wedge \mathbf e_2 + 18\ \mathbf e_1 \wedge \mathbf e_3 +28\ \mathbf e_2 \wedge \mathbf e_3 . \end{split}$$ As a confirmation, notice $\star(\mathbf v \wedge \mathbf w) = \mathbf v \times \mathbf w$.

If you are interested in the "concrete" side of exterior algebra, I suggest you give a look at Sergei Winitzki's Linear Algebra via Exterior Products, which is available online for free. He introduces these very abstract concepts, like tensor products, wedge products, hodge duality, etc., but always manages to include simple computational examples that show how they work. You can find the book here.

$\endgroup$
2
  • $\begingroup$ What is $\Lambda^2,\Lambda^1$ $\endgroup$
    – FShrike
    Dec 25, 2021 at 18:32
  • $\begingroup$ @FShrike the second and first exterior powers of a given vector space, which gives us spaces of 2-vectors(bivectors) and 1-vectors(just regular vectors). The direct sum of all exterior powers of a vector space is the exterior algebra of the vector space. $\endgroup$ Sep 17, 2023 at 2:11
7
$\begingroup$

I have been looking EVERYWHERE for just one actual example of a wedge product being calculated and for a bi-, tri- or any multivector to be written out with actual numbers!

The reason why this is the case is because the wedge product of two vectors is not just some array of numbers. Sure, every finite dimensional vector space is isomorphic to the vector space of the tuples of that length, hence you can describe it as array of numbers (by mapping it with that isomorphism which simply maps the basis of your space to some basis of the tuples). However is that meaningful thing to do? In some cases it might be but in general you have to realize that this is just an arbitrary choice. There are a lot of bases so you can do this in many ways.

In the three dimensional case there's important map, the Hodge isomorphism, that gives you a way to represent the wedge of two vectors with a vector from your original space (this is actually the cross product, if you chose the right parameters for the map), however this map requires two extra parameters that introduce more structure to your space (namely inner product and a choice of volume form).

In the case of $(1, 3, -2) \wedge (5, 2, 8)$, there's not much else that you can do other than picking an arbitrary basis of your original space and expressing that product in terms of the wedged basis vectors. For example $$(1,3,-2) = 1(1, 0, 0) + 3(0,1,0) -2(0,0,1)$$ $$ (5,2,8) = 5(1, 0, 0) + 2(0,1,0) +8(0,0,1) $$ $$ (1,3,-2) \wedge (5,2,8) = (1(1, 0, 0) + 3(0,1,0) -2(0,0,1)) \wedge (5(1, 0, 0) + 2(0,1,0) +8(0,0,1)) = 5 (1, 0, 0) \wedge (1, 0, 0) + 15 (0,1,0) \wedge (1, 0, 0) - 10 (0,0,1) \wedge (1, 0, 0) + 2 (1, 0, 0) \wedge (0,1,0) - 4 (0,0,1) \wedge (0,1,0) + 8 (1, 0, 0) \wedge (0,0,1) + 24 (0,1,0) \wedge (0,0,1) - 16 (0,0,1) \wedge (0,0,1) = -15 (1, 0, 0) \wedge (0,1,0) + 2 (1, 0, 0) \wedge (0,1,0) + 10 (1, 0, 0) \wedge (0,0,1) + 8 (1, 0, 0) \wedge (0,0,1) + 24(0,1,0) \wedge (0,0,1) + 4 (0,1,0) \wedge (0,0,1) = 28 (0,1,0) \wedge (0,0,1) + 18 (1, 0, 0) \wedge (0,0,1) - 13 (1, 0, 0) \wedge (0,1,0) $$

Or now using the mentioned arbitrary isomorphism (mapping that chosen basis to the chosen basis of tuples) you can map it to just array of numbers hence (28,18, -13) but that's not too meaningful because it doesn't explicitly show the basis.

$\endgroup$
6
$\begingroup$

Wedge product refers to the exterior algebra, not clifford algebra (though it can be emulated in the latter).

So, suppose you have vectors $x=(1,3,-2)$ and $y=(5,2,8)$. Let $\{e_1,e_2,e_3\}$ be the basis of our vector space $\mathbb R^3$, so $x=1\cdot e_1 + 3 \cdot e_2 - 2 \cdot e_3$ and $y=5\cdot e_1 + 2 \cdot e_2 + 8 \cdot e_3$.

The wedge product of two vectors, strictly speaking, is not itself a vector of the same space $V$, but of the exterior square $\Lambda ^2V$. If $\dim V=n$, then $\dim \Lambda^2 V = \frac{n(n-1)}{2}$. In three dimensions, however, it happens that $\dim \Lambda^2 V=\frac{3\cdot 2}{2}=3$.

The main rules for wedge products are $a \wedge a=0$ and $a \wedge b = - b \wedge a$. One common basis for $\Lambda^2 \mathbb R^3$ is $\{e_2 \wedge e_3, e_3 \wedge e_1, e_1 \wedge e_2\}$.

So, let's plug everything in (and remember that $\wedge$ is bilinear):

$$x\wedge y=(1\cdot e_1 + 3 \cdot e_2 - 2 \cdot e_3) \wedge (5\cdot e_1 + 2 \cdot e_2 + 8 \cdot e_3) = \\ 1\cdot 5 \cdot e_1 \wedge e_1 + 1\cdot 2 \cdot e_1 \wedge e_2 + 1\cdot 8 \cdot e_1 \wedge e_3 + \\ 3\cdot 5 \cdot e_2\wedge e_1 +3\cdot 2 \cdot e_2\wedge e_2 +3\cdot 8 \cdot e_2\wedge e_3 - \\ 2\cdot 5 \cdot e_3\wedge e_1 -2\cdot 2 \cdot e_3\wedge e_2 -2\cdot 8 \cdot e_3\wedge e_3 = \\ 5 \cdot \mathbb O + 2 \cdot e_1 \wedge e_2 - 8 \cdot e_3 \wedge e_1 - \\ 15 \cdot e_1\wedge e_2 +6 \cdot \mathbb O +24 \cdot e_2\wedge e_3 - \\ 10 \cdot e_3\wedge e_1 +4 \cdot e_2\wedge e_3 -16 \cdot \mathbb O = \\ 28 \cdot e_2\wedge e_3-18 \cdot e_3\wedge e_1 - 13 \cdot e_1\wedge e_2 $$

Here, $\mathbb O$ denotes the zero vector.

$\endgroup$
3
  • $\begingroup$ I'd like to make you aware of this parallel unsolved question. I would be happy to post a bounty on it. $\endgroup$ Aug 21, 2019 at 4:15
  • $\begingroup$ @lisyarus This worked example is helpful. For a start-to-finish procedural through-line, what steps would be required to express 28⋅𝑒2∧𝑒3−18⋅𝑒3∧𝑒1−13⋅𝑒1∧𝑒2 as a matrix? $\endgroup$
    – bblohowiak
    Sep 27, 2019 at 17:46
  • 2
    $\begingroup$ @bblohowiak the standard representation of multivectors (in a geometric algebra over a vector space $V$) as matrices requires $2^n$ dimensions, based on the dimension $n$ of $V$. If you represent your multivectors according to the following basis $[1, e_1, e_2, e_3, e_1 \wedge e_2, e_2 \wedge e_3, e_3 \wedge e_1, e_1 \wedge e_2 \wedge e_3]$, then the matrix representation of the multivector here would be $(0, 0, 0, 0, -13, 28, -18, 0)$. $\endgroup$ Nov 14, 2021 at 16:38
3
$\begingroup$

For those looking for a numerical way to play around with clifford algebras and the wedge product, I found this python package a good place to start: https://github.com/pygae/clifford

Assuming you are interested in using a normal 3D euclidean space you can simply run: from clifford.g3 import * a = 1*e1 + 3*e2 - 2*e3 b = 5*e1 + 2*e2 + 8*e3 c = a^b This produces: c = -(13.0^e12) + (18.0^e13) + (28.0^e23) as @giobrach correctly calculates

EDIT

Full disclosure I am one of the core contributors to the clifford python package

$\endgroup$
2
  • 2
    $\begingroup$ Welcome to the site. It is alright to mention ones own software but it should be disclosed. $\endgroup$
    – quid
    Dec 7, 2018 at 17:39
  • 2
    $\begingroup$ Thanks @quid, I'm not totally sure what the form is for this, especially as I am not the original author of the software, but will add it as an edit $\endgroup$ Dec 8, 2018 at 12:35
0
$\begingroup$

Here is the solution to the example you posted.

Wedge product, AKA Exterior product, of two vectors u and v is defined as

$$ v \wedge v = u \otimes v - v \otimes u $$

Where $ \otimes $ represents tensor product, AKA outer product.

A n-dimensional vector is traditionally represented as an n x 1 matrix. (Other representations are possible, but we will stick to just one convention.)

So, taking your example,

$$ u = \begin{bmatrix} 1 \\ 3 \\ -2 \end{bmatrix} $$ $$ v = \begin{bmatrix} 5 \\ 2 \\ 8 \end{bmatrix} $$

In matrix notation $ u \otimes v = u \; v^T $

so,

$$ u \otimes v = u \; v^T \\ = \begin{bmatrix} 1 \\ 3 \\ -2 \end{bmatrix} \begin{bmatrix} 5 & 2 & 8 \end{bmatrix} \\ = \begin{bmatrix} 1 \cdot 5 & 1 \cdot 2 & 1 \cdot 8 \\ 3 \cdot 5 & 3 \cdot 2 & 3 \cdot 8 \\ -2 \cdot 5 & -2 \cdot 2 & -2 \cdot 8 \end{bmatrix} \\ = \begin{bmatrix} 5 & 2 & 8 \\ 15 & 6 & 24 \\ -10 & -4 & -16 \end{bmatrix} $$

and,

$$ v \otimes u = v \; u^T \\ = \begin{bmatrix} 5 \\ 2 \\ 8 \end{bmatrix} \begin{bmatrix} 1 & 3 & -2 \end{bmatrix} \\ = \begin{bmatrix} 5 \cdot 1 & 5 \cdot 3 & 5 \cdot -2 \\ 2 \cdot 1 & 2 \cdot 3 & 2 \cdot -2 \\ 8 \cdot 1 & 8 \cdot 3 & 8 \cdot -2 \end{bmatrix} \\ = \begin{bmatrix} 5 & 15 & -10 \\ 2 & 6 & -4 \\ 8 & 24 & -16 \end{bmatrix} $$

This gives us the final answer

$$ u \wedge v = u \otimes v - v \otimes u = \\ \begin{bmatrix} 0 & -13 & 18 \\ 13 & 0 & 28 \\ -18 & -28 & 0 \end{bmatrix} $$

As you can see, wedge product of two n dimensional vectors results in an anti-symmetric matrix. In this matrix, there are only 3 unique components (those confined to the upper right triangle). Using these 3 components, we can create a new 3 dimensional vector that is defined as the cross product of u and v.

In the literature, wedge product is sometimes loosely interchanged with cross product. They are closely related but not identical. Cross product is a special case of wedge product. Cross product is only defined for two 3-dimensional vectors.

$\endgroup$
2
  • $\begingroup$ "Using these 3 components, we can create a new 3 dimensional vector that is defined as the cross product of u and v." How can we create a new 3-Dimensional vector from it? :D $\endgroup$
    – lalala245
    Sep 16, 2022 at 5:39
  • 1
    $\begingroup$ @lalala245 without loss of generality, you can look how the angular velocity tensor/bivector (bivectors and skew symmetric matrices are isomorphic) is expressed as a SSM, and see how to extract vector components from there en.wikipedia.org/wiki/Angular_velocity_tensor $\endgroup$ Sep 17, 2023 at 2:16
-1
$\begingroup$

I think your question is slightly vague. Do you mean the exterior product between $(1,3,-2)$ and $(5,2,8)$ in $\mathbb{R}^3$? In that case, a concrete rule is $$(1,3,-2) \wedge (5,2,8) = (3\cdot8+2\cdot 2, -(1\cdot 8+2\cdot5),1\cdot2-3\cdot5)=(28,-18,-13).$$

In fact in general $$(a,b,c) \wedge (a',b',c') = (bc'-b'c,-(ac'-ca'),ab'-ba').$$

$\endgroup$
2
  • 1
    $\begingroup$ This is incorrect. The wedge product of two vectors in $\mathbb{R}^3$ is not vector from $\mathbb{R}^3$, you are implicitly using the linear isomorphism $\phi$ that acts like $$\phi\left( (0,1,0) \wedge (0,0,1) \right) = (1, 0,0)$$ $$ \phi\left( (0,0,1) \wedge (1,0,0) \right) = (0, 1,0)$$ $$ \phi\left( (1,0,0) \wedge (0,1,0) \right) = (0, 0,1)$$ $\endgroup$
    – gcc-6.0
    Jul 6, 2018 at 16:12
  • $\begingroup$ Right. My first point is sometimes the symbol $\wedge$ is used for the exterior product in $\mathbb{R}^3$ - at least in my experience. That is why I said the question is slightly vague. I gave a 'concrete' way of doing this operation because I think it is a good starting point to understand the more abstract definition of wedge product. It sounds really strange to me that the OP did not find any reference about this topic - even on Wikipedia there is a very good dissertation on it. So I preferred to give my answer as 'down to earth' hint. $\endgroup$
    – Gibbs
    Jul 6, 2018 at 19:24

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .