Грам-Шмидт модифицированный питон 3

Я довольно новичок в программировании на языке Python 3. Я пытаюсь написать код для модифицированной Грамма-Шмидта декомпозиции QR. Я успешно написал код, используя numpy, но сейчас пытаюсь написать новый код без использования numpy. Любая помощь будет большой благодарностью. мой кодовый код ниже.

import numpy as np
def gram_schmidt(A):
""" Representation of Gram-Schmidt Process or QR Diagonalization 
    for an mxn system of linear equations. """

m = np.shape(A)[0]
n = np.shape(A)[1]

Q =  np.zeros((m, m))
R =  np.zeros((n, n)) 

for j in xrange(n):

    v = A[:,j]

    for i in xrange(j):

        R[i,j] = Q[:,i].T * A[:,j]

        v = v.squeeze() - (R[i,j] * Q[:,i])

    R[j,j] =  np.linalg.norm(v)
    Q[:,j] = (v / R[j,j]).squeeze()

return Q, R

0 ответов

Другие вопросы по тегам