我正在用一个偏微分方程组和FiPy来实验,我在Python2或Python3中运行相同的脚本得到了不同的结果。更准确地说,我得到了在Python2.7中运行脚本的预期结果,而在Python3.8中却得到了一个完全错误的结果。
,有人知道原因吗?我知道FiPy在Python2.7中使用的一些求解器不支持Python3.x,但这足以解释不同的行为吗?
提前谢谢你。
注意:我想张贴图片,但我不能,因为我只是订阅堆栈溢出。
代码
import fipy as fp
import fipy.tools as fpt
"""
Let's try to solve the
我正在尝试从 post中复制一个结果(考虑到jeguyer在答复中提供的修复)。但是,当我试图运行完全相同的代码时,我会收到以下警告:
/home/dmitry/~./conda/envs/FIPY/lib/python3.9/site-packages/fipy/viewers/matplotlibViewer/matplotlibViewer.py:195: UserWarning: Matplotlib is currently using module://matplotlib_inline.backend_inline, which is a non-GUI backend, so
我已经尝试了几个小时来安装FiPy,我已经安装了Pip和许多其他的东西来让它工作。Pip成功地安装了许多我需要的东西,但是我不能让它在PySparse或FiPy上工作。为什么我尝试安装PySparse,我得到一个错误:
$ pip install pysparse
Downloading/unpacking pysparse
Could not find a version that satisfies the requirement pysparse (from versions: 1.1.1-dev, 1.2-dev, 1.2-dev202, 1.2-dev203, 1.2-dev21
我有一个DataFrame如下所示:
Name Volatility Return
a 0.0243 0.212
b 0.0321 0.431
c 0.0323 0.443
d 0.0391 0.2123
e 0.0433 0.3123
我想要一个Volatility of 0.035和最大化的Return来应对这种波动。
也就是说,我希望在一个新的Df中,Name和这个资产在我的portfolio中的百分比,给出Volatility的最大Return等于0.035。
假设您有一个耦合的PDE系统,如
F(a,b)中的第一次PDE
F(a,b)中的第二次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