You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Numpy向量化实现随机矩阵的线性组合变换?

Numpy向量化实现线性组合生成新数组

步骤实现

  1. 导入Numpy并生成原始数组
    先导入库,然后生成符合要求的2x3x4正态分布数组Z,其中Z[0]就是3x4矩阵A,Z[1]是3x4矩阵B:

    import numpy as np
    
    # 生成2个3x4的正态分布随机矩阵,存于Z中
    Z = np.random.normal(0.0, 1.0, [2, 3, 4])
    
  2. 定义矩阵C
    把实际的a、b、c、d数值填入2x2矩阵C:

    # 替换a,b,c,d为你需要的实际数值,比如示例中的[[1,2],[3,4]]
    C = np.array([[1, 2], [3, 4]])
    
  3. 向量化计算线性组合
    直接用np.dot就能完成批量线性组合,得到的result就是2x3x4的目标数组:

    # result[0] = a*A + b*B,result[1] = c*A + d*B
    result = np.dot(C, Z)
    

原理说明

Numpy的dot函数处理多维数组时,会自动匹配维度做矩阵乘法:这里C是(2,2)形状,Z是(2,3,4)形状,dot(C, Z)会让C的每一行与Z的第一个维度(即A和B)做线性组合,最终输出形状为(2,3,4),正好对应你需要的A'和B'。

如果习惯用tensordot指定轴匹配,也可以这么写,效果完全一致:

result = np.tensordot(C, Z, axes=([1], [0]))

内容的提问来源于stack exchange,提问作者MBlrd

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 05:32:36