title: How to perform a fast array multiplication?
body: <p>I have two array with the same size:</p>
  
  <pre><code>A = [a1, a2, a3]
  B = [b1; b2; b3]
  </code></pre>
  
  <p>I need to perform an array multiplication in order to build the following matrix:</p>
  
  <pre><code>            |a1|
  M = A * B = |a2| * |b1 b2 b3|  //M31 * M13 ==&gt; M33 and M13 * M31 ==&gt; M11.  Mnk: Matrix with n lines and k columns.
              |a3|
  
  
      | a1b1 a1b2 a1b3 |
  M = | a2b1 a2b2 a2b3 |
      | a3b1 a3b2 a3b3 |
  </code></pre>
  
  <p>Which is the fastest algorithm to do this task?</p>
  
  <p>More in detail: I need to accomplish this work using the 8086 instruction set, but here I'd prefer to receive the algorithm in C code.</p>