Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def cut(A, b, c, x, nat_ind, art_ind, jb):
- m, n = A.shape
- items = set(list(jb)) & set(art_ind)
- if items:
- n_i = items.pop()
- m_i = m - (n - n_i)
- for ind in xrange(m_i+1, m):
- coef = A[ind, n_i]
- A[ind] -= coef*A[m_i]
- b[ind] -= coef*b[m_i]
- A = np.delete(np.delete(A, m_i, 0), n_i, 1)
- b = np.delete(b, [m_i])
- jb = np.delete(jb, np.where(jb == n_i)[0])
- change_items = np.where(jb > n_i)[0]
- jb[change_items] -= 1
- c = c[:-1]
- art_ind = range(len(nat_ind), n-1)
- n -= 1
- m -= 1
- x = np.delete(x, [n_i])
- return A, b, c, x, art_ind, jb, n, m
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement