python中的julia样式数组
julialg的Python项目详细描述
julialg
python中的julia样式数组
Python库,用于模仿Julia LinearAlgebra数组索引样式和显示格式。
动机和总结
julia的LinearAlgebra
包有一些很好的特性,其中一些特性在python中更容易仿真。什么时候?
比较python代码和julia代码的结果,在精神上必须在
python和julia的1索引特性。另外,julia数组有一个更漂亮的数组。
这个包将numpy n维数组包装在一个新类JulArray
中,并允许1索引的切片(在数学上更直观)
而不是0索引切片(计算机科学惯例)。也提高了
以类似于Julia的LinearAlgebra包的方式排列。为了清楚起见,这是一个python包,旨在
Julia的python设置张量界面的优雅
标引< /H2>
JulArray
类包装一个numpy.ndarray
,但重写getitem语法以允许使用1索引样式,而不是
默认的0索引样式。例如:
>>>importnumpy,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].arrayarray([1,2])
注意在上面的示例中,JulArray
能够将int和切片从1索引表示法转换为
生成相同基础numpy数组的0索引表示法。
显示
JulArray
重写numpy数组的默认表示,使其格式更为清晰(如julia数组)。
>>>julialg.JulArray(numpy.arange(1.0,11.0).reshape((2,5)))2x5Array{float64,2}1.00006.00002.00007.00003.00008.00004.00009.00005.000010.0000