How to perform wedge product

25.6k Views Asked by At

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!!

6

There are 6 best solutions below

2
On

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').$$

2
On

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.

0
On

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.

3
On

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.

2
On

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

2
On

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.