gpt4 book ai didi

python - Python中矩阵元素的双重求和

转载 作者:太空宇宙 更新时间:2023-11-03 15:01:27 25 4
gpt4 key购买 nike

基于下面的简化示例

enter image description here

我想在我的代码中

from sympy import*
import numpy as np
init_printing()

x, y = symbols('x, y')

mat = Matrix([[x,1],[1,y]])

X = [1, 2, 3]
Y = [[10, 20, 30], [40, 50, 60], [70, 80, 90]]

XY 的值替换符号 xy 并且当然计算双重求和给定的矩阵。

我正在尝试解决这个问题,但我在每一步的替换上都遇到了困难。任何帮助将不胜感激。

最佳答案

您已经导入了 SymPy 和 NumPy,因此您可以在此处选择工具。对于将一堆数字矩阵加在一起的工作,numpy 是正确的工具。以下是在 numpy 中求和的方式:

sum([sum([np.array([[x,1], [1,y]]) for y in yr]) for x, yr in zip(X,Y)])

这里 yr 代表 Y 的一行元素。外部总和超过 i 索引,内部总和超过 j,尽管列表理解消除了拼写它们的需要。

结果是一个 NumPy 数组:

 array([[ 18,   9],
[ 9, 450]])

但是你可以通过在它周围放置 Matrix() 将它变成一个 SymPy 矩阵:

Matrix(sum([sum([np.array([[x,1], [1,y]]) for y in yr]) for x, yr in zip(X,Y)]))

关于python - Python中矩阵元素的双重求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37468787/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com