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

如何用Python的NumPy模块创建指定分块矩阵并整理其对角线为4×2矩阵

Python:分块矩阵构造与对角线元素提取

需求

  1. 创建两个元素为0-9随机整数的4×4矩阵A和B
  2. 构造如下形式的分块矩阵C:
    C = ⎡A B⎤
        ⎣B A⎦
    
  3. 提取C的主对角线元素,将其整理为4×2的矩阵

修正后的实现代码

import numpy as np

# 生成4×4随机整数矩阵(元素取值0-9)
matrix_A = np.random.randint(10, size=(4, 4))
matrix_B = np.random.randint(10, size=(4, 4))

# 正确构造8×8的分块矩阵C
matrix_C = np.block([[matrix_A, matrix_B], [matrix_B, matrix_A]])

# 提取主对角线元素并重塑为4×2矩阵
diag_elements = matrix_C.diagonal()
result_matrix = diag_elements.reshape(4, 2)

print(f'分块矩阵C:\n{matrix_C}')
print(f'整理后的对角线元素矩阵:\n{result_matrix}')

关键说明

  • 分块矩阵构造:原代码使用np.array()会生成四维数组(2,2,4,4),而非所需的二维分块矩阵。改用np.block()能正确拼接子矩阵,得到8×8的二维矩阵C。
  • 对角线提取:matrix_C.diagonal()会提取主对角线的8个元素,返回一维数组。
  • 矩阵重塑:reshape(4,2)将一维数组转换为4行2列的矩阵,满足需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 11:05:26