Pythonで拡大行列を構築する実現方法


面倒臭い

# TODO       ,  A,b    
def augmentMatrix(A, b):
  if(len(A) != len(b)):
    raise 'The number of rows is different'
  result = []
  for i in range(len(A)):
    row = []
    for j in range(len(A[i])):
      row.append(A[i][j])
    for j in range(len(b[i])):
      row.append(b[i][j])
    result.append(row)    
  return result
最適化後

# TODO       ,  A,b    
def augmentMatrix(A, b):
  return [AA + bb for AA, bb in zip(A,b)]
 
A = [[1,2,3],[4,5,6],[7,8,9]]
b = [[1],[2],[3]]
print augmentMatrix(A,b)
[[1, 2, 3, 1], [4, 5, 6, 2], [7, 8, 9, 3]]
注:AA+bbを解読します。pythonでは、[1,2,3]+[4]という表現は[1,2,3,4]に戻ります。
以上のPythonで拡大行列を構築する実現方法は、小編集が皆さんに提供したすべての内容です。参考にしていただければと思います。よろしくお願いします。