学習環境
- Surface 3 (4G LTE)、Surface 3 タイプ カバー、Surface ペン(端末)
- Windows 10 Pro (OS)
- 数式入力ソフト(TeX, MathML): MathType
- MathML対応ブラウザ: Firefox、Safari
- MathML非対応ブラウザ(Internet Explorer, Google Chrome...)用JavaScript Library: MathJax
集合・位相入門(松坂 和夫(著)、岩波書店)の第1章(集合と写像)、2(集合の間の演算)、問題4.を取り組んでみる。
問題4.
コード(Emacs)
python 3.5
#!/usr/bin/env python3 # -*- coding: utf-8 -*- from matplotlib_venn import venn3_unweighted import matplotlib.pyplot as plt import sympy a = sympy.FiniteSet(*range(15)) b = sympy.FiniteSet(*range(5, 20)) c = sympy.FiniteSet(*range(10, 25)) print('a') print(a - (b | c) == (a - b) & (a - c)) print('b') print(a - (b & c) == (a - b) | (a - c)) print('c') print((a | b) - c == (a - c) | (b - c)) print('d') print((a & b) - c == (a - c) & (b - c)) print('e') print(a & (b - c) == (a & b) - (a & c)) plt.figure(figsize=(6, 6)) venn3_unweighted(subsets=(a, b, c), set_labels=('A', 'B', 'C')) plt.savefig('sample4.svg') plt.show()
入出力結果(Terminal, IPython)
$ ./sample4.py a True b True c True d True e True $
0 コメント:
コメントを投稿