学習環境
- Surface 3 (4G LTE)、Surface 3 タイプ カバー、Surface ペン(端末)
- Windows 10 Pro (OS)
- 数式入力ソフト(TeX, MathML): MathType
- MathML対応ブラウザ: Firefox、Safari
- MathML非対応ブラウザ(Internet Explorer, Microsoft Edge, Google Chrome...)用JavaScript Library: MathJax
- 参考書籍
集合論入門(基礎数学シリーズ)(松村 英之(著)、朝倉書店)の1.(集合算)、1.4(補集合、差集合、ド・モルガンの法則)の練習問題3.を取り組んでみる。
コード(Emacs)
Python 3
#!/usr/bin/env python3 # -*- coding: utf-8 -*- from matplotlib_venn import venn3_unweighted import matplotlib.pyplot as plt from sympy import pprint, FiniteSet X = FiniteSet(*range(10)) A = FiniteSet(*range(5)) B = FiniteSet(*range(1, 6)) C = FiniteSet(*range(2, 7)) for X in [X, A, B, C]: pprint(X) for X0, X1 in [(A | (B & C), (A | B) & (A | C)), (A & (B | C), (A & B) | (A & C))]: for t in [X0, X1, X0 == X1]: pprint(t) print() venn3_unweighted(subsets=(A, B, C)) plt.savefig('sample3.svg')
入出力結果(Terminal, Jupyter(IPython))
$ ./sample3.py {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} {0, 1, 2, 3, 4} {1, 2, 3, 4, 5} {2, 3, 4, 5, 6} {0, 1, 2, 3, 4, 5} {0, 1, 2, 3, 4, 5} True {1, 2, 3, 4} {1, 2, 3, 4} True $
0 コメント:
コメントを投稿