for 文を使って書かれると,何をやっているのか,一目で分からない
以下のプログラム,何やっているかすぐ分かる?scale は何になる?
scale = 0.0
for t in range(n_dim):
for i in range(n_row):
if scale < abs(y[t][i]):
scale = abs(y[t][i])
for j in range(n_col):
if scale < abs(x[t][j]):
scale = abs(x[t][j])
以下と同じ
mx = max(abs(np.ravel(x)))
my = max(abs(np.ravel(y)))
scale = max(mx, my)
一行で書いてもいいけど
scale = max(abs(np.hstack((np.ravel(x), np.ravel(y)))))
つまりね,x, y の絶対値をとったものの最大値
scale = max(np.amax(abs(x)), np.amax(abs(y)))
と書いても同じ。(max と np.amax とが使われていて,Python のいやらしさが出ているけど)