#编译时 #优化 #ndarray #numpy #路径 #约定 #求和

einsum

A Rust实现用于ndarraycrate的numpy的爱因斯坦求和约定,具有编译时路径优化

1个不稳定版本

0.1.0 2018年12月11日

#1714 in 数学

ISC许可

4KB

ndarray的宏Einsum

设置

安装pythonopt_einsum包。

使用方法

语法类似于numpy。对于每个输入参数,使用(expr).(axes)。然后使用粗箭头=>,对于输出轴使用.(axes)和分号;。分号之后,您需要按照轴的顺序传递每个轴的维度,以便宏在编译时优化路径。请参阅下面的示例

示例

let y: Array<f64, _> = einsum!(a.mi, b.nj, c.ijpl, d.op, e.ql => .mnoq; i 2, j 2, l 10, m 40, n 40, o 8, p 7, q 6);

依赖关系

~4–5.5MB
~102K SLoC