title: Vector multiplication with BLAS' catlas_saxpby not working properly
body: <p>I am trying to have two arbitrary length vectors (typical length will be 2048) and multiply element by element. So Z[n] = X[n] * Y[n] for all n. </p>
  
  <p>The code I have setup to test is fairly basic: </p>
  
  <pre><code>float inputX[4] = { 2, 4, 8, 16 };
  float inputY[4] = { 2, 4, 8, 16 };
  
  catlas_saxpby(4, 1, inputX, 1, 1, inputY, 1);
  </code></pre>
  
  <p>The result goes into inputY, and the result is </p>
  
  <pre><code>4.000000, 8.000000, 16.000000, 32.000000
  </code></pre>
  
  <p>Which if they were multiplying it should be 4, 16, 64, 256. But it looks like it is adding.</p>
  
  <p>So this is not doing what I expect, and the documentation doesn't give me enough information to figure what it is doing.</p>
  
  <p>Any ideas?</p>
  
  <pre><code>Apple's documentation for BLAS says this: 
  
  Computes the product of two vectors, scaling each one separately (single-precision).
  
  void catlas_saxpby (
     const int N,
     const float alpha,
     const float *X,
     const int incX,
     const float beta,
     float *Y,
     const int incY
  );
  Parameters
  N
  Number of elements in the vector.
  alpha
  Scaling factor for X.
  X
  Input vector X.
  incX
  Stride within X. For example, if incX is 7, every 7th element is used.
  beta
  Scaling factor for Y.
  Y
  Input vector Y.
  incY
  Stride within Y. For example, if incY is 7, every 7th element is used.
  Discussion
  On return, the contents of vector Y are replaced with the result.
  </code></pre>