个人看来,张量编程最直接的方法是以一维矢量为核心,用位置指标编程来实现张量运算,而以reshape辅助打印。
例:给定若干组数,各组取出一个求和,将所有的和放到一个张量中。
简单起见,一共就两组数 x=[2,3], y=[5,7,11]。各抽取一个数出来求和将形成一个矩阵。答案是
7 | 9 | 13 |
8 | 10 | 14 |
下面我们写三种程序并作比较。
Python STL List写法
List是Python基础语言的一个主要数据结构。它是一个容器,数学上对应着序列的概念。
好处是处于语言的基础层,兼容性强,扩展性强,编写简易。
坏处是速度比较慢,不太适合高性能计算。
"""
Displaying 2D rectangular table wherein the cells are
evaluated results of a function on the margins.
"""
#list version
#delcare left margin of length 2
x = [2,
3]
#declare top margin of lenght 3
y = [5,7,11]
#create the index skeleton of the result grid
gridi