求解方程组的简单界面

pysolve的Python项目详细描述


==========
pysolve公司
==========
解方程组
-

此代码的目的是帮助表达和解决
使用python的方程组。

此工具将对方程式进行文本描述
然后迭代运行解算器,直到它收敛到一个解。

解算器提供以下解算选项:

-高斯赛德尔
-牛顿·拉斐逊
-布罗登

它还使用部分sympy来帮助解析方程式。

该工具的最初动机是解决经济问题
基于股票流一致性(sfc)模型的模型。


安装
-----
pip安装pysolve


用法
----

…代码:
来自pysolve.model导入模型
来自pysolve.utils import round_solution,is_close

模型=模型()

模型。设置默认值(0)
model.var('cd',desc='家庭消费品需求')
model.var('cs',desc='消费品供应')
model.var('gs',desc='政府商品,供应')
model.var('hh',desc='家庭持有的现金')
model.var('hs',desc='政府提供的现金')
model.var('nd',desc='劳动力需求')
model.var('ns',desc='劳动力供应')
model.var('td',desc='税,需求')
model.var('ts',desc='税,供应')
model.var('y',desc='收入=国内生产总值')
model.var('yd',desc='家庭可支配收入')


型号.vars('y'、'yd'、'ts'、'td'、'hs'、'hh'、'gs'、'cs',
“cd”、“ns”、“nd”)
model.param('gd',desc='government goods,demand',initial=20)
model.param('w',desc='工资率',初始值=1)
model.param('alpha1',desc='收入外消费倾向',initial=0.6)
model.param('alpha2',desc='o财富消费倾向',initial=0.4)
model.param('theta',desc='tax rate',initial=0.2)

model.add('cs=cd')
model.add('gs=gd')
model.add('ts=td')
model.add('ns=nd')
model.add('yd=(w*ns)-ts')
model.add('td=theta*w*ns')
model.add('cd=alpha1*yd+alpha2*hh(-1)')
model.add('hs-hs(-1)=gd-td')
model.add('hh-hh(-1)=yd-cd')
model.add('y=cs+gs')
model.add('nd=y/w')

解到收敛
对于x范围(100)内的:
模型求解(迭代次数=100,阈值=1e-3)

prev_soln=模型.解[-2]
soln=模型.解[-1]
如果关闭(前一个选项,选项,rtol=1e-3):
休息

打印圆形解(model.solutions[-1],decimals=1)

有关其他示例,请查看ipython笔记本
http://nbviewer.ipython.org/github/kennt/monetary-economics/tree/master/


教程
--
有关更多说明的简短教程,请访问
http://nbviewer.ipython.org/github/kennt/monetary economics/blob/master/extra/pysolve%20教程.ipynb

待办事项列表
---
-稀疏矩阵支持(大型系统的内存改进)
-文档


更改日志
---

0.2.0(进行中)
------
-教程
-改进文档

0.1.7
----
-教程

0.1.6
----
-增加了对broyden方法求解的支持
-优化broyden和newton raphson的代码,现在应该快得多。

0.1.5
----
-添加了d()函数。实现当前值和上一次迭代的值之间的差异。d(x)等于x-x(-1)
-增加了对以下sympy功能的支持:abs、min、max、sign、sqrt
-添加了一些帮助函数以帮助调试l更大型号
-增加了通过newton raphson求解的支持

0.1.4
----
-改进了无法求解方程时的错误报告(由于变量缺少值)。
-此外,evaluate()用于要求所有变量都有一个值,但在初始化时可能不是这样,因此已删除此要求。

0.1.3(及之前)
-----
-增加了对exp()和log()函数的支持。
-修复了在if_true()中使用“>;”会导致错误的错误。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
javascript问题:通过URL用网站数据填充Textview   java TabLayout Android,如何用几个标签填充整个屏幕宽度,并用大量标签滚动?   Eclipse Java运行的文件不再存在于我的工作区中   安装两个Java版本时,使用Java的windows链接不起作用   java将多个图形添加到单个JPanel   java Kafka ConsumerFactory,带有两个Desiarizer   使用反射更改java类超类   当一致性测试失败时,java有没有办法让堆栈跟踪显示在控制台中   java映射到基元类型的HashMap的快速替代方案是什么?   java关闭一个jframe所有剩余的打开jframe都将关闭。   java为什么不推荐“使用getString()获取设备标识符”?   java值比较和值赋值之间有什么性能差异吗?   Java实体数组到JavaScript数组   java使用流将一个列表转换为另一个列表   在JTree中保存对象,但更改显示的名称(java swing)?   java“Hello world”Android应用程序,文件尽可能少,没有IDE,只有文本编辑器   java在方法之间传递值   java如何为项目数组创建ParseQuery?