【问题标题】:Pre Post MultiMatrix multiplication using Numpy使用 Numpy 的 Pre Post MultiMatrix 乘法
【发布时间】:2018-05-30 21:46:11
【问题描述】:

我想计算投资组合的方差:

假设我有 2 个带权重的资产:

weights = np.array([.3,.7]).reshape(1,2)

还有以下2个相关矩阵:

correl = np.array([[[1,.4],[.4,1]],[[1,.6],[.6,1]]])

我想一步完成 weight x correl[0] & weight x correl[1]

有没有办法选择 (2,2,2) 张量的轴来对子矩阵进行倍增?

【问题讨论】:

    标签: python-3.x numpy tensor numpy-ndarray


    【解决方案1】:

    矩阵乘法运算符@ 将多于二维的数组视为矩阵堆栈,因此您需要做的就是

    >>> weights @ correl
    array([[[0.58, 0.82]],
    
           [[0.72, 0.88]]])
    >>> 
    # one-matrix-at-a-time for reference
    >>> weights @ correl[0]
    array([[0.58, 0.82]])
    >>> weights @ correl[1]
    array([[0.72, 0.88]])
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-11-23
      • 1970-01-01
      • 2016-02-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多