цикл по строкам матрицы в мудреце - PullRequest
1 голос
/ 12 декабря 2011

Я пытаюсь запрограммировать процесс Грэма-Шмидта в sage и не могу понять, как циклически проходить по строкам массива.

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;

1 Ответ

4 голосов
/ 12 декабря 2011

Ты делаешь вещи слишком сложными. Если W не является разреженной матрицей, вы можете просто сделать

for row in W:

Так как вам также нужен индекс строки, вы можете использовать встроенный в Python enumerate:

for i, row in enumerate(W):

или (хуже)

for i in xrange(len(W.shape[0])):
...