Looking for a clear definition of the geometric product In brief: I'm looking for a clearly-worded definition1 of the geometric product of two arbitrary multivectors in $\mathbb{G}^n$.

I'm having a hard time getting my bearings in the world of "geometric algebra", even though I'm using as my guide an introductory undergraduate-level2 book (Linear and  geometric algebra by Macdonald).
Among the general problems that I'm running into is that most definitions and theorems that I find (either in this book, or online) seem to apply to some multivectors (e.g. to $k$-vectors, or to blades), not all.  Sometimes it is not clear to me whether a definition or result refers to all multivectors in $\mathbb{G}^n$ or only to a distinguished subset (e.g. blades), since these definitions/theorems are expressed in terms the word "vector".  This leads to the pervading doubt as to whether this word "vector" is being meant as synonymous with "multivector"—i.e. an object in the so-called "vector space $\mathbb{G}^n\;$")—, or with "$1$-vector", or with "$k$-vector", or something else entirely.
(Hence the specification "clearly-worded" in my question above.  A more accurate specification would have been "unambiguously-worded", but it would have been puzzling on first encounter.)
Case in point is the definition of the geometric product in $\mathbb{G}^n$.  Macdonald gives a very partial definition of this product for "vectors" (and only in $\mathbb{G}^3$)3, but far as I can tell Macdonald never defines this product in general, even though he uses it freely throughout much of the book!  I find this astonishing, to put it mildly.  But, please correct me if I'm wrong.

1In his answer below Alan Macdonald writes "I do not think it possible to give a quick definition of the general geometric product."  In light of this remark, I want to stress that succinctness is not among the requirements in my specifications what I'm looking for.

2The original version of this post incorrectly described this book as being written for "high-school students", but the author pointed out this error in his answer below.  I apologize for the (now-amended) inaccuracy.
3 On p. 82, Macdonald gives a definition for the geometric product of two $1$-vectors in $\mathbb{G}^3$, and later explicitly states: "We have defined the geometric product of two vectors, but not for example, the geometric product of a vector and a bivector.  This will be taken up in the next chapter, where we will learn to take the geometric product of any two multivectors."  As far as I can tell, however, the "next chapter", which is called simply $\mathbb{G}^n$, never fulfills this promise.  Or at least, it never gives a definition for the geometric product of any two multivectors in $\mathbb{G}^n$.
 A: *

*Start with the geometric product of vectors.


This uses the usual properties.  For vectors $a, b, c$, $aa$ is a scalar, $a(bc) = (ab)c$, and $a(b+c) = ab + ac$. For a scalar $\alpha$, $(\alpha a)b = \alpha(ab)$.


*

*A $k$-blade is a geometric product of $k$ anticommuting vectors.


Typically this is written in terms of wedge products, which is why this can be confusing, but you can always take a wedge product of several vectors and orthogonalize those vectors to turn those wedges into geometric products.
I use the word $k$-blade here, rather than $k$-vector.  Usually, the two would be considered equivalent.  But here I'm just sticking to "vector" meaning "1-blade".


*

*Because blades are formed from some number of anticommuting vectors, the geometric product of blades is well-defined in terms of the product of vectors and associativity.


So if I have two blades $K = abc$ and $L = defgh$ where all $a,b,c$ are orthogonal and $d,e,f,g,h$ are orthogonal to each other, then $KL = (abc)(defgh)$ is a meaningful geometric product.


*

*A multivector is a linear combination of blades, which aren't necessarily all of the same grade.  Using linearity, the geometric product of multivectors merely involves geometric products of component blades.


