開発環境
- macOS Sierra - Apple (OS)
- Emacs (Text Editor)
- Python 3.6 (プログラミング言語)
行列プログラマー(Philip N. Klein (著)、 松田 晃一 (翻訳)、 弓林 司 (翻訳)、 脇本 佑紀 (翻訳)、 中田 洋 (翻訳)、 齋藤 大吾 (翻訳)、オライリージャパン)の4章(行列)、4.1(行列とは何か?)、4.1.1(伝統的な行列)、列のリストのリストによる伝統的な行列の表現、クイズ4.1.2を取り組んでみる。
クイズ4.1.2
コード(Emacs)
#!/usr/bin/env python3 # -*- coding: utf-8 -*- import unittest import sympy import numpy as np import pprint class Test(unittest.TestCase): def setUp(self): pass def tearDown(self): pass def test(self): m = [[i - j for i in range(3)] for j in range(4)] self.assertEqual(m, [[0, 1, 2], [-1, 0, 1], [-2, -1, 0], [-3, -2, -1]]) m = [[i - j for i in range(3)] for j in range(4)] sympy.pprint(sympy.Matrix(m)) print(np.array(m)) pprint.pprint(np.array(m)) sympy.pprint(sympy.Matrix(m).transpose()) print(np.array(m).transpose()) pprint.pprint(np.array(m).transpose()) if __name__ == '__main__': unittest.main()
入出力結果(Terminal, IPython)
$ ./sample2.py -v ⎡0 1 2 ⎤ ⎢ ⎥ ⎢-1 0 1 ⎥ ⎢ ⎥ ⎢-2 -1 0 ⎥ ⎢ ⎥ ⎣-3 -2 -1⎦ [[ 0 1 2] [-1 0 1] [-2 -1 0] [-3 -2 -1]] array([[ 0, 1, 2], [-1, 0, 1], [-2, -1, 0], [-3, -2, -1]]) ⎡0 -1 -2 -3⎤ ⎢ ⎥ ⎢1 0 -1 -2⎥ ⎢ ⎥ ⎣2 1 0 -1⎦ [[ 0 -1 -2 -3] [ 1 0 -1 -2] [ 2 1 0 -1]] array([[ 0, -1, -2, -3], [ 1, 0, -1, -2], [ 2, 1, 0, -1]]) test (__main__.Test) ... ok ---------------------------------------------------------------------- Ran 1 test in 0.000s OK $
0 コメント:
コメントを投稿