2017年2月27日月曜日

開発環境

行列プログラマー(Philip N. Klein (著)、 松田 晃一 (翻訳)、 弓林 司 (翻訳)、 脇本 佑紀 (翻訳)、 中田 洋 (翻訳)、 齋藤 大吾 (翻訳)、オライリージャパン)の1章(ベクトル)、2.5(スカラーとベクトルの積)、2.4.1(平行移動とスカラーとベクトルの積)、クイズ 2.5.3、課題 2.5.4を取り組んでみる。

、クイズ 2.5.3、課題 2.5.4

コード(Emacs)

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import unittest
from plotting import plot
# 2.5.2


def scalar_vector_mult(alpha, v):
    return [alpha * x for x in v]


class Test(unittest.TestCase):

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def test_3_1(self):
        self.assertEqual(scalar_vector_mult(10, []), [])

    def test_3_2(self):
        self.assertEqual(scalar_vector_mult(10, [5]), [50])

    def test_3_3(self):
        self.assertEqual(scalar_vector_mult(10, [1, 2, 3, 4, 5]),
                         [10, 20, 30, 40, 50])

if __name__ == '__main__':
    l = [1, 2]
    v1 = scalar_vector_mult(0.5, l)
    v2 = scalar_vector_mult(-0.5, v1)
    plot([l, v1, v2])
    input()
    unittest.main()

入出力結果(Terminal, IPython)

$ ./sample5_3.py -v
q
test_3_1 (__main__.Test) ... ok
test_3_2 (__main__.Test) ... ok
test_3_3 (__main__.Test) ... ok

----------------------------------------------------------------------
Ran 3 tests in 0.000s

OK
$

0 コメント:

コメントを投稿