Does np.dot automatically transpose vectors?

后端 未结 4 1954
迷失自我
迷失自我 2021-01-12 19:30

I am trying to calculate the first and second order moments for a portfolio of stocks (i.e. expected return and standard deviation).

expected_returns_annual         


        
4条回答
  •  没有蜡笔的小新
    2021-01-12 20:13

    I had the same question some time ago. It seems that when one of your matrices is one dimensional, then numpy will figure out automatically what you are trying to do.

    The documentation for the dot function has a more specific explanation of the logic applied:

    If both a and b are 1-D arrays, it is inner product of vectors (without complex conjugation).

    If both a and b are 2-D arrays, it is matrix multiplication, but using matmul or a @ b is preferred.

    If either a or b is 0-D (scalar), it is equivalent to multiply and using numpy.multiply(a, b) or a * b is preferred.

    If a is an N-D array and b is a 1-D array, it is a sum product over the last axis of a and b.

    If a is an N-D array and b is an M-D array (where M>=2), it is a sum product over the last axis of a and the second-to-last axis of b:

提交回复
热议问题