Let $M = ijkl$ and $N= mn$.  See that $(K+L)(M+N)$ is given by
$$\begin{align*}(K+L)(M+N) &= KM + LM + KN + LN  \\ &= (abc)(ijkl) + (defgh)(ijkl) + (abc)(mn)+ (defgh)(mn)\end{align*}$$
A: Because of linearity, we only have to consider the definition of $A_rB_s$. And Because of the associativity,  $A_rB_s =aA_{r-1}B_s = a(A_{r-1}B_s) $ for some $a$ and $A_{r-1}$, we only to consider the definition of $aA_r$.
below is not a brief word definition per se, but my current understanding of the construction of geometric products.
1). starting from the axiom $u^2$ is a real scalar, we have $u\cdot v$ defined as real. 
2). From $u\cdot v$, we can define orthogonality such that if $u\cdot v = 0$, $uv = -vu=u\wedge v$. 
3). from 2), we can build orthogonal basis $\{e_i\}$. The geometry products of $\{e_i\}$ are well defined according to 2) above.  And then $\{e_i\}$ expands to canonical basis $\{1,e_i, e_ie_j,...\}$ with geometry products defined. 
4).The general definition of $aA_r$ can be obtained from the linearity and from the geometry products of canonical basis.
A: I get the impression from the other answers that people have two different ideas of what constitutes a "definition" of the geometric product.
The Clifford algebra of $V$ is usually defined as the tensor algebra of $V$ modulo $v^2=\pm\left\lVert v\right\rVert^2$, or words to that effect. This completely defines the product. Given arbitrary expressions $A, B, C$ from the algebra, $AB=C$ iff you can transform $AB$ into $C$, or vice versa, using only manipulations permitted by the axioms. You can show that any expression can be reduced to a canonical form of $2^n$ terms (some perhaps zero), and that expressions are equal iff they have identical canonical forms.
Alternately, you can define "Clifford numbers" as elements of $F^{2^n}$ with an inclusion $V\hookrightarrow F^{2^n}$, define multiplication as a binary operation on this space, and prove that it satisfies the algebraic rules.
This is completely analogous to definitions of other number systems; e.g. you can define complex numbers as $\mathbb R[i]$ modulo $i^2=-1$, or as $\mathbb R^2$ with $(a,b)*(c,d) = (ac-bd,ad+bc)$. The latter is useful for software implementation and for proving that complex numbers actually exist, but the former is easier to remember and is closer to how people think about them in practice.
Macdonald's book takes the view that the product is an operation on Clifford numbers, and indeed it never seems to define it (instead citing a paper of his that is freely available online). Practically speaking it doesn't matter because the rules in Theorem 6.1 are enough to work out any product. But I'm not convinced it was a good idea pedagogically.
He wrote in his answer, "I do not think it possible to give a quick definition of the general geometric product." I disagree; I think it can be defined in a sentence. It's not so easy to prove that the definition is consistent and nontrivial, but it's still a definition.
A: There is a definition of the geometric product that applies to general multivectors in any Clifford algebra. It follows directly from the definition of the Clifford algebra. To define a Clifford algebra you need a vector space $V$ and a symmetric bilinear form $B(u,v)$ defined for any $u,v\in V$. The Clifford algebra is the quotient of the tensor algebra of $V$ with respect to the two-sided ideal generated by all elements of the form $u\otimes v+v\otimes u -2B(u,v)$ where $u,v\in V$. The geometric product is the product in the quotient algebra. It is standard and you can find the definition of that in any textbook on abstract algebra. Basically, the geometric product is the product in the tensor algebra of $V$ modulo the ideal.

AN EXAMPLE:
To illustrate, consider $\mathbb R^2$ and the bilinear form defined by $B(e_1,e_1)=1$, $B(e_2,e_2)=1$, $B(e_1,e_2)=0$, where $e_1=(1,0)$ and $e_2=(0,1)$. The two-sided ideal generated by $u\otimes v+v\otimes u -2B(u,v)$ is infinite dimensional as the tensor algebra itself. It contain the following elements among others: 
$e_1\otimes e_1-1,\quad e_2\otimes e_2-1,\quad \text{and}\quad e_1\otimes e_2+e_2\otimes e_1$.
This can be used to compute the following products:
$e_1e_1 = e_1\otimes e_1=e_1\otimes e_1 -(e_1\otimes e_1-1)=1$,
$e_2e_2 = e_2\otimes e_2=e_2\otimes e_2 -(e_2\otimes e_2-1)=1$,
$e_1e_2=e_1\otimes e_2= \tfrac{1}{2}(e_1\otimes e_2- e_2\otimes e_1)+\tfrac{1}{2}(e_1\otimes e_2+ e_2\otimes e_1)=\tfrac{1}{2}(e_1\otimes e_2- e_2\otimes e_1)$.
In short, $e_1^2=1$, $e_2^2=1$, and $e_1e_2=-e_2e_1$.
Even though the tensor algebra is infinite-dimensional, the quotient algebra is finite-dimensional. See what happens if you try to get to grade 3. For instance, consider this product 
$e_1(e_1\wedge e_2)$ where $e_1\wedge e_2=\tfrac{1}{2}(e_1\otimes e_2- e_2\otimes e_1)$. 
It is again a straightforward application of the tensor product modulo the ideal:
$e_1(e_1\wedge e_2)=\tfrac{1}{2}(e_1\otimes e_1\otimes e_2 - e_1 \otimes e_2\otimes e_1)$
but $e_1\otimes e_1\otimes e_2=(e_1\otimes e_1-1)\otimes e_2 +e_2=e_2$ and
$e_1\otimes e_2\otimes e_1=(e_1\otimes e_2+e_2\otimes e_1)\otimes e_1 -e_2\otimes e_1\otimes e_1=$
$=e_2\otimes e_1\otimes e_1=e_2+e_2\otimes(e_1\otimes e_1-1)=e_2$.
So, we get $e_1(e_1\wedge e_2)=\tfrac{1}{2}(e_2+e_2)=e_2$, that is we are back to grade 1. Since the quotient algebra is finite-dimensional, every element can be expressed in term of the basis, which consists of $1, e_1, e_2, e_1e_2$ in the example we are considering. So, every multivector $A$ can be expressed as follows:
$A=s+xe_1+ye_2+pe_1e_2$.
If you have two such multivectors you can compute the product simply by using associativity, distributivity, and the properties we have derived above: $e_1^2=1, e_2^2=1, e_1e_2=-e_2e_1$.
You can easily repeat this exercise for other dimensions and for different bilinear forms.

