求解方程组的简单界面
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()中使用“>;”会导致错误的错误。
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()中使用“>;”会导致错误的错误。