Multiplying matrices

Abstractly:
Qua transform, it's obvious: just composition

Qua tensor product
Hom(U,V) x Hom(V,W) -> Hom(U,W)
is seen in the tensor world as
U^* x V x V^* x W -> U^* x W
by contraction (the natural evaluation).

oh -- also noted at school:
this is easier to see that the trace contraction;
and in general G(FG)F -> GF easier to see that FG -> Id
(and FG -> F(GF)G easier than GF -> Id)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

to understand multiplying matrices:
- obviously it's just composing linear transforms -- but why is the
  formula the way it is?
Mneu: use right hand (written down elsewhere)

recall that Hom(U,V) x Hom(V,W) -> Hom(U,W)
is seen in the tensor world as
U^* x V x V^* x W -> U^* x W
by contraction (the natural evaluation); this is key to the
formulae/interpretations below.

2 POVs on matrices: columns (a set of vectors), rows (a set of covectors)
3 POVs of multiplication BA:
Rm -> Rn -> Rp
A = [v1...vm] = [v*1\\...v*n]
B = [w1...wn] = [w*1\\...w*p]
think in terms of -where- you're picking a basis
(the first 2 are really the "best" ways, as they're really natural)
- very vectory
  [w1...wn][v*1]
           [...]  = w1v*1 + ... + wnv*n
           [v*n]
  that is, v*i tells you the value of the coordinate on the ith term
  and wi tells you where the ith term goes -- simple!
  [basis on Rn* and Rn, which contract]
- get coordinates out!
  [w*1][v1...vm]  [w*1v1 ... w*1vm]
  [...]           [...]
  [w*p]          =[w*pv1 ... w*pvm]
  [basis on Rm* and Rp; contract on natural Rn]
  
- coords to vectors ?
  [w1...wn][a11 .... a1m]
           [...]          = [a11w1+a21w2+..., etc.]
           [an1 .... anm]
  first column of A is Ae_1=a11,a21,...,: where e_1 gets mapped
  BAe1 takes e1 to a1,a2,..., and then
    to "a1 copies of w1 + a2 copies of w2 etc."
  so first column of BA is what you expect
  [also: -column operations-, b/c multiplying on -right-]
  [basis on Rm*, Rn and Rn*: contraction is dot product on Rn x Rn*]
- covectors coorded
  [b11 .... b1n][v*1]      [b11v*1 + ... + b1nv*n]
  [...]         [...]    = [...]
  [bp1 .... bpn][v*n]      [bp1v*1 + ... + bpnv*n]
  (this is a -really- confusing way of looking at it, but it's basically
   how I did it at first, thinking in terms of composing equations):
  [I was thinking:
   aji xi = yj, bkj yj = zk: so what's zk in terms of xi?]
  in words: what's the value of the first coordinate of BAv?
  Well, plug v into each row of A, and get stuff (yj) out;
  then plug this into the -equation- of zk, and get the formula out
  [also: -row operations-, b/c multiplying on -left-]
  [basis on Rn, Rn* and Rp: contraction is dot product on Rn x Rn*]

[row/column: from row/column POV, in left-multiplying by matrix,
 the numbers in the k-th row tell you what multiples of each row
 to put in there;
 OTOH in right multiplying, the numbers in the kth column do analogous]

more:
B[v1...vm] = [Bv1...Bvm]
  basis on Rm*
[w1*]   [w1*A]
[...]A= [...]
[wp*]   [wp*A]
where wi*A(v) = wi*(A(v)) -- duh!
  basis on Rp
[stuff that's not so clear: B(column); (row)A]
okay: there's 4 spaces; you can trivialize any of them;
this yield 16 possible interpretations!!!
however, there's only 8 good ones: the restriction is:
either trivialize both Rn and Rn* (so it's just the -dot product-)
  or neither: both choices yield 4 possibilities for more
  trivialization.

the 'no trivialization' one is the "composition of transforms",
  which is elegant but doesn't explain how you multiply matrices;
the 'trivialize everything' one is "multiplication of matrices",
  which you can follow but doesn't give much insight
the 6 intermediate ones here offer lots of lil' interpretations;
that leaves 8 that I didn't do:
trivialize 1: I did 2: B(row), (column)A, which is just "apply"
  skipped: 2: B(column), (row)A :: dunno how to interpret
trivialize 2: I did 2: contract on natural Rn, or trivialize Rn&Rn*
   4: I didn't do ones where I trivialized Rn but not Rn* or etc.
    (matrix)(transform), (transform)(matrix),
    (row)(row), (column)(column)
trivialize 3: I did 2: again, 
