# Geometric products

The *geometric product* is the fundamental product of geometric algebra. There are two products with symmetric properties called the geometric product and geometric antiproduct.

## Geometric Product

The geometric product between two elements $$\mathbf a$$ and $$\mathbf b$$ has often been written by simply juxtaposing its operands as $$\mathbf{ab}$$ without the use of any infix operator. However, this clearly becomes impractical when both a product and antiproduct are present in the same context, which is now known to be necessary for a proper understanding of the algebra. To remedy the situation, we write the geometric product between elements $$\mathbf a$$ and $$\mathbf b$$ as $$\mathbf a \mathbin{\unicode{x27D1}} \mathbf b$$ and read it as "$$\mathbf a$$ wedge-dot $$\mathbf b$$".

The geometric product is characterized by a metric that defines the products of the basis vectors with themselves. The subscript in $$\mathcal G_{3,0,1}$$ means that three basis vectors square to +**1**, zero basis vectors square to −**1**, and one basis vector squares to 0. The geometric product between two different basis vectors is given by the wedge product. We can write these rules as follows.

- $$\mathbf e_1 \mathbin{\unicode{x27D1}} \mathbf e_1 = \mathbf 1$$

- $$\mathbf e_2 \mathbin{\unicode{x27D1}} \mathbf e_2 = \mathbf 1$$

- $$\mathbf e_3 \mathbin{\unicode{x27D1}} \mathbf e_3 = \mathbf 1$$

- $$\mathbf e_4 \mathbin{\unicode{x27D1}} \mathbf e_4 = 0$$

- $$\mathbf e_i \mathbin{\unicode{x27D1}} \mathbf e_j = \mathbf e_i \wedge \mathbf e_j$$, for $$i \neq j$$.

The following Cayley table shows the geometric products between all pairs of basis elements in the 4D rigid geometric algebra $$\mathcal G_{3,0,1}$$. The identity of the geometric product is the scalar basis element $$\mathbf 1$$.

Cells colored yellow correspond to the contribution from the wedge product.

## Geometric Antiproduct

The geometric antiproduct is a dual to the geometric product. The geometric antiproduct between elements $$\mathbf a$$ and $$\mathbf b$$ is written $$\mathbf a \mathbin{\unicode{x27C7}} \mathbf b$$ and is read as "$$\mathbf a$$ antiwedge-dot $$\mathbf b$$".

The same metric that defines products of basis vectors under the geometric product also applies to the geometric antiproduct, except that now it defines products of basis antivectors. Three basis antivectors square to $$+{\large\unicode{x1D7D9}}$$, zero basis antivectors square to $$-{\large\unicode{x1D7D9}}$$, and one basis antivector squares to 0. The geometric antiproduct between two different basis antivectors is given by the antiwedge product. We can write these rules as follows.

- $$\overline{\mathbf e_1} \mathbin{\unicode{x27C7}} \overline{\mathbf e_1} = {\large\unicode{x1D7D9}}$$

- $$\overline{\mathbf e_2} \mathbin{\unicode{x27C7}} \overline{\mathbf e_2} = {\large\unicode{x1D7D9}}$$

- $$\overline{\mathbf e_3} \mathbin{\unicode{x27C7}} \overline{\mathbf e_3} = {\large\unicode{x1D7D9}}$$

- $$\overline{\mathbf e_4} \mathbin{\unicode{x27C7}} \overline{\mathbf e_4} = 0$$

- $$\overline{\mathbf e_i} \mathbin{\unicode{x27C7}} \overline{\mathbf e_j} = \overline{\mathbf e_i} \vee \overline{\mathbf e_j}$$, for $$i \neq j$$.

The following Cayley table shows the geometric antiproducts between all pairs of basis elements in the 4D rigid geometric algebra $$\mathcal G_{3,0,1}$$. The identity of the geometric antiproduct is the antiscalar basis element $${\large\unicode{x1D7D9}}$$.

Cells colored yellow correspond to the contribution from the antiwedge product.

## De Morgan Laws

There are many possible geometric products and antiproducts. The signs of the results they produce differ in grade-dependent ways, but are otherwise equivalent. The relationship between the product and antiproduct is fixed by a specific choice of dualization function that exchanges full and empty dimensions. We choose the left and right complements as the dualization function and its inverse. We can then express each product in terms of the other through an analog of De Morgan's laws as follows.

- $$\overline{\mathbf a \mathbin{\smash{\unicode{x27D1}}} \mathbf b} = \overline{\mathbf{a\vphantom{b}}} \mathbin{\unicode{x27C7}} \overline{\mathbf b}$$

- $$\overline{\mathbf a \mathbin{\smash{\unicode{x27C7}}} \mathbf b} = \overline{\mathbf{a\vphantom{b}}} \mathbin{\unicode{x27D1}} \overline{\mathbf b}$$

- $$\underline{\mathbf a \mathbin{\smash{\unicode{x27D1}}} \mathbf b} = \underline{\mathbf{a\vphantom{b}}} \mathbin{\unicode{x27C7}} \underline{\mathbf b}$$

- $$\underline{\mathbf a \mathbin{\smash{\unicode{x27C7}}} \mathbf b} = \underline{\mathbf{a\vphantom{b}}} \mathbin{\unicode{x27D1}} \underline{\mathbf b}$$