mtimes

Vector-vector multiplication (dot product).

  1. Slice!(Contiguous, [2], BlasType!(IteratorA, IteratorB)*) mtimes(Slice!(kindA, [2], IteratorA) a, Slice!(kindB, [2], IteratorB) b)
  2. Slice!(Contiguous, [1], BlasType!(IteratorA, IteratorB)*) mtimes(Slice!(kindA, [2], IteratorA) a, Slice!(kindB, [1], IteratorB) b)
  3. Slice!(Contiguous, [1], BlasType!(IteratorA, IteratorB)*) mtimes(Slice!(kindB, [1], IteratorB) a, Slice!(kindA, [2], IteratorA) b)
  4. CommonType!(BlasType!IteratorA, BlasType!IteratorB) mtimes(Slice!(kindB, [1], IteratorB) a, Slice!(kindA, [1], IteratorA) b)
    CommonType!(BlasType!IteratorA, BlasType!IteratorB)
    mtimes
    (
    SliceKind kindA
    IteratorA
    SliceKind kindB
    IteratorB
    )
    (
    Slice!(kindB, [1], IteratorB) a
    ,
    Slice!(kindA, [1], IteratorA) b
    )

Parameters

a Slice!(kindB, [1], IteratorB)

1(rows) x k(cols) vector

b Slice!(kindA, [1], IteratorA)

k(rows) x 1(cols) matrix Result: scalar

Examples

auto a = [1, 2, 4].sliced;
auto b = [3, 4, 2].sliced;
assert(a.mtimes(b) == 19);

Meta