社区首页 >问答首页 >如何找到带有numpy的Wronskian行列式

如何找到带有numpy的Wronskian行列式
EN

Stack Overflow用户
提问于 2021-04-21 17:59:29
回答 1查看 150关注 0票数 3

我试图找到这3个函数的Wronskian行列式,但代码中有"TypeError:找不到与指定签名匹配的循环,并且为ufunc det找到了类型转换“。我该怎么解决它呢?

代码语言:javascript
代码运行次数:0
复制
import numpy as np
import numpy.linalg
import sympy as sp
x = sp.Symbol('x')
e=sp.exp(-3*x) #inputs
f=sp.cos(2*x) 
g=sp.sin(2*x)
buneya=np.array([e,f,g],dtype=object)


a=sp.diff(buneya[0]) #first derivative
b=sp.diff(buneya[1])
c=sp.diff(buneya[2])

k=sp.diff(a)
l=sp.diff(b) #second derivative
m=sp.diff(c)
wronskian=np.array([[e,f,g],[a,b,c],[k,l,m]],dtype=object)
print (np.linalg.det(wronskian) )  #determinant
代码语言:javascript
代码运行次数:0
复制
Traceback (most recent call last):

  File "C:\Users\canat\.spyder-py3\temp.py", line 20, in <module>
    print (np.linalg.det(wronskian) )

  File "<__array_function__ internals>", line 5, in det

  File "C:\ProgramData\Anaconda3\lib\site-packages\numpy\linalg\linalg.py", line 2159, in det
    r = _umath_linalg.det(a, signature=signature)

TypeError: No loop matching the specified signature and casting was found for ufunc det 
EN

回答 1

Stack Overflow用户

发布于 2021-04-21 18:09:22

就是这么简单:

代码语言:javascript
代码运行次数:0
复制
import sympy as sp
x = sp.Symbol('x')
e=sp.exp(-3*x) #inputs
f=sp.cos(2*x) 
g=sp.sin(2*x)
buneya=[e,f,g]

a=sp.diff(buneya[0]) #first derivative
b=sp.diff(buneya[1])
c=sp.diff(buneya[2])

k=sp.diff(a)
l=sp.diff(b) #second derivative
m=sp.diff(c)
wronskian=sp.Matrix([[e,f,g],[a,b,c],[k,l,m]]).det()
print(wronskian)

返回

代码语言:javascript
代码运行次数:0
复制
26*exp(-3*x)*sin(2*x)**2 + 26*exp(-3*x)*cos(2*x)**2

有关更多信息,请参阅渐近矩阵docs

编辑#1甚至更简单!

代码语言:javascript
代码运行次数:0
复制
import sympy as sp
from sympy.matrices import dense

x = sp.Symbol('x')
e=sp.exp(-3*x) #inputs
f=sp.cos(2*x) 
g=sp.sin(2*x)

wronskian = dense.wronskian([e,f,g],x)
print(wronskian)

返回相同的

代码语言:javascript
代码运行次数:0
复制
26*exp(-3*x)*sin(2*x)**2 + 26*exp(-3*x)*cos(2*x)**2

wronskian方法也被记录在渐近docs中。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67201194

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文