In addition to the geometric product there are two more types of multiplication used in Geometric Algebra. We want to extend and generalise the 'dot' and 'cross' products used in 3D vector algebra to be applied in any number of dimensions, in this case, 2D.
Inner product by a vector reduces the grade of a multivector. It is related to the dot product.
Outer product by a vector increases the grade of a multivector. It is related to the cross product.
Outer product
We want the outer product to be an extension of the vector cross product:
x = Ay * Bz  By * Az
y = Az * Bx  Bz * Ax
z = Ax * By  Bx * Ay
This gives a bivector which is mutually perpendicular to the vectors being multiplied. But how do we extend this so that we can multiply nonvectors? There are different definitions for the outer product so we need to be careful, if you use other websites or books you may find that they use different definitions. Here is the full 2D Outer multiplication table:
a^b 
b.e  b.e1  b.e2  b.e12 
a.e  e  e1  e2  e12 
a.e1  e1  0  e12  0 
a.e2  e2  e12  0  0 
a.e12  e12  0  0  0 
This has the following nice properties:
 It is a compatible with the vector cross product.
 ^ product with a vector increases the grade by one.
 even grades commute, odd grades anticommute.
 It is associative.
 It is linear  multiplication by a scalar does not change the grade.
It is relatively easy to derive using the following rules:
 When two independent base vectors are outer multiplied, for instance e_{1}^ e_{2}, we cant further simplify the result so we just leave the result as: e_{1}^ e_{2}.
 When two parallel base vectors are outer multiplied, for instance e_{1}^ e_{1} the result is zero, so if the same base occurs 2 or more times in any term then the whole term is zero.
By starting with the vector cross product terms we can derive the remaining terms in the table as follows:
e_{1} ^ e_{1} = 0 
because we have chosen to let vectors square to zero as with vector cross product. 
e_{1} ^ e_{2} = e_{12} 
As with vector cross product, vectors anticommute, we can also derive this because the vectors will cancel out when a general vector is squared: (a e_{1} + b e_{2})^{2} =0^{}. 
e_{1} ^ e_{12} =0_{} 
these are derived from the results above using these rules. 
e_{12} ^ e_{12} = 0 
these are derived from the results above using these rules. 
Inner product.
We want the outer product to be an extension of the vector dot product:
A • B = Ax * Bx + Ay * By
This gives a scalar which depends on the angle between the vectors being multiplied, it is zero if the vectors are perpendicular and zero if the vectors are parallel. But how do we extend this so that we can multiply nonvectors? There are different definitions for the inner product so we need to be careful, if you use other websites or books you may find that they use different definitions. Here we will use the 'semicommutative inner product' which has the following 2D Inner multiplication table:
a•b 
b.e  b.e1  b.e2  b.e12 
a.e  0  0  0  0 
a.e1  0  e  0  e2 
a.e2  0  0  e  e1 
a.e12  0  e2  e1  e 
This has the following nice properties:
 It is a superset of the vector dot product.
 • product with a vector decreases the grade by one.
 odd grades commute, even grades anticommute.
 It is not associative.
By starting with the vector cross product terms we can derive the remaining terms in the table as follows:
e_{1} • e_{1} = e 
because we have chosen to let vectors square to zero as with vector cross product. 
e_{1} • e_{2} = 0 _{}

As with vector cross product vectors anticommute, we can also derive this because the vectors will cancel out when a general vector is squared: (a e_{1} + b e_{2})^{2} =a^{2} + b^{2} 
e_{1} • e_{12} =e2_{} e_{2} • e_{12} = e_{2} • e_{21} = e1 _{} 
The result of inner multiplying a vector base by a bivector base depends on weather they contain a common base, if they do, make the bases adjacent then the common base cancels out: e_{1} • e_{12} =e_{2} if they don't the result is zero: e_{1}•(e_{2}^e_{3})=0 Same thing for inner multiplying by a trivector. 
e_{12} • e_{1} = e_{21} • e_{1} = e2 _{} e_{12} • e_{2} = e1 _{} e_{12} • e_{3} = 0 _{} 

e_{12} • e_{12} = e_{21} • e_{12} = e

When multiplying two bivectors, if the bivectors have the same bases then we need to reverse one of them to get adjacent terms together, then we can cancel out terms, so we always get e. If the bivectors are different the result will always be zero. When multiplying a bivector by a trivector we reverse as necessarily to cancel out two of the terms to leave a vector. 
Identities
The following identities relate the inner, outer and geometric products of vectors (grade one multivector) :
a•b = ½ (ab + ba)  This is symmetrical (a•b = b•a) 
a^b = ½ (ab  ba)  This is antisymmetrical (a^b =  b^a) 
a * b = a•b + a^b 
Where:
 a and b are vectors
 K_{k} a multivector of grade k
We can extend this to the multiplication of a vector by a general multivector as follows:
a•K = ½ (aK + (1)^{k+1}Ka)
a^K = ½ (aK + (1)^{k }Ka)
a*K = a•K + a^K
Where k is the grade of K. The (1)^{k} factor alternates the sign as follows: