開発環境
- 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 コメント:
コメントを投稿