1次元量子ウォークを実装する為に、まず環境づくり。
以下のx_listを(-5<=x<=5)つくりました。
python
1[array([[0, 0]]), array([[0, 0]]), array([[0, 0]]), array([[0, 0]]), array([[0, 0]]), array([[1, 0]]), array([[0, 0]]), array([[0, 0]]), array([[0, 0]]), array([[0, 0]]), array([[0, 0]])]
次に時間発展を考えるため、
python
1#初期条件 2t=0 3x0 = x_list[5] #t=0で原点の値(python上では5番目の配列)=[1 0] 4 5for t in range(0,10): 6 for x in range(-5,6): 7 if x == 0: #左端のときの式 8 x_list[0] = ((np.dot(P, x_list[1].T)).T 9 if x == 10: #右端のときの式 10 x_list[10] = (np.dot(Q, x_list[9].T)).T 11 else: #それ以外の式(*この式がメインです!) 12 x_list[x] = ((np.dot(P, x_list[x+1].T)+ np.dot(Q, x_list[x-1].T)).T 13 return x_list 14print(x_list)
として、計算を進めていきたいのですが、
if x==10:
のとき
python
1if x == 10: 2 ^ 3SyntaxError: invalid syntax
とでてしまい、なぜダメかじっくり考えてもわかりませんでした。
for文内のifやprintの位置をいろいろ変えたりしたのですが、それが問題ではないようです。
ご指導のほど、よろしくお願いします。
回答5件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。