假设您有一个耦合的pde系统,例如
F(a,b)中的第一个PDE
F(a,b)中的第二个PDE
以下代码能够分别解决每个PDE:

import numpy as np
import sympy as sp

# definition of variables
a, b = sp.symbols('a b')
f = sp.Function('f')
F = f(a, b)
Fda = F.diff(a)
Fdb = F.diff(b)

# definition of PDEs
eq1 = Fda - 2
eq2 = Fda + Fdb + 2

# solution of separated PDEs
sp.pprint(sp.pdsolve(eq1))
sp.pprint(sp.pdsolve(eq2))

有可能解决PDEs系统吗?语法类似于sp.pprint(sp.pdsolve([eq1, eq2]))。我试过[eq1, eq2]{eq1, eq2}np.array([eq1, eq2])等。我看过help(sp.pdsolve)help(sp.pde),但还没有找到解决办法。

最佳答案

不,偏微分方程组的解没有实现。实际实施情况:
求解一阶常系数线性偏微分方程:解的一般形式是已知的,并在解算器中硬编码;解算器返回它,并插入给定的系数。
通过将一阶变系数线性偏微分方程转化为常微分方程(称为特征线法)求解。只有一个PDE。
旁白:我对PDE的符号解持怀疑态度,尤其是对系统。这不是一件发生在精心编写的教科书示例之外的事情。要么一个教科书配方适用(教科书的问题),要么有一个隐藏的结构,以人类的聪明才智(罕见),或没有找到象征性的解决办法。

关于python - 是否可以在Python中使用sympy解决PDE系统?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47995177/

10-13 05:04