这个代码执行出来为什么没有shape这个属性,应该如何改善,代码如下: def psif(t,args): G = args['G'] F = args['F'] T = args['T'] s = ((1 -F(t/T)) * (tensor(basis(2, 0), basis(2, 0),basis(Nmax, 0)) + G(t/T)* (tensor(basis(2, 1), basis(2, 0), basis(Nmax, 1)) - tensor(basis(2, 0), basis(2, 1), basis(Nmax, 1)))).unit() return s
时间: 2024-01-24 09:03:59 浏览: 125
这段代码没有shape属性是因为它返回的是一个量子态向量,而不是一个Numpy数组。如果你想查看这个向量的shape,可以将它转化为Numpy数组,代码如下:
```
import numpy as np
def psif(t,args):
G = args['G']
F = args['F']
T = args['T']
s = ((1 -F(t/T)) * (tensor(basis(2, 0), basis(2, 0),basis(Nmax, 0))
+ G(t/T)* (tensor(basis(2, 1), basis(2, 0), basis(Nmax, 1))
- tensor(basis(2, 0), basis(2, 1), basis(Nmax, 1)))).unit()
return np.array(s)
s = psif(t, args)
print(s.shape)
```
这样就能输出量子态向量的shape了。
阅读全文