双数自动微分

AutoDiff-group3的Python项目详细描述


Build Status

Coverage Status

自动差异

开发人员:威尔•克莱博、布鲁斯•熊、艾琳•威廉姆斯
第3组,CS207 2018年秋季

简介

autodiff查找函数的导数(以达到机器精度!)同时它找到函数的值。

import autodiff.autodiff as ad

x = ad.DualNumber('x', 2)
y = ad.DualNumber('y', 3)

out = x/y
out.value # 0.66666, the value of 2 divided by 3
out.derivatives #{x: 1/3, y: -2/(3**2)}, the gradient of x/y at (2,3)

autodiff适用于具有任意数量输入的函数和表达式。只需将这些函数传递给dualnumbers而不是常规的int/float(并将任何数学模块函数升级为它们的autodiff等价函数)

安装

autodiff位于PyPi上,可以使用命令pip install AutoDiff-group3安装。要导入,请使用import autodiff.autodiff as ad

也可以通过从github下载来安装autodiff。因为它没有依赖关系,所以您可以简单地将repo文件夹添加到python路径(import sys sys.path.insert(0, '/path_to_repo/'))中,然后正常导入。

示例

使用autodiff非常简单:

import autodiff.autodiff as ad

def f(a,b):
    return 3*a/b*ad.sin(a*b+2)

out = f(ad.DualNumber('x',2),ad.DualNumber('y',3))

print(out.value)
1.978716

print(out.derivatives['x'])
0.116358

print(out.derivatives['y'])
-1.24157

# get the value and derifative of f at a different point
out = f(ad.DualNumber('x',0),ad.DualNumber('y',1))

python 3笔记本包含了更深入的示例和用法,HERE

文档

单击HERE获取完整文档。

依赖关系

单击HERE获取依赖项的完整列表。

许可证

单击HERE查看我们的麻省理工学院许可证。

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

推荐PyPI第三方库


热门话题
java无法使用JSF访问托管bean方法   java是制作具有多值类型的HashMap的正确方法   javafx中TicTacToe的java更新UI   windows Java文件。getCanonicalFile()无法处理冒号“:”   java在一个布局屏幕中创建多个(26)按钮   java Android Studio:Gradle构建完成,有251个错误   我们如何在Java上为callfireapiclient编写单元/集成测试?   java无法将1715UTC转换为本地/gmt类型   具有已定义的数字序列的JAVA循环   Java程序正在netbeans中编译,但未在CMD中编译,包不存在   java Android构造函数和onCreate()之间有什么区别?   java配置弹性搜索结果评分   java LibGDX纹理是否可绘制?   java如何在Android中设置应用程序默认打开pdf   java是否有一种创造性的方法将多个参数传递给contentEquals()方法?   java在Android上存储Ed25519私钥