To come back to the definition of the geometric product, here is how you can understand its significance. In geometry, you are dealing with certain geometric structures. For instance, you might want to find a line passing through two points, or you might want to find a point at the intersection of two lines. These kinds of problems can be dealt with efficiently by applying the exterior structure. You also might want to find, say, a line which passes through a given point and is perpendicular to another line. This kind of problem is related to the orthogonal structure. The tensor product is too general. By using the quotient algebra you are effectively eliminating any part of the tensor product which is not related to exterior or orthogonal structure. What is left has a clear geometric significance. In a way, the geometric product does a lot of work for you behind the curtains, so that you can concentrate on the relevant geometric structures. The expression $uv=u\cdot v+u\wedge v$ is not really the definition of the product. It is just a property that the geometric product of two vectors has. 
Alan Macdonald does not use the definition of the geometric product I described above because he does not presume his readers are familiar with the tensor algebra, ideals, or quotients. Instead, he wants to concentrate on applications, geometric properties of the algebra, and on computation. If you are not satisfied with his approach, perhaps you need to read another book. This one
Clifford Algebras and Lie Theory, by Meinrenken
is recent and it uses the same definition I used. There are other equivalent ways to define Clifford algebras. If you are interested, check out these books as well
Quadratic Mappings and Clifford Algebras, by Helmstetter and Micali,
Clifford Algebras: An introduction, by Garling.
Perhaps, after trying to read these books you will appreciate Alan's book more.
Clifford algebra is a well-established part of standard mathematics. It is used in differential geometry and Clifford Analysis, not to mention various applications in physics.  No one questions its validity. People who refer to it as Geometric algebra simply want to help promote it in engineering, applied mathematics, and physics. The focus is on applications rather than mathematical rigour. As Alan has pointed out, you don't need to know how the algebra is defined in general in order to use it. You can always compute the product in the basis. It gets tedious to do it by hand as the dimension of the underlying vector space increases, but it can be implemented on a computer quite easily.
A: *

*The book is not intended for high school students. 
According to the preface it is intended for "the introductory linear algebra course", a sophomore college course. 
The preface also recommends a calculus course for "mathematical maturity".

*Definition 5.9 defines the geometric product of two vectors. 
The first paragraph of Section 6.1 gives reasons for not giving a definition of the geometric product of arbitrary multivectors.
(It also cites a paper which gives a definition.)
Instead, Theorem 6.1 gives the fundamental rules for manipulating the geometric product of multivectors.

