テキトーな行列を作る

ふと数百×数百の行列を掃き出してみたくなったので作ってみた。各要素は1〜9の整数をランダムに入れることにした。少数とか使うと見づらくてしょうがない。

import random

def main():
	f = open('matrix.txt', 'w')
	n = 100    #n行n+1列の行列を作る
	for i in range(n):
		for j in range(n + 1):    #スペースを入れるか改行を入れるかで場合分けする
			if j != n:
				f.write('%d ' % random.randint(1, 9))
			else:
				f.write('%d\n' % random.randint(1, 9))
	f.close()

if __name__ == '__main__':
	main()

これでmatrix.txtが出力される。いちばん右の列には各行の式の解が入っているので出力される行列はn行n+1列になる。
掃き出し法のプログラムでピボットの処理をちゃんとやっておかないと、生成された行列によっては掃き出し中に

ZeroDivisionError

がでる。