1

sage で Graham-Schmidt プロセスをプログラムしようとしていますが、配列の行をループする方法がわかりません。

def graham_schmidt(W):
    a=0
    U=W 
    for i in W.dims()[0]:# this is the not working part
        print w
        a=a+1
        for j in xrange(0,-2):
            a=a+1
            U[i]=U[i]-(transpose(U[j])*w)/(transpose(U[j])*U[j])*U[j]
    return a;
4

1 に答える 1

5

あなたは物事をあまりにも複雑にしている。がスパース行列でない場合Wは、次のことができます。

for row in W:

行インデックスも必要なので、Pythonの組み込みを使用できますenumerate

for i, row in enumerate(W):

または(醜い)

for i in xrange(len(W.shape[0])):
于 2011-12-12T15:45:48.690 に答える