*The answer from Muphrid starts by assuming that for vectors $a, b, c,\, a(bc) = (ab)c$. Of course this is true. 
But it cannot be used to define the general geometric product.
For 
$(ab)c$ = (scalar + bivector)(vector)
and (bivector)(vector) has not been defined. 
The answer from ahala starts by assuming that the geometric product is linear without giving a reason. Of course this is true.
But an unjustified assumption cannot be used to define the general geometric product.
I do not think it possible to give a quick definition of the general geometric product. 
A: Mr Macdonald, thank you very much for the link correction. Your construction is very simple and it is in all similar to that proposed by Mr. John W.Bales in 2011 https://arxiv.org/abs/1107.1375v1
Now, regarding the question about a simple way for 'defining' the product of two multivectors consider the following:
1) any multivector 'a' of dimension n can be put in the form of an ordered pair (a0,a1) of multivectors of dimension n-1, such that a=a0+gamma(n)*a1. With the order of the bases gamma as proposed by Mr. Bales
2) any n-dimensional multivector 'a' can be transformed into a column vector by the recursión formula psi(a,n)=[psi(a0,n-1);psi(a1,n-1)]. The inverse transformation is also possible allways.
3) to any n-dimensional multivector 'a' one can associate the matrices:
omega1(a,n)=[[omega1(a0,n-1),gamma(n)^2*omega2(a1,n-1)];[omega2(a1,n-1),omega1(a0,n-1)]]
omega2(a,n)=[[omega2(a0,n-1),-gamma(n)^2*omega1(a1,n-1)];[omega1(a1,n-1),-omega2(a0,n-1)]]
Then, the geometrical product of two general multivectors 'a' and 'b' can be calculated simply by the formula: ab=omega1(a,n)*psi(b,n) and transforming into an ordered pair by 2.
I hope you agree with these assertions. An interesting thing about this method is that all Cayley-Dickson numbers (as generalized by A.A.Albert in 1942 for any signature) can also be multiplied by a similar construction but with three matrices. If you are interested in seen this construction, please search my full name in the academia edu page. With respect.
A: I recommend consulting the writings of Dr. David Hestenes and especially "Clifford Algebra to Geometric Calculus". 
Geometric Calculus R&D
http://geocalc.clas.asu.edu
"The most comprehensive treatment of the mathematical theory is given in the book Clifford Algebra to Geometric Calculus [1984]. Except for the last chapter added in 1979, the manuscript was ready for publication by 1976 but did not appear in print until 1984, owing to an unfortunate series of publishing mishaps. Papers with extensions and improvements in the calculus are collected in Universal Geometric Calculus[Editor: there was a hyperlink to the Universal Geometric Calculus webpage of the website here]. With general arguments and many examples, the case is made there and elsewhere that geometric algebra is a more efficient general computational tool than matrix algebra. It is therefore a candidate to supplant (or subsume) matrix algebra in computer software and software designs for scientific computation."
http://geocalc.clas.asu.edu/html/Evolution.html
A: An informal definition may be made in terms of the basis vectors $e_1, e_2, \dots e_n$: It is the product you get by requiring that it fulfils a couple of usual rules for products, notably bilinearity, distributivity and associativity (but not commutativity), as well as the following rule:
$$ e_i e_j = \begin{cases} 1 & i = j \\
-e_j e_i & i \neq j. \end{cases} $$
This definition may not be entirely rigourous, but it is very simple, and in practice these are the rules you would use for calculating the geometric product of arbitrary multivectors, written as sums of basis blades.
A: A basic goal of the geometric product is that given the product and one of the terms used to create it the other term can be recovered.  The exclusive or of logic and the symmetric difference of set theory both have this property.  The geometric product is analogous but differs because it is over a vector space.
To begin consider only basis blades.  These represent subspaces.  A scalar represents the subspace that is the origin.  A vector represents a one-dimensional subspace, an infinite line.  A bivector represents a two-dimensional subspace, an infinite plane.  A trivector represents a three-dimensional subspace.  And so forth up to as many dimensions as you please.
First an imprecise version of the geometric product.

*

*Let $s_1$ and $s_2$ each be a subspace corresponding to a basis element.

*Let S be the smallest space that contains both subspaces.

*Let s be the intersection of the two subspaces.

*The geometric product of the two subspaces is the  largest subspace of S that excludes s.  We might write $s_1*s_2$=S-s.

Next in the more exact jargon of vector algebra

*

*Let $s_1$ and $s_2$ each be a subspace corresponding to a basis element.

*Let S be the span of $s_1$ and $s_2$. S = span($s_1$,$s_2$)

*Let s be the largest subspace that is a subspace of both $s_1$ and $s_2$.

*$s_1*s_2$ is the dual of s in S.

An example is $e_{12}$*$e_{23}$ = $e_{13}$.

*

*S is $e_{123}$

*s is $e_2$

*$s_1*s_2$ is the dual of $e_2$ in $e_{123}$, which is $e_{13}$.

Subspaces have no sign so this approach won't give you the signs of the terms.  To get the correct sign it is necessary to do the algebra.  For example  $e_{2}*e_{12}$=$-e_{1}$.
Multivectors are represented as sums of weighted basis elements. Now that we know the geometric product for basis elements we just multiply everything out to get the geometric product of arbitrary multivectors.  The scalar in the product is the scalar product.  The sum of all the other terms is the commutator product.
Recall at the very beginning 'twas written "A basic goal of the geometric product is that given the product and one of the terms used to create it the other term can be recovered."  This goal is not always achieved.  In order to do this said term must have an inverse.  Many multivectors don't have inverses.  An example is $e_{12}$+$e_{34}$.  It may appear to be a bivector but it is not.  It isn't a blade.  It doesn't represent a subspace.  One may still algebraically produce a geometric product from any two multivectors but it doesn't always have an apparent geometric meaning.   This is why there is an emphasis on blades: they can represent subspaces and are clearly geometric objects.
It often isn't obvious whether a multivector is a blade.  If the product of the multivector and its dual is the space then the multivector is a blade.
