python - Sympy:获取矩阵幂的列
问题描述
这似乎是一个简单的问题。我的代码读取
import sympy as sp
D1 = sp.symbols('D1')
D2 = sp.symbols('D2')
m1 = sp.diag(*[2 * D1, 2 * D1, 2 * D2, 2 * D2])
b = sp.sqrt(m1)
m1.col(0)
b.col(0)
即我想得到一个矩阵的平方根列。但是,该MatPow
对象b
似乎没有.col
普通矩阵所具有的属性m1
。
输出:
AttributeError Traceback (most recent call last)
<ipython-input-55-855c6e53a412> in <module>()
----> 1 b.col(0)
AttributeError: 'MatPow' object has no attribute 'col'
我究竟做错了什么?
解决方案
您需要将MatPow
对象转换为MutableDenseMatrix
withas_mutable
方法:
b_as_m = b.as_mutable()
print(b_as_m.col(0))
输出:
Matrix([[sqrt(2)*sqrt(D1)], [0], [0], [0]])
推荐阅读
- twitter - Twitter API:如何创建仅协议回调 URL?
- python - PYTHON:从服务器接收到的数据返回
- node.js - 如何定义一个新的命令行程序?
- discord.js - 如何让不和谐机器人在特定频道中提及某人(discord.js)
- rest - REST-端点地址命名方法
- floating-point - 该算法如何以及为什么找到您计算机的浮点基值?
- jenkins - Jenkins 在哪里 SCM 跳过配置?
- python - 如何将表格及其列标题保存在 csv 中?
- pyspark - Pyspark:输出到 csv——时间戳格式不同
- python - 按给定列分组的累积产品