小编Azl*_*lof的帖子

用符号表示符号特征值

我正在尝试计算M大小符号复杂矩阵的特征值3x3.在某些情况下,eigenvals()完美的工作.例如,以下代码:

import sympy as sp

kx = sp.symbols('kx')
x = 0.

M = sp.Matrix([[0., 0., 0.], [0., 0., 0.], [0., 0., 0.]])
M[0, 0] = 1. 
M[0, 1] = 2./3.
M[0, 2] = 2./3.
M[1, 0] = sp.exp(1j*kx) * 1./6. + x
M[1, 1] = sp.exp(1j*kx) * 2./3.
M[1, 2] = sp.exp(1j*kx) * -1./3.
M[2, 0] = sp.exp(-1j*kx) * 1./6.
M[2, 1] = sp.exp(-1j*kx) * -1./3.
M[2, 2] = sp.exp(-1j*kx) * 2./3.

dict_eig = …
Run Code Online (Sandbox Code Playgroud)

symbolic-math sympy eigenvalue python-2.7

6
推荐指数
1
解决办法
1568
查看次数

用sympy缓慢替换符号矩阵

我正在研究一个符号雅各J比大小的矩阵QxQ.该矩阵的每个系数包含Q符号,从f[0]f[Q-1].我想要做的是替代每个符号的每一个系数J与已知值g[0]g[Q-1](这是没有更多的符号).我发现最快的方法如下:

for k in range(Q):
    J = J.subs(f[k], g[k])
Run Code Online (Sandbox Code Playgroud)

但是,我觉得这个"基本"操作很长!例如,使用此MCVE:

import sympy
import numpy as np
import time

Q = 17
f0, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16 = \
    sympy.symbols("f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16")
f = [f0, f1, f2, f3, f4, …
Run Code Online (Sandbox Code Playgroud)

python numpy sympy substitution differential-equations

5
推荐指数
0
解决办法
283
查看次数