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

如何在Python中无需循环将等长向量转为两两乘积矩阵?

如何快速实现向量元素两两乘积构成的矩阵(无循环)

你要的这个矩阵本质是向量的外积(Outer Product),所有主流数值计算工具都有原生的快速实现,完全不需要手动写循环,以下是几种常用语言的实现方式:

Python(NumPy)

两种高效实现方式,都是底层优化的向量运算:

import numpy as np
vec = np.array([1, 2, 3, 4, 5])

# 方法1:直接调用outer函数
result = np.outer(vec, vec)

# 方法2:利用广播机制(将向量转为列向量后与原向量相乘)
result = vec[:, np.newaxis] * vec

运行后得到的result就是你期望的5×5矩阵。

MATLAB

通过向量转置实现外积:

vec = [1, 2, 3, 4, 5];
result = vec' * vec;

vec'将行向量转为列向量,与原行向量相乘直接得到目标矩阵。

R语言

使用内置的outer函数指定乘法操作:

vec <- c(1, 2, 3, 4, 5)
result <- outer(vec, vec, "*")

这些实现的优势在于:都是工具库内置的优化运算,基于底层线性代数逻辑,处理大向量时的效率远高于手动循环,且代码简洁易读。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 02:15:12