我正在尝试计算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) 我正在研究一个符号雅各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)