def transform_to_identity(a): a = ge.transform_to_row_echleon(a) n = a.shape[0] for i in xrange(1, n): print i for j in xrange(0, i): factor = a[j][i] / a[i][i] for k in xrange(0, n + 1): a[j][k] -= factor * a[i][k] a = ge.row_scaling(a, False) return a
def transform_to_identity(a): a = ge.transform_to_row_echleon(a) n = a.shape[0] for i in xrange(1,n): print i for j in xrange(0,i): factor = a[j][i]/a[i][i] for k in xrange(0,n+1): a[j][k] -= factor*a[i][k] a = ge.row_scaling(a, False) return a
def solve(a,b): (l,u) = ge.transform_to_row_echleon(a, True) print 'Lower triangular matrix:\n', l print 'Upper triangular matrix:\n', u y = forward_substitution(l,b) print 'On forward substitution:\n', y s = ge.backward_substitution(mo.augmented_matrix(u,y)) print 'On backward substitution:\n', s # test # A = array([[4,1],[1,3]], dtype='float') # B = mo.transpose(array([1,2])) # solve(A,B) # A = array([[2,3,-1],[4,4,-3],[-2,1,-1]]) # B = mo.transpose(array([5,3,-3])) # solve(A,B)
def solve(a, b): (l, u) = ge.transform_to_row_echleon(a, True) print 'Lower triangular matrix:\n', l print 'Upper triangular matrix:\n', u y = forward_substitution(l, b) print 'On forward substitution:\n', y s = ge.backward_substitution(mo.augmented_matrix(u, y)) print 'On backward substitution:\n', s # test # A = array([[4,1],[1,3]], dtype='float') # B = mo.transpose(array([1,2])) # solve(A,B) # A = array([[2,3,-1],[4,4,-3],[-2,1,-1]]) # B = mo.transpose(array([5,3,-3])) # solve(A,B)