2019年3月7日木曜日

読書環境

学習環境

現代数学序説 (ちくま学芸文庫) (松坂 和夫(著)、筑摩書房)の目次まで読んだ感想。そして第1章(集合・論理・写像)、1(集合)、1.1(集合と元)の問1の解答を求めてみる。

よくある現代数学の集合、位相、代数系、線形代数(線型代数)の基礎の本かなと思っていたけどそうではなかった。目次までを読んだ限りだと、まず、位相空間、線型代数についての話は無いみたいだった。そして、序説とあるように、集合と位相の基礎の本というよりは、もう少し先の組合せ論や諸島数論が中心みたい。もちろん、それにも集合や代数の知識は必要だから基礎についての記述も詳しくあるみたい。

ということで、集合論、代数の基礎を幅広くしっかり学ぶというよりは、それによりどのようなことが分かっていくのか、どのように活用するのかを知るのに良さそうな印象。あくまで目次までを見た限りでは。

コード

Python 3

#!/usr/bin/env python3
import unittest
import matplotlib.pyplot as plt
from matplotlib_venn import venn3_unweighted
from sympy import pprint, FiniteSet


class Sample1Test(unittest.TestCase):
    def setUp(self):
        self.s = {1, 2, 4, 7, 8, 11, 13, 14, 16, 17, 19, 22, 23, 26, 28, 29, 31,
                  32, 34, 37, 38, 41, 43, 44, 46, 47, 49, 52, 53, 56, 58, 59,
                  61, 62, 64, 67, 68, 71, 73, 74, 76, 77, 79, 82, 83, 86, 88,
                  89, 91, 92, 94, 97, 98, 101, 103, 104, 106, 107, 109, 112,
                  113, 116, 118, 119, 121, 122, 124, 127, 128, 131, 133, 134,
                  136, 137, 139, 142, 143, 146, 148, 149, 151, 152, 154, 157,
                  158, 161, 163, 164, 166, 167, 169, 172, 173, 176, 178, 179,
                  181, 182, 184, 187, 188, 191, 193, 194, 196, 197, 199}

    def tearDown(self):
        pass

    def test_1(self):
        x = FiniteSet(*[i for i in range(1, 201)])
        a = FiniteSet(*[i for i in range(1, 201) if i % 3 != 0])
        b = FiniteSet(*[i for i in range(1, 201) if i % 5 != 0])
        venn3_unweighted(subsets=(x, a, b))
        plt.savefig('sample1.png')
        self.assertEqual(
            self.s, {n for n in range(1, 201) if n % 3 != 0 and n % 5 != 0})

    def test_2(self):
        self.assertEqual(len(self.s), 107)


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

入出力結果(cmd(コマンドプロンプト)、Terminal、Jupyter(IPython))

C:\Users\...>py -3 sample1.py
test_1 (__main__.Sample1Test) ... ok
test_2 (__main__.Sample1Test) ... ok

----------------------------------------------------------------------
Ran 2 tests in 7.224s

OK

C:\Users\...>

0 コメント:

コメントを投稿