算子离散化库
odl的Python项目详细描述
运算符离散化库(odl)是一个用于快速原型设计的python库,主要关注(但不限于)反问题。odl正在KTH Royal Institute of Technology, Stockholm和Centrum Wiskunde & Informatica (CWI), Amsterdam开发。
odl的主要目的是使数学家和应用科学家能够对实际问题使用不同的数值方法,而不必自下而上地实现所有必要的部分。 这可以通过封装所有应用程序特定部分的运算符结构以及通常需要运算符、数据和附加参数的高级解算器公式来实现。 这种方法的主要优点是
- 用同样的方法(如tv正则化)可以通过简单地切换算子和数据来解决不同的问题。
- 同一个问题可以用不同的方法解决,只需调用不同的求解器。
- 解算器和特定于应用程序的代码只需要在一个地方编写一次,并且可以单独测试。
- 添加新的应用程序或解决方案方法变得容易得多。
功能
- 基于numpy(默认)或cuda(可选)的高效且经过良好测试的数据容器
- 对象来表示数学概念,如向量空间和运算符,包括数学期望的属性(内积、范数、运算符组合等)
- 为满足已知数学规则的算符、组合符、算符矩阵等算符提供方便的功能。
- 对常用运算符的开箱即用支持,如缩放、偏导数、梯度、傅里叶变换等。
- 一个多功能和可插拔的优化程序库,用于平滑和非平滑问题,如cgls、bfgs、chambolle pock和douglas rachford spliting。
- 支持断层成像,具有统一的几何表示,并绑定到外部库,以高效计算投影和后投影。
- 根据相应数学对象的预期行为验证实现的标准化测试,例如,如果用户定义的范数满足多个输入向量x和y的范数(x+y)<;=范数(x)+范数(y)。