2
行列A
の特異値分解を使用します。転置numpy配列の初期化
可能ならば私が書くでしょう:
V, S, W.T = np.linalg.svd(A)
しかし、私は転置その持つ配列を初期化することはできません。 は今、私は2つの質問がある:
は、私の知る限りは、Pythonの内部を理解するように、この問題に対する明確な回避策はありません。
W
の属性/メソッドの呼び出しでは、インスタンスを初期化する必要があるためです。@property
属性のようなものがコンストラクタとして必要です。明白な回避策がない場合は、次のいずれかのオプションが優れている/より慣れています。
オプション1:
V, S, tmp = np.linalg.svd(A)
W = tmp.T
オプション2:
V, S, W = np.empty(...), np.empty(...), np.empty(...)
V[:, :], S[:, :], W.T[:, :] = np.linalg.svd(A)
おそらく2つのオプションをタイムアウトさせることができます。 – Gribouillis