跳转到主要内容

Python中的Julia风格数组

项目描述

julialg

Python中的Julia风格数组

Python库,用于模仿Julia LinearAlgebra数组索引风格和显示格式。

测试结果: CircleCI

动机和摘要

Julia的LinearAlgebra包有一些很好的功能,其中一些在Python中更容易模仿。当比较Python代码与Julia代码的结果时,需要在Python的0索引和Julia的1索引之间进行心理切换,这很烦人。此外,Julia的数组看起来更漂亮。

此包将numpy n维数组包装在一个新的类JulArray中,并允许使用1索引切片(更符合数学直觉)而不是默认的0索引切片(计算机科学惯例)。还改善了数组表示的美丽,类似于Julia的LinearAlgebra包。明确地说,这是一个Python包,旨在将Julia接口中张量的某些优雅之处引入Python环境。

索引

JulArray类包装了一个numpy.ndarray,但覆盖了getitem语法以允许使用1索引风格而不是默认的0索引风格。例如

>>> import numpy, julialg

# Create a numpy array
>>> a = numpy.arange(1, 11).reshape((2, 5))

# Create a JulArray from the numpy array
>>> j = julialg.JulArray(a)

# Index the numpy array using 0-indexed syntax
>>> a[0, 0:2]
array([1, 2])

# Index the JulArray using 1-indexed syntax
>>> j[1, 1:3].array
array([1, 2])

注意在上面的示例中,JulArray能够将int和从1索引表示法到0索引表示法的切片转换为相同的底层numpy数组。

显示

JulArray覆盖了numpy数组的默认表示,以使其格式更干净(类似于Julia数组)。

>>> julialg.JulArray(numpy.arange(1.0, 11.0).reshape((2, 5)))
2x5 Array{float64,2}
  1.0000     6.0000
  2.0000     7.0000
  3.0000     8.0000
  4.0000     9.0000
  5.0000    10.0000

项目详情


发布历史 发布通知 | RSS源

下载文件

下载适用于您平台上的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分发

julialg-0.1.0.tar.gz (3.8 kB 查看散列值)

上传于 源代码

构建分发

julialg-0.1.0-py3-none-any.whl (4.6 kB 查看散列值)

上传于 Python 3

由以下支持