Python中的惰性数组编程
lapp的Python项目详细描述
Lappy是Sophia Lin的lazyray的分支,它支持除算术之外的更多操作。在
在Lappy中,所有可计算的内容都被视为一个数组对象(与numpy不同,它不提供单独的标量类型)。 数组对象有六个基本组件:形状、数据类型、表达式、值、形式参数列表和环境(捕获列表)。 标量是一种特殊的数组,其形状为空元组。 如果dtype是integer类型,则可能存在与整数集(对于标量)或map(对于非标量)表示的数组元素相关联的假设。在
文件
有关最新文档,请访问https://xiaoyu-wei.com/docs/lappy/。在
状态
以下是今天使用lappy可以实现的功能列表:
- 在✅ 算术与标量数学(提升标量函数/泛函数)
- 在✅ 轴重新排序/转置
- 在✅ 重塑
- 在✅ 广播(半动态)
范围
路线图
- 在✅ 扫描和折叠
- 在✅ 张量收缩,如np.einsum(包括点积和矩阵乘法)
- 在✅ 切片(静态和动态)
- 在✅ 花式索引(静态和动态)
- 在✅ 与Numpy的调度机制集成,如__array__和__array_ufunc__
- 在✅ 一些线性代数,如svd,qr,lstsq
反功能
- ❌ 另一个类似APL的阵列。lappy不是IR,也不打算成为IR。
- 它是构建参数化数组表达式以进行延迟求值的工具, 并努力提供numpy兼容的API。
Lappy根据MIT license获得许可,并免费用于商业、学术, 以及私人使用。在
- 项目
标签: