2017年6月4日日曜日

開発環境

行列プログラマー(Philip N. Klein (著)、 松田 晃一 (翻訳)、 弓林 司 (翻訳)、 脇本 佑紀 (翻訳)、 中田 洋 (翻訳)、 齋藤 大吾 (翻訳)、オライリージャパン)の4章(行列)、4.1(行列とは何か?)、4.1.1(伝統的な行列)、行のリストのリストによる伝統的な行列の表現、クイズ4.1.1を取り組んでみる。

クイズ4.1.1

コード(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 = [[0 for _ in range(4)]
             for _ in range(3)]
        self.assertEqual(m, [[0, 0, 0, 0],
                             [0, 0, 0, 0],
                             [0, 0, 0, 0]])

m = [[0 for _ in range(4)]
     for _ in range(3)]

sympy.pprint(sympy.Matrix(m))

print(np.array(m))
pprint.pprint(np.array(m))

if __name__ == '__main__':
    unittest.main()

入出力結果(Terminal, IPython)

$ ./sample1.py
⎡0  0  0  0⎤
⎢          ⎥
⎢0  0  0  0⎥
⎢          ⎥
⎣0  0  0  0⎦
[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
array([[0, 0, 0, 0],
       [0, 0, 0, 0],
       [0, 0, 0, 0]])
.
----------------------------------------------------------------------
Ran 1 test in 0.000s

OK
$

0 コメント:

コメントを投稿