gpt4 book ai didi

python - 从列创建 sympy 矩阵

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

我试图通过从现有矩阵中选择列来创建一个sympy矩阵(用于计算主次数)。目前我正在这样做:

>>> A = Matrix(3,5,[2,3,4,1,34,23,12,54,5,0,0,0,3,4,5])
>>> l = [A[:,i].T for i in [2,3,0]]
>>> M = Matrix(l).T
>>> M
Matrix([
[ 4, 1, 2],
[54, 5, 23],
[ 3, 4, 0]])

但这对我来说似乎很浪费(尤其是需要转置两次。我不知道这是否很耗时)。有没有更好的办法?如果我只需要行列式,是否有更好的方法?

最佳答案

您可以使用[2, 3, 0]作为索引。

>>> A = Matrix(3, 5, [2,3,4,1,34,23,12,54,5,0,0,0,3,4,5])
>>> A[:, [2,3,0]]
Matrix([
[ 4, 1, 2],
[54, 5, 23],
[ 3, 4, 0]])
<小时/>

低版本不支持使用list作为索引,可以使用Matrix.hstack :

>>> Matrix.hstack(*(A.col(i) for i in [2,3,0]))
Matrix([
[ 4, 1, 2],
[54, 5, 23],
[ 3, 4, 0]])

Matrix.row_join:

>>> # from functools import reduce  # For Python 3.x
>>> reduce(Matrix.row_join, (A.col(i) for i in [2,3,0]), Matrix(3,0,[]))
Matrix([
[ 4, 1, 2],
[54, 5, 23],
[ 3, 4, 0]])

关于python - 从列创建 sympy 矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43777147/

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