循环遍历 sage 中矩阵的行

发布于 2024-12-20 22:16:57 字数 343 浏览 1 评论 0原文

我正在尝试在 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;

I am trying to program a Graham-Schmidt process in sage and cannot figure out how to loop through the rows of an array.

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;

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

歌枕肩 2024-12-27 22:16:57

你把事情搞得太复杂了。如果 W 不是稀疏矩阵,你可以这样做

for row in W:

因为你还需要行索引,所以你可以使用 Python 的内置 enumerate

for i, row in enumerate(W):

或(丑陋)

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

You're making things far too complicated. If W is not a sparse matrix, you can just do

for row in W:

Since you also need the row index, you can use Python's built-in enumerate:

for i, row in enumerate(W):

or (uglier)

for i in xrange(len(W.shape[0])):
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文