计算具有给定形状的数组,其中包含 x = complex(0, 1) 的幂
Computing an array with a given shape containing powers of x = complex(0, 1)
我正在尝试创建一个包含
的 9 行数组(形状 = (9,))
x 的幂 = 复数 (0, 1): 1, x, x**2, ..., x**8.
我不知道是否有人知道 x = complex(0, 1) 的语句幂是什么意思,以及您认为这个级数是如何计算的。
谢谢
如果我理解正确,你可以使用:
out = complex(0,1)**np.arange(9)
输出:
array([ 1.+0.j, 0.+1.j, -1.+0.j, -0.-1.j, 1.+0.j, 0.+1.j, -1.+0.j,
-0.-1.j, 1.+0.j])
如果 9 行 你宁愿指的是 (9,1) 的形状,请改用:
out = complex(0,1)**np.arange(9)[:,None]
输出:
array([[ 1.+0.j],
[ 0.+1.j],
[-1.+0.j],
[-0.-1.j],
[ 1.+0.j],
[ 0.+1.j],
[-1.+0.j],
[-0.-1.j],
[ 1.+0.j]])
解释:
np.arange(9)
正在创建数组 array([0, 1, 2, 3, 4, 5, 6, 7, 8])
,x**powers
的向量化正在为 powers
[= 的每个 power
计算 x**power
21=]
x = complex(0, 1)
# 0 + 1j
powers = np.arange(9)
# array([0, 1, 2, 3, 4, 5, 6, 7, 8])
x**powers
# array([ 1.+0.j, 1
# 0.+1.j, x
# -1.+0.j, x**2
# -0.-1.j, x**3
# 1.+0.j,
# 0.+1.j,
# -1.+0.j,
# -0.-1.j,
# 1.+0.j, x**8
# ])
我正在尝试创建一个包含
的 9 行数组(形状 = (9,))x 的幂 = 复数 (0, 1): 1, x, x**2, ..., x**8.
我不知道是否有人知道 x = complex(0, 1) 的语句幂是什么意思,以及您认为这个级数是如何计算的。
谢谢
如果我理解正确,你可以使用:
out = complex(0,1)**np.arange(9)
输出:
array([ 1.+0.j, 0.+1.j, -1.+0.j, -0.-1.j, 1.+0.j, 0.+1.j, -1.+0.j,
-0.-1.j, 1.+0.j])
如果 9 行 你宁愿指的是 (9,1) 的形状,请改用:
out = complex(0,1)**np.arange(9)[:,None]
输出:
array([[ 1.+0.j],
[ 0.+1.j],
[-1.+0.j],
[-0.-1.j],
[ 1.+0.j],
[ 0.+1.j],
[-1.+0.j],
[-0.-1.j],
[ 1.+0.j]])
解释:
np.arange(9)
正在创建数组 array([0, 1, 2, 3, 4, 5, 6, 7, 8])
,x**powers
的向量化正在为 powers
[= 的每个 power
计算 x**power
21=]
x = complex(0, 1)
# 0 + 1j
powers = np.arange(9)
# array([0, 1, 2, 3, 4, 5, 6, 7, 8])
x**powers
# array([ 1.+0.j, 1
# 0.+1.j, x
# -1.+0.j, x**2
# -0.-1.j, x**3
# 1.+0.j,
# 0.+1.j,
# -1.+0.j,
# -0.-1.j,
# 1.+0.j, x**8
# ])