Fastest way for multiplying a matrix to a vector

后端 未结 3 1290
终归单人心
终归单人心 2020-12-14 03:50

I have a matrix mat and a vector v. I would like to multiply first column of matrix matby first element of vector v and m

3条回答
  •  孤城傲影
    2020-12-14 04:32

    sweep seems to run a bit faster on my machine

    sweep(mat, 2, v, FUN = "*")
    

    Some benchmarks:

    > microbenchmark(mat %*% diag(v),sweep(mat, 2, v, FUN = "*"))
    
    Unit: milliseconds
      expr       min        lq   median        uq      max neval
       %*% 214.66700 226.95551 231.2366 255.78493 349.1911   100
     sweep  42.42987  44.72254  62.9990  70.87403 127.2869   100
    

提交回复
热议问题