Multilinearity and Linear Algebra

I can't find a source online that clearly states the properties of a multilinear function in relation to linear algebra (I say this because I am in an introductory linear algebra class, and this is not included in the textbook). I realized today while studying for the midterm exam tomorrow that I don't know the correct properties of a multilinear function.

Faced with expanding the multilinear function $f(a\vec{e}_1+b\vec{e}_2, c\vec{e}_1+d\vec{e}_2, g\vec{e}_1+h\vec{e}_2 )$ I would have written

$$f(a\vec{e}_1+b\vec{e}_2, c\vec{e}_1+d\vec{e}_2, g\vec{e}_1+h\vec{e}_2 ) = f(a\vec{e}_1, c\vec{e}_1, g\vec{e}_1 ) + f(b\vec{e}_2, d\vec{e}_2, h\vec{e}_2 )=acgf(\vec{e}_1, \vec{e}_1, \vec{e}_1) + bdhf(\vec{e}_2, \vec{e}_2, \vec{e}_2)$$

which is incorrect. I discovered this when looking over the solutions given to an assignment. It seems the correct expansion is

$$f(a\vec{e}_1+b\vec{e}_2, c\vec{e}_1+d\vec{e}_2, g\vec{e}_1+h\vec{e}_2 )=$$

$$acgf(\vec{e}_1, \vec{e}_1, \vec{e}_1) + achf(\vec{e}_1, \vec{e}_1, \vec{e}_2)$$

$$+ adgf(\vec{e}_1, \vec{e}_2, \vec{e}_1) + adhf(\vec{e}_1, \vec{e}_2, \vec{e}_2)$$$$+ bcgf(\vec{e}_2, \vec{e}_1, \vec{e}_1) + bchf(\vec{e}_2, \vec{e}_1, \vec{e}_2)$$$$+ bdgf(\vec{e}_2, \vec{e}_2, \vec{e}_1) + bdhf(\vec{e}_2, \vec{e}_2, \vec{e}_2)$$

What is the procedure to correctly expand a multilinear function as done above? Any help would be appreciated.

-
Multlinear is linear with respect to each variable. –  Sigur Feb 5 '13 at 0:14
Here's how to think about it "symbolically": $f((ae_1+be_2) \otimes (ce_1+de_2) \otimes (ge_1+he_2))=f(acg e_1 \otimes e_1 \otimes e_1 + \cdots)=acg f(e_1,e_1,e_1)+\cdots$ In fact, this has a name. –  wj32 Feb 5 '13 at 0:19

Let's build up from a multilinear function of two vectors before going to three.

$$f(u + v, w + x) = f(u + v, w) + f(u+v, x)$$

That just exploits linearity in the second argument. Now exploit linearity in the first.

$$f(u+v, w) + f(u+v, x) = f(u, w) + f(v, w) + f(u, x) + f(v, x)$$

Just apply linearity on each separate argument and you should be fine.

-