menpo.math.dot_inplace_left(a, b, block_size=1000)[source]

Inplace dot product for memory efficiency. It computes a * b = c, where a will be replaced inplace with c.

  • a ((n_big, k) ndarray) – First array to dot - assumed to be large. Will be damaged by this function call as it is used to store the output inplace.
  • b ((k, n_small) ndarray, n_small <= k) – The second array to dot - assumed to be small. n_small must be smaller than k so the result can be stored within the memory space of a.
  • block_size (int, optional) – The size of the block of a that will be dotted against b in each iteration. larger block sizes increase the time performance of the dot product at the cost of a higher memory overhead for the operation.

c ((n_big, n_small) ndarray) – The output of the operation. Exactly the same as a memory view onto a (a[:, :n_small]) as a is modified inplace to store the result.