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

Python矩阵创建与乘法实现:如何进行8×4与4×6矩阵相乘?

Python矩阵乘法实现(8×4与4×6矩阵示例)

这里提供两种实现矩阵乘法的方法,包含矩阵创建和运算细节:

一、手动实现(不依赖第三方库,适合理解原理)

1. 创建指定维度的矩阵

用Python内置列表推导式可以快速生成随机整数矩阵,示例如下:

import random

# 生成8行4列的矩阵A,元素为1-10的随机整数
matrix_a = [[random.randint(1, 10) for _ in range(4)] for _ in range(8)]
# 生成4行6列的矩阵B,元素为1-10的随机整数
matrix_b = [[random.randint(1, 10) for _ in range(6)] for _ in range(4)]

2. 实现矩阵乘法逻辑

矩阵乘法的核心规则是:结果矩阵的第i行第j列元素,等于矩阵A第i行与矩阵B第j列对应元素的乘积之和。同时要先校验维度合法性(A的列数必须等于B的行数):

def matrix_multiply(a, b):
    if len(a[0]) != len(b):
        raise ValueError("矩阵A的列数必须等于矩阵B的行数")
    
    # 初始化结果矩阵,维度为8×6,初始值全0
    result = [[0 for _ in range(len(b[0]))] for _ in range(len(a))]
    
    for i in range(len(a)):
        for j in range(len(b[0])):
            # 计算点积
            for k in range(len(b)):
                result[i][j] += a[i][k] * b[k][j]
    return result

# 执行乘法运算
matrix_c = matrix_multiply(matrix_a, matrix_b)
# 打印结果的前2行(避免输出过多内容)
print("手动实现的结果矩阵前2行:")
for row in matrix_c[:2]:
    print(row)

二、用NumPy实现(推荐,适合实际项目)

NumPy是Python数值计算的标准库,矩阵运算效率远高于手动实现,语法也更简洁。

1. 创建NumPy矩阵

用np.random.randint可以快速生成指定维度的随机整数矩阵:

import numpy as np

# 创建8×4的矩阵A
np_matrix_a = np.random.randint(1, 10, size=(8, 4))
# 创建4×6的矩阵B
np_matrix_b = np.random.randint(1, 10, size=(4, 6))

2. 执行矩阵乘法

NumPy支持两种直观的乘法方式:

# 方法1:使用@运算符(Python 3.5+支持)
np_matrix_c = np_matrix_a @ np_matrix_b

# 方法2:使用np.dot()函数
# np_matrix_c = np.dot(np_matrix_a, np_matrix_b)

# 打印结果维度和前2行
print("NumPy结果矩阵维度:", np_matrix_c.shape)
print("NumPy结果矩阵前2行:")
print(np_matrix_c[:2])

注意:手动实现仅适合理解矩阵乘法的底层逻辑,实际开发中优先使用NumPy,尤其是处理大规模矩阵时,效率差异会非常明显。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 03:25:20