如何解决Sympy,一般大小的矩阵,导数
我不确定以下是否可行。我尝试查看文档,但看到了很多物理内容,但并不是我想要的。
是否可以像 matrixcalculus.org 一样,指定一个形状为 (m,n)、x、形状为 n 的向量的通用矩阵 Q,然后进行这种计算。而不是将其限制为一组维度并单独指定每个元素
解决方法
您可以使用MatrixSymbol
:
In [5]: n = Symbol('n')
In [6]: Q = MatrixSymbol('Q',n,n)
In [7]: x = MatrixSymbol('x',1)
In [8]: f = x.T @ Q @ x
In [9]: f
Out[9]:
T
x ⋅Q⋅x
In [10]: diff(f,x)
Out[10]:
T
Q⋅x + Q ⋅x
如果您用具体的值代替 n
,那么 as_explicit
可以为您提供扩展结果:
In [11]: diff(f,x).subs(n,2).as_explicit()
Out[11]:
⎡2⋅Q₀₀⋅x₀₀ + Q₀₁⋅x₁₀ + Q₁₀⋅x₁₀⎤
⎢ ⎥
⎣Q₀₁⋅x₀₀ + Q₁₀⋅x₀₀ + 2⋅Q₁₁⋅x₁₀⎦
https://docs.sympy.org/latest/modules/matrices/expressions